Embedded Operating Systems

Introduction


Functions of an O/S

An O/S is required when the complexity of functions to be done gets too high for one-off programming


Typical O/S

MSDOS
MSDOS was the precursor of Windows. Is is designed for the 8086, an unprotected mode processor with 1M address space. MSDOS will run in only 64k. It is a primitive O/S, but is used very heavily for embedded applications which don't have complicated or heavy requirements. It is used in about 15% of embedded systems in 2001
Windows 3.1
This was an application layer on top of MSDOS that added task switching to MSDOS. It has no use for embedded systems
Windows NT, Windows 2000, Windows XP
These are all protected mode O/S built on good O/S principles. In their standard form they are not suitable for embedded systems because
Linux
This is a protected mode O/S built on good O/S principles. It uses a standard API, defined by POSIX. In its standard form it is not suitable for embedded systems because Linux was used in about 12% of embedded systems in 2001

Dedicated Realtime/Embedded O/S


Typical O/S sizes

Source: wwwl.linuxdevices.com "LynuxWorks responds to Microsoft attack on Embedded Linux"


Scheduling algorithms


Making non-realtime into realtime


O/S boot sequence

When a system starts up, the hardware goes through an initialisation phase and then jumps to a fixed address to start the O/S. On a PC-like system for Linux, this is

For an embedded system, the init process can perform something appropriate for that system - e.g. starting motors, rather than logging someone in


References



Jan Newmarch <jan@newmarch.name>
Last modified: Sun Mar 2 09:59:08 EST 2003
Copyright © Jan Newmarch, Monash University, 2007
Creative Commons License This work is licensed under a Creative Commons License
The moral right of Jan Newmarch to be identified as the author of this page has been asserted.