1. Asynchronous I/O Structure
1.1. After I/O starts, control returns to user program without waiting for I/O completion.
1.1.1. System call
1.1.2. Device-status table
1.1.3. determine device status and to modify table entry to include interrupt.
2. Storage Structure
2.1. Main memory
2.1.1. only large storage media that the CPU can access directly.
2.1.2. volatile storage device
2.1.3. loses its contents when power is turned off.
2.2. Secondary storage
2.2.1. nonvolatile storage capacity
2.2.2. hold large quantities of data permanently
3. Storage Device Hierarchy
4. Modes of Operation
4.1. User Mode
4.1.1. user program executes in user mode
4.1.2. certain areas of memory are protected from user access
4.1.3. certain instructions may not be executed
4.2. Kernel Mode
4.2.1. monitor executes in kernel mode
4.2.2. privileged instructions may be executed
4.2.3. protected areas of memory may be accessed
5. Dual-Mode Operation
5.1. Mode bit is added to computer hardware to indicate the current mode: kernel (0) or user (1
5.2. When an interrupt or fault occurs, hardware switches to kernel mode.
5.2.1. the software has complete control of the processor and all instruction, registers and memory
5.3. Privileged instructions can be issued only in monitor mode
6. I/O Protection
6.1. User program must executes a system call to request that the operating system to perform I/O.
7. Use of A System Call to Perform I/O
8. Memory Protection
8.1. protection at least for the interrupt vector and the interrupt service routines.
8.2. two registers are used to determine the range of legal addresses a program may access:
8.2.1. Base register – holds the smallest legal physical memory addres
8.2.2. Limit register – contains the size of the range
9. Hardware Address Protection
10. CPU Protection
10.1. Timer – interrupts computer after specified period to ensure operating system maintains control over CPU
10.1.1. Every time the clock ticks, the counter is decremented
10.1.2. When timer reaches the value 0, an interrupt occurs.
10.2. control transfers to the operating system.
10.3. Load-timer is a privileged instruction
11. Computer System Architecture
12. Computer-System Operation
12.1. Computer system consists of one or more CPUs and a number of device controllers.
12.2. A Each device controller is in charge of a specific type of device
12.2.1. Has local Buffer
12.2.2. Iinforms CPU that it has finished its operation by causing an interrupt
13. Interrupt Handling
13.1. When the CPU is interrupted, it stops what it is doing and immediately transfers execution to a fixed location.
13.1.1. The fixed location contains the starting address of the interrupt service routine
13.2. Interrupt vector provide the address of the interrupt service routine
13.3. storing registers and the program counter.
14. Synchronous I/O Structure
14.1. Wait instruction idles the CPU until the next interrupt
14.2. Wait loop
14.3. no simultaneous I/O processing.
15. Two I/O Methods
16. Storage Hierarchy
16.1. Storage systems organized in hierarchy.
16.1.1. Speed
16.1.2. Cost
16.1.3. Volatility
16.2. Caching
16.2.1. copying information into faster storage system
16.2.2. main memory
16.2.2.1. last cache for secondary storage
17. Caching
17.1. Migration of A From Disk to Register
18. Dual-Mode Operation
18.1. distinguish between the execution of operating system code and userdefined code.
18.2. Provide hardware support to differentiate between at least two modes of operations.
19. Use of A Base and Limit Register
20. Hardware Address Protection
20.1. When executing in kernel mode, the operating system has unrestricted access to both monitor and user’s memory
20.1.1. Operating system is allowed to load users’ programs into users’ memory
20.1.1.1. access
20.1.1.2. modify parameters of system calls.