This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux VS BIOS?

Anonymous
Anonymous

Hi All,

That being said, SYS/BIOS (DSP/BIOS) is a highly modularized system and have been optimized to meet real-time requirements.

For ARM processors:

  1. SYS/BIOS extended DSP/BIOS functionality to ARM
  2. Linux is also known as a modularized system, and it is full-fledged, having been developed probably for more years than BIOS (Is this true? I know that TI has been making DSP chips for decades).

When SYS/BIOS and Linux, both modularized, both usable on ARM chips, meet together, who is faster? In terms of real-time performance, who will be the winner? Will BIOS turns out faster since it is written by TI who design the chip, whereas Linux is only ported from PC to ARM chips and the support is not as "native" as BIOS?

 

 

Sincerely,

Zheng

 

 

 

  • Zheng,

    I would classify Linux as being an "embedded OS" and SYS/BIOS as being a "real time OS".  Linux provides much more in the way of system services such as networking and file system, but the cost of this is a greater use of resources, such as memory and CPU cycles.  A good summary of the challenges that Linux has compared to a  traditional RTOS was written in the Linux Gazette on this question:

    1. Unpredictable scheduling - depends on system load;

    2. Coarse timer resolution;

    3. Non-preemptible kernel;

    4. Disabling of interrupts used for coarse-grained synchronization;

    5. Use of virtual memory;

    6. Reordering of requests for efficiency (e.g. for disk I/O).

    7. Moreover, Linux processes are heavyweight processes, and it can take several hundred microseconds to finish a context switch, and thus make it impossible to schedule a task to poll a sensor every 100 microseconds.

    8.  Another disadvantage of Linux is that it uses process-based model instead of thread model and signals tend to get lost during the execution of processes.


    Many of these challenges can and have been dealt with in various ways by embedded developers; however, this is still a good list of what you may face when trying to use Linux within a "hard real time" environment.  The reason that SYS/BIOS is now being offered on the ARM core is that there are a number of TI customers for whom Linux is simply too heavy of a solution for what they need.


  • Zheng,

    SYS/BIOS is not a full-fledged operating system, but would definitely be faster than Linux.  SYS/BIOS is designed from the ground up to be as responsive as possible to real-time events, and have as little latency as possible, whereas with Linux, real-time capabilities are an afterthought.

    A typcial TI system would have both the ARM and DSP processor, with the ARM running Linux and the DSP running SYS/BIOS.  Linux applications would handle data I/O and would control a DSP executable to which it gives and receives data buffers for number crunching by the DSP.

    SYS/BIOS is the follow-on to DSP/BIOS.  Surprisingly, DSP/BIOS has been around longer than Linux, having been developed since the mid-90s, and SYS/BIOS retains the underlying design of DSP/BIOS.

    You can run SYS/BIOS on certain ARM processors, but your decision to use Linux (or not) would be driven by things other than performance benchmarks - application portability, support for non-TI hardware, device driver support, etc.

    Regards,

    - Rob

  • Anonymous
    0 Anonymous in reply to David Friedland

    Dear David,

    Many thanks for these comparisons, they resolved lots of my questions.

     

    Zheng

  • Anonymous
    0 Anonymous in reply to Robert Tivy

    Dear Robert,

    Many thanks for the answer, especially for fact on the historical development of BIOS.

     

    Zheng