System Size Working Group

From eLinux.org
Revision as of 00:56, 15 November 2008 by FransMeulenbroeks (Talk | contribs)

Jump to: navigation, search

@) Preliminary Draft @) under construction %)

Table of Contents:


Introduction

Overview of "CE Linux"

 Ten years ago, most of the people would have been laughing if someone
 intended to use Linux in the embedded applications.Five years ago,few
 people start thinking to use Linux for some of non-pc applications. 
 Now there is no surprize to hear that Linux is used in actual embedded
 application - in fact, there are several actual products in the field. 
 You may wonder what makes such difference. The followings are the reason
 that I can think of. 
    1. CE products require pc-like feature
     It is said that we are about to enter in new world with new life
     style. "Ubiquitous" is the word frequently used to show such concept.
     Although the word of "Ubiquitous" is still too abstract, everyone
     shall agree that digital CE products - such as digital camera,
     PVR, DVD-R - are part of our life. From software development point of
     view, it is quite natural that software developer assume same or
     simular environment with pc shall be available for such products.
     If such environment is NOT available, software developers have to 
     spend long time which impacts to product launch timing and cost badly.
     Linux provide rich, convenient and always up-to-date software development
     environment.
    1. Semiconductor technology
     By challenging and taking advanced silicon design rule, the price of
     memory(RAM) has been going down dramatically and constantly. Similarly,
     embedded processor speed is going up while the price has been going 
     down. Current $10 embedded processor performs 10+ times faster than
     the one used in PC 10 years ago. Even if Linux is still big and slow
     compared to other RTOS, the disadvantage is becoming small relatively.


 Ten years later, people may be laughing if they hear that I wrote sentences
 to explain about "why Linux in Embedded Application".
 

Overview of Linux Size Issue

 Having said that Linux has been used in some of the actual products, Linux has
 issues that can not be accepted by some of the products. Size is one of such issues.
 The hardware configuration between CE products and PCs are very different. The following
 example shall give you quick overview of the difference.
- CE Product ex1 CE Product ex2 Enterprize
- Set Top Box(STB) Celluler Phone Desktop PC
CPU(frequency) MIPS(30MHz) ARM(50MHz) Pentium(2,200MHz)
RAM size 32Mbyte 8Mbyte 128+Mbyte
Flash/ROM 16Mbyte 4Mbyte -
Strage HDD 15Gbyte none HDD 30+Gbyte
 It is said that new type of CE(Consumer Electronics) applications with
 pc-like feature will change our life dramatically. Those type of 
 applications are so called as "digital consumer product(appliance)" or 
 "Ubiquitous CE product". 


Charter of SZWG

 The System Size Working Group shall work to minimize the memory required
 to operate a Linux system. The Working Group shall establish requirements,
 recommended technical solutions and may define the appropriate feature 
 for consumer electronics devices.

Scope

 WG shall discuss the following items, in order to achieve the
 goal of minimize the memory usage.
  1. Benchmarking
        1. Re-clarification of the Linux size issue by analysis and benchmarking with other OS
        2. Capture high-level image of the issue. Make clarificaiton and characterize which software component- driver, kernel,middleware or application - makes Linux system fatty.
  1. XIP(execute-in-place)
        1. Summary of advantage and disadvantage of XIP
        2. Discussion on further improvement
        3. Discussion on the workaround of disadvantate
        4. WG shall establish requirement and recommended soluiton.
  1. Compressed File System
        1. Summary of advantage and disadvantage of compress file
        2. WG shall make comparison between XIP and Compressed File System and make summary, in different configurations.
        3. WG shall establish requirement and recommended soluiton.
  1. Configurability
        1. Configurable feature -- System Modularity
        2. WG shall establish requirement and recommended solution.
  1. Subset Feature
        1. Subset of library
        2. Subset of middleware -- e.g. window system
        3. WG shall establish requirement and/or may define the spec.
  1. Tool Chain improvement
        1. compiler -- further optimizaiton
        2. linker -- function level strip out, post link optimizaiton
        3. memory usage profiling
        4. WG shall establish requirement and recommended solution.
  1. Other method
        1. Any other approach to achieve this charter.

