1.7. Operating-System Design and Implementation¶
1.7.1. Design Goals¶
At the highest level, system design is dominated by the choice of hardware and system type.
Beyond this level, the requirements can be divided into two groups: user goals, and system goals.
- User goals include convenience, reliability, security, and speed.
- System goals include ease of design, implementation, maintenance, flexibility, and efficiency.
- At first, operating systems were written in assembly, but now a days C/C++ is the language commonly used
- Small blocks of assembly code are still needed, especially related to some low level I/O functions in device drivers, turning interrupts on and off and the Test and Set Instruction for Synchronization Facilities.
- Using higher level languages allows the code to be written faster. It also makes the OS much easier to port to different hardware platforms.