Computer System Structure
by Kelvin Tan

1. asynchronous I/O structure
1.1. control returns to user program without I/O completion
1.2. system call
1.3. device-status table
1.4. mutiple I/O request allow
2. storage structure
2.1. CPU directly access to main memory(volatile)
2.2. secondary storage(non-volatile),hold large quantities of data permanently
3. storage hierachy
3.1. speed
3.2. cost
3.3. volatility
3.4. caching(copying information into faster storage)
4. I/O protection
4.1. all I/Oi instructions=privileged instructions
4.2. user program executes system call to perform I/O
4.3. ensure user program can never get control of monitor mode
5. memory protection
5.1. provide protection for interrupt vector & interrupt service rountine
5.2. base register(holds smallest legal physical memory address)
5.3. limit register(holds size of the range is protected)
6. CPU protection
6.1. timer
6.1.1. interrupts computer after specified period
6.2. controls transfer to OS
6.3. load-timer is a privileged instructions
7. Computer-system Operation
7.1. general computer system
7.2. device controller & CPUs
7.3. local buffer
7.4. execute concurrently
7.5. causing interrupt
8. Interrupt handling
8.1. transfer execution to fixed location
8.2. starting address of interrupt service rountine
8.3. interrupt table provides address
8.4. separate segments of code determines action
8.5. preserve state of cpu
8.6. saved return address is loaded into PC
9. Dual mode operation
9.1. user mode
9.1.1. user program executes
9.1.2. certain memory protected from user access
9.1.3. certain instruction maybe not execute
9.2. kernel mode(privileged mode,monitor mode,system mode)
9.2.1. monitor executes
9.2.2. privileged instructions executable
9.2.3. protected areas of memory able to access