This preview shows page 1. Sign up to view the full content.
Unformatted text preview: s of program misbehaviour, so a disciplined approach must be applied. Access to hardware facilities often involves a lot of low-level bit manipulation, and rather than require each process to do this independently, the details are usually handled centrally by the operating system. Processes can then access input/ output functions at a higher level through system calls. The ARM architecture incorporates features specifically to support all these aspects of the operating system. 290 An introduction to operating systems 291 11.1 An introduction to operating systems
The role of an operating system is to present a uniform and clean interface between the underlying hardware resources of the machine and the application programs that run on it. The most sophisticated operating systems are those that provide facilities for multiple general-purpose programs run by several different users at the same time. Multi-user systems It is very inconvenient if a multi-user system requires each program to make allowances for the presence of other programs in the same machine, since the number and type of concurrent programs is unknown and will vary from one run to the next. Therefore a multi-user operating system presents each program with a complete virtual machine in which to operate. Each program can be written as though it is the only program running at the time; the only noticeable effect of the presence of other programs is that the program typically takes longer to run. Although several programs may be present in the machine at one time, the processor has only one set of registers (we are not concerned with multi-processor systems here), so only one program is executing at any particular time. The apparent concurrency is achieved by time-slicing, which means that each program takes a turn in the processor. Since the processor operates at very high speeds by human standards, the effect is that over a period of, say, a second each program will have had several goes in the processor so all programs make some progress. The operating system is responsible for scheduling (deciding which program runs when), and it may give each program an equal share of the CPU time or it may use priorit...
View Full Document
This document was uploaded on 10/30/2011 for the course CSE 378 380 at SUNY Buffalo.
- Spring '09