Types of Operating Systems Depending on the application, one can choose between two types of OSs. One is RTOS, or real time operating systems like VxWorks or uITRON.
These essentially consist of a real time kernel which provides memory management, scheduling and interrupt handling. Protocol stacks, GUIs and other middleware and applications are usually not a part of these OSs. Typical applications include low end phones and mission critical applications in defence and aerospace.
The other type is a High Level OS, which has features resembling desktop computers. These may or may not have a real time kernel, but usually include protocol stacks, middleware, rich GUI, and many applications. They provide elaborate memory management (virtual memory), scheduling, multitasking and interrupt handling. They are used in feature rich phones and other hand held devices.
Examples include Microsoft Windows CE/Windows Mobile, Symbian, Embedded Linux, etc.
Components of an Operating System Broadly speaking, a high level OS as described above has five components. These are the boot loader, Board Support Package or BSP, device drivers, middleware, and finally the UI and applications. It's important to know the function of these components before you can do OS porting.
Boot Loader This is a piece of software that resides on the non volatile or persistent memory of a computer system, which is responsible for loading the main OS. The need for a boot loader comes from the fact that non volatile memory such as ROM is limited in size and the entire OS run-time image cannot fit into it.
Also, the computer hardware alone (without software) cannot handle complex file-systems and peripherals such as those on hard-disks and flash memories. So, in a typical system, after a power-on or a reset, the CPU starts executing the boot loader code residing in the ROM. The boot loader contains code to initialize peripherals of the CPU to a minimal extent – just enough to obtain the OS run-time image from a peripheral device to the main memory (RAM) and transfer the control to the OS start code.
The boot loader can obtain the OS Image from a local storage device such as a hard disk, compact flash card or download it via a serial connection, Ethernet connection or an USB interface. The boot loader may have to uncompress the OS Image in case it is stored in compressed form.
Modern boot loaders, such as UBOOT (used mostly for Linux) and EBOOT (used for Windows CE) contain a host of other features such as supports multiple CPUs (ARM, PPC, MIPS, X86), Execute from Flash (NOR Flash), File download from serial, Ethernet, USB etc. Some OS terminology may include boot loader as a part of the Board Support Package (BSP).
Get most out of your technology infrastructure investments with Dell
About CIOL | Media Kit | Site Map | Contact Us | Help | Write to us | Jobs@CyberMedia | Privacy Policy
Copyright © CyberMedia India Online Ltd. All rights reserved. Usage of content from web site is subject to Terms and Conditions.