Design and Implementation of an OS
Start the design by defining goals and specifications
Affected by choice of hardware, type of system
User goals and System goals
- User goals – operating system should be convenient to use, easy to learn, reliable, safe, and fast
- System goals – operating system should be easy to design, implement, and maintain, as well as flexible, reliable, error-free, and efficient
Policy and Mechanism
Policy - what needs to be done? (print('hello'))
Mechanism - how it is done? (print())
IT A GOOD IDEA TO SEPARATE THE TWO
Implementation
- Early OS's were made in Assembly
- Then in Algol and then PL/1
- When made with higher level languages it is easier to port over to other hardware
What are OS made with:
- Early OS's made in assembly language
- Then system programming languages like Algol, PL/1
- Now C, C++