Scope of this document

Definition of words

  • AG
      • Architecture Group / This group is positioned under the SC. Founders, appinted members and associated are the member. The mission of the group are;
            • Help SC to strategize the technical direction of CELF
            • Make plan and process ,to improve the CELF property, such as kernel, tools , middleware and so on
            • Dispatch technical WG to address specific item
  • CELF
      • Consumer Linux Forum
  • CELF Source Tree
      • Linux kernel soruce tree maintained by CELF
  • XIP
      • eXecution In Place / Typically, at the boot time, the code is copied from ROM to RAM and the code in RAM is actually executed. XIP is the technique to execute the code in ROM.
  • WG
      • Working Group / AG shall establish technical WG to address specific topics. Each WG shall work on to fix/improve the issue. As of February 2004, there are following WGs;
          • SZWG / System Size Working Group - A WG to address Linux System Size Issue
          • BTWG / Bootup Time Working Group - A WG to address Linux Boot up time Issue
          • RTWG / Real Time Wokring Group - A WG to address Linux Realtime response Issue
          • PMWG / Power Management Wrouking Group - A WG to address Power Management Issue
          • AVGWG / Audio Video & Graphics Working Group - A WG to address Audio & Graphics Issue
          • SECWG / Security Wroking Group - A WG to address Security Isse

Clarification of Linux Size Issue

Profiling of CE products

Benchmarking with other hi-end RTOS

Environment for this report

TI/Omap Platform(Reference Platform)

Overview

       following picture is not real -- just space holder
File:Omap.jpg   Media:Omap.jpg

     Brief introduction of TI/Omap board

Hardware Specification

 *CPU
              • OMAP5910/OMAP1510
 *Memory
              • 32MB SDRAM
              • 32MB Flash
 *User IF
              • LCD/Touch Screen/CCFL front light
              • 4-wire touch screen controller
              • Dual RS232 port
              • Voice connectors,
              • Stereo amplifier and dual speakers
              • Power and up/down select buttons
              • USB host an client
              • Two serial ports
  *Other
              • SD/MMC expansion slot
              • JTAG accessible
  User's Manual 

Software Specification

  *Kernel
              • CELF 2003/10/30
  *compiler
              • gnu
  *User Land

KMC/SH4 Platform(Case Study)

Overview

Hardware Specification

Software Specification

