1. System Calls
1.1. Interface between a running program and the operating system
1.2. TYPE
1.2.1. Process Control
1.2.2. File Management
1.2.3. Device Management
1.2.4. Information Maintance
1.2.5. Communcations
1.2.6. Protection
1.3. THREE general method to pass parameters between running program and the operating system
1.3.1. Pass the parameters in registers
1.3.2. Parameters stored in a block, or table,in memory and address or block passe as a parameter in a register
1.3.3. Parameters placed or pushed onto the stack by the program and poppped off the stack by the operating system
2. Operating System Services
2.1. User interface
2.2. Program Execution
2.3. I/O Operation
2.4. File-system Manipulation
2.5. Communications
2.6. Error detection
3. Microkernel
3.1. Small operating system core
3.2. Contains only essential core operating systems functions
3.3. External Subsystems
3.3.1. Device drivers
3.3.2. File system
3.3.3. Virtual memory manager
3.3.4. Windowing system
3.3.5. Security Services
3.4. Benefits
3.4.1. Extensibility
3.4.2. Fiexibility
3.4.3. Reliability
3.4.4. Portability
4. Operating System Design Goal
4.1. User Goal
4.1.1. Operating system should be convenient to use , easy to learn , reliable , safe and fast
4.2. System Goal
4.2.1. Operating system should be easy to design , implement and maintain , as well as flexible , reliable , error-free and efficient
5. Addition Operating System Function
5.1. Resource allcation
5.2. Protection and Security
5.3. Accounting
6. Layered Approach
6.1. Divided into a number of layers
6.1.1. Highest layers user interface
6.1.2. Lowest layers user hardware
6.2. Advantages
6.2.1. Simplicity of construction and debugging
6.3. Disadvantages
6.3.1. The careful definition and interaction of the layers
6.3.2. Less efficient
7. Operating System Design
7.1. Sort by defining goals and specification
7.2. Affect by
7.2.1. Batch
7.2.2. Choice or Hardware
7.2.3. Type of system
7.2.4. time shared
7.2.5. Multiuser
7.2.6. Distributed
7.2.7. Real time