1. Operating System Services
1.1. User interface
1.2. Program execution
1.3. I/O operations
1.4. File-system manipulation
1.5. Communication
1.5.1. The purpose of system call is to be used by application program to invoke a function provided by OS.
1.6. Error detection
2. System Calls
2.1. System calls provide the interface between a running program and the operating system.
2.1.1. Generally available assembly-language instruction.
2.2. Three general methods are used to pass parameters between a running program and the operating system.
2.2.1. Pass the parameter in register.
2.2.2. Parameters stored in a block, or table, in memory, and address of block passed as a parameter in a register.
2.2.3. Parameters placed, or pushed, onto the stack by the program and popped of the stack by the operating system.
3. Types of system Calls
3.1. Process control
3.1.1. Create process, terminate process
3.2. File management
3.2.1. Create file, delete file
3.3. Device management
3.3.1. Request device, release file
3.4. Information maintenance
3.4.1. Set time and date
3.5. Protection
3.5.1. set permission
4. Communication Models
4.1. Communication may take place using either message passing or shared memory.
4.1.1. Massage passing- In massage passing model, communication take place by means of massage exchanged between the processes.
4.1.2. Shared memory - In shared memory model, a region of memory that is shared by processes can exchange in formation by reading and writing data to the shared region.
5. Layered Approach
5.1. In layered approach, the operating system is divided into a number of layered, each built on top of lower layers.The bottom layer (layer 0), is the hardware; the highest (layer N) is the the user interface.
5.2. With modularity, layers are selected such that each users functions and services of only lower-level layers.
5.3. Advantage
5.3.1. Simplicity of construction and debugging
5.4. Disadvantages
5.4.1. The careful definition and interaction of the layers
5.4.2. Less efficient.
6. Microkernel
6.1. The main function of Mircokernel is provide communication facility between user program and various services.
6.2. Small Operating system core
6.3. Device drivers
6.4. File system
6.5. Virtual memory manager
6.6. Windowing system
6.7. Securuty services
6.8. Contains only essential core operating system functions.
7. Benefits of Microkernel Organization
7.1. Extensibility
7.2. Flexibility
7.3. Reliability
7.4. Portability
8. Operating System Design
8.1. Design and implementation of OS not "solvable", but some approaches have proven successful.
8.2. Start by defining goal and specifications
8.3. Batch
8.4. Time shared
8.5. single user
8.6. multiuser
8.7. distributed
8.8. real time
9. Operating System Design Goals
9.1. User goals
9.1.1. Operating system should be convenient to use, easy to learn, reliable,safe and fast.
9.2. System goals
9.2.1. Operating system should be easy to Design, implement, and maintain, as well as flexible, reliable, error-free, and efficient