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.
1.7.2. Implementation¶
- 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.