This preview shows page 1. Sign up to view the full content.
Unformatted text preview: rogram to assume system privileges, it should merely be extremely unlikely that this will happen inadvertently. However, desktop machines that appear to belong to one user are increasingly being connected to computer networks that allow other users to run programs on them Single-user systems The ARM system control coprocessor 293 remotely. Such machines should clearly be viewed as multi-user and incorporate appropriate levels of protection. Embedded systems An embedded system is quite different from the single- and multi-user general-purpose system discussed above. It typically runs a fixed set of programs and has no mechanism for introducing new programs. Presumably, then, the problem of the malicious user has been removed. The operating system continues to play a similar role, giving each active program a clean virtual machine in which to run, providing protection for one program from errors in another and scheduling the use of CPU time. Many embedded systems operate within real-time constraints which must be allowed to determine scheduling priorities. Cost issues also preclude the use of the operating systems that are popular on general-purpose machines, since these tend to demand large memory resources. This has led to the development of the real-time operating system (RTOS) which provides the scheduling and hardware interface facilities required by an embedded system using just a few kilobytes of memory. Smaller embedded systems may not even be able to bear this cost, or they may have such simple scheduling requirements (for example, one fixed program that runs all the time) that they do not need an 'operating system' at all. Here a simple 'monitor' program suffices, providing a few system functions such as sanitized interfaces to input/ output functions. Such systems almost certainly dispense with the memory management hardware and use the processor's logical address to access memory directly. If an embedded system includes a cache memory some mechanism is required to define which areas of memory are cacheab...
View Full Document
- Spring '09