Renesas/SH4 Platform(case study

Overview

Hardware Specification

Software Specification

Legacy Embedded Linux Boot

Summary

Actual Size Data

The following table is just space holder

 File:Table.jpg

Advantage

Disadvantage

Room for the improvement / Requirement

Compressed Linux Boot

Summary

Actual Size Data

The following table is just space holder

 File:Table.jpg

Advantage

Disadvantage

Room for the improvement / Requirement

Kernel XIP

Summary

Actual Size Data

The following table is just space holder

 File:Table.jpg

Advantage

Disadvantage

Room for the improvement / Requirement

Kernel & Apps XIP

Summary

Actual Size Data

The following table is just space holder

 File:Table.jpg

Advantage

Disadvantage

Room for the improvement / Requirement
{"cc_re__cc_re__cc_by_sa_3_0": ["his revision of the page\">Permanent link</a></li>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<li id=\"t-info\"><a href=\"/index.php?title=System_Size_Working_Group&amp;action=info\" title=\"More information about this page\">Page information</a></li>\n\t\t\t\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t</div>\n\t\t</div>\n\t\t\t\t</div>\n\t\t</div>\n\t\t<div id=\"footer\" role=\"contentinfo\">\n\t\t\t\t\t\t\t<ul id=\"footer-info\">\n\t\t\t\t\t\t\t\t\t\t\t<li id=\"footer-info-viewcount\">This page has been accessed 5,917 times.</li>\n\t\t\t\t\t\t\t\t\t\t\t<li id=\"footer-info-copyright\">Content is available under <a class=\"external\" rel=\"nofollow\" href=\"http://creativecommons.org/licenses/by-sa/3.0/\">a Creative Commons Attribution-ShareAlike 3.0 Unported License</a> unless otherwise noted.</li>\n\t\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t<ul id=\"footer-places\">\n\t\t\t\t\t\t\t\t\t\t\t<li id=\"footer-places-privacy\"><a href=\"/eLinux.org:Privacy_policy\" title=\"eLinux.org:Privacy policy\">Privacy policy</a></li>\n\t\t\t\t\t\t\t\t\t\t\t<li id=\"footer-places-about\"><a href=\"/eLinux.org:About\" title=\"eLinux.org:About\">About eLinux.org</a></li>\n\t\t\t\t\t\t\t\t\t\t\t<li id=\"footer-places-disclaimer\"><a href=\"/eLinux.org:General_disclaimer\" title=\"eLinux.or", "oter-places-privacy\"><a href=\"/eLinux.org:Privacy_policy\" title=\"eLinux.org:Privacy policy\">Privacy policy</a></li>\n\t\t\t\t\t\t\t\t\t\t\t<li id=\"footer-places-about\"><a href=\"/eLinux.org:About\" title=\"eLinux.org:About\">About eLinux.org</a></li>\n\t\t\t\t\t\t\t\t\t\t\t<li id=\"footer-places-disclaimer\"><a href=\"/eLinux.org:General_disclaimer\" title=\"eLinux.org:General disclaimer\">Disclaimers</a></li>\n\t\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t\t\t\t<ul id=\"footer-icons\" class=\"noprint\">\n\t\t\t\t\t\t\t\t\t\t\t<li id=\"footer-copyrightico\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http://creativecommons.org/licenses/by-sa/3.0/\"><img src=\"http://i.creativecommons.org/l/by-sa/3.0/88x31.png\" alt=\"a Creative Commons Attribution-ShareAlike 3.0 Unported License\" width=\"88\" height=\"31\" /></a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t\t\t<li id=\"footer-poweredbyico\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"//www.mediawiki.org/\"><img src=\"/resources/assets/poweredby_mediawiki_88x31.png\" alt=\"Powered by MediaWiki\" srcset=\"/resources/assets/poweredby_mediawiki_132x47.png 1.5x, /resources/assets/poweredby_mediawiki_176x62.png 2x\" width=\"88\" height=\"31\" /></a>\n\t"], "copyright__copyright__copyright": ["", "essed Linux Boot\n\nSummary\n\nActual Size Data\n\nThe following table is just space holder\n\n File:Table.jpg\n\nAdvantage\n\nDisadvantage\n\nRoom for the improvement / Requirement\n\nKernel XIP\n\nSummary\n\nActual Size Data\n\nThe following table is just space holder\n\n File:Table.jpg\n\nAdvantage\n\nDisadvantage\n\nRoom for the improvement / Requirement\n\nKernel & Apps XIP\n\nSummary\n\nActual Size Data\n\nThe following table is just space holder\n\n File:Table.jpg\n\nAdvantage\n\nDisadvantage\n\nRoom for the improvement / Requirement", "essed Linux Boot\n\nSummary\n\nActual Size Data\n\nThe following table is just space holder\n\n File:Table.jpg\n\nAdvantage\n\nDisadvantage\n\nRoom for the improvement / Requirement\n\nKernel XIP\n\nSummary\n\nActual Size Data\n\nThe following table is just space holder\n\n File:Table.jpg\n\nAdvantage\n\nDisadvantage\n\nRoom for the improvement / Requirement\n\nKernel & Apps XIP\n\nSummary\n\nActual Size Data\n\nThe following table is just space holder\n\n File:Table.jpg\n\nAdvantage\n\nDisadvantage\n\nRoom for the improvement / Requirement"]}