1. Parameter passing via table
2. Benefits of a Microkernel Organization
2.1. Extensibility o Allows the addition of new services
2.2. Flexibility o New features added o Existing features can be subtracted
2.3. Reliability o Modular design o Small microkernel can be rigorously tested
2.4. Portability o Changes needed to port the system to a new processor is changed in the microkernel - not in the other services
3. Microkernel vs. Layered Kernel
4. Microkernel
4.1. small operating system core
4.2. contain only essential core operating system function
4.3. Many services traditionally included in the operating system are now external subsystems
4.3.1. Device drivers
4.3.2. File systems
4.3.3. Virtual memory manager
4.3.4. Windowing system
4.3.5. Security servicesSecurity services
5. Layered Approach
5.1. In layered approach, the Os is divided into a number of layers, each built on top of lower layers.
5.2. Advantage
5.2.1. Simplicity of construction and debugging
5.3. Disadvantage
5.3.1. The careful definition and interaction of the layers
5.3.2. Less efficient
5.4. Layered Operating System
6. Communication Models
6.1. Message passing
6.1.1. In message passing model, communication takes place by means of messages exchanged between the processes.
6.2. Shared memory
6.2.1. In shared memory model, a region of memory that is shared by processor can exchange information by reading and writing data to the shared region.
7. System Calls
7.1. provide the interface between a running program and the operating system
7.1.1. 1. pass the parameter in registers
7.1.2. 2. parameters stored in a block, or table, in memory, and address of block passed as a parameter in a register
7.1.3. 3. parameters placed, or pushed, onto the stack by the program and popped off the stack by the operating system
8. Additional Operating System Functions
8.1. to ensure efficiency system operations
8.1.1. Resource allocation
8.1.2. Accounting
8.1.3. Protection and security
9. Operating System Services
9.1. User interface
9.2. Program execution
9.3. I/O operations
9.4. File-system manipulation
9.5. Communications
9.6. Error detection
10. Operating System Design Goals
10.1. User goals – operating system should be convenient to use, easy to learn, reliable, safe, and fast.
10.2. System goals – operating system should be easy to design, implement, and maintain, as well as flexible.
11. Operating System DesignOperating System Design
11.1. Design and Implementation of OS not “solvable”, but some approaches have proven successful.
11.2. Start by defining goals and specifications
11.3. The design of the system will be affected by the choice of hardware and the type of system: batch, time shared, single user, multiuser, distributed, real time or general purpose.
12. Types of System Calls
12.1. Process control
12.1.1. create/terminate process
12.2. File management
12.2.1. create/delete file
12.3. Device management
12.3.1. request device
12.4. Information maintenance
12.4.1. set time and date
12.5. Communications
12.5.1. create/delete communication connection
12.6. Protection
12.6.1. set permission