1. Symmetric Multiprocessing (SMP)
1.1. refers to a computer hardware architecture and also to the OS behavior that exploits that architecture
1.2. Several processes can run in parallel
1.3. Multiple processors are transparent to the user
1.3.1. processors share same main memory and I/O facilities
1.3.2. all processors can perform the same functions
2. Asymmetric Multiprocessing (SMP)
2.1. Each processor is assigned a specific task
2.2. More common in extremely large systems
3. Distributed Systems
3.1. Distribute the computation among several physical processors.
3.2. Loosely coupled system
3.2.1. each processor has its own local memory; processors communicate with one another through various communications lines, such as high-speed buses or telephone lines.
3.3. Advantages
3.3.1. Resources Sharing
3.3.2. Computation speed up
3.3.2.1. load sharing
3.3.3. Reliability
3.3.4. Communications requires networking infrastructure.
4. Real-Time Systems
4.1. operating system, and in particular the scheduler, is perhaps the most important component
4.2. Examples
4.2.1. control of laboratory experiments
4.2.2. air traffic control
4.2.3. process control in industrial plants
5. Hard and Soft Real-Time Tasks
5.1. Hard real-time task
5.1.1. one that must meet its deadline
5.2. Soft real-time task
5.2.1. has an associated deadline that is desirable but not mandatory
6. Real Time Systems
6.1. five general areas
6.1.1. Determinism
6.1.2. Responsiveness
6.1.3. User control
6.1.4. Reliability
6.1.5. Fail-soft operation
7. Determinism
7.1. Concerned with how long an operating system delays before acknowledging an interrupt
7.2. Operations are performed at fixed, predetermined times or within predetermined time intervals
8. Responsiveness
8.1. Together with determinism make up the response time to external events
8.2. Concerned with how long, after acknowledgment, it takes an operating system to service the interrupt
9. User Control
9.1. Generally much broader in a real-time operating system than in ordinary operating systems
9.2. It is essential to allow the user fine-grained control over task priority
9.3. User should be able to distinguish between hard and soft tasks and to specify relative priorities within each class
10. Reliability
10.1. More important for real-time systems than non-real time systems
11. Fail-Soft Operation
11.1. characteristic that refers to the ability of a system to fail in such a way as to preserve as much capability and data as possible
12. Main Objective
12.1. Convenience
12.1.1. makes a computer more convenient to use
12.2. Efficiency
12.2.1. allows the computer system resources to be used in an efficient manner
12.3. Ability to evolve
12.3.1. should be constructed in such a way as to permit the effective development , testing , and introduction of new system functions without interfering with service
13. Evolution of OS
13.1. Evolve over time for a number of reasons
13.1.1. hardware upgrades
13.1.2. new types of hardware
13.1.3. new services
13.1.4. Fixes
13.2. Stages include
13.2.1. Serial Processing
13.2.2. Simple Batch Systems
13.2.3. Multiprogrammed Batch Systems
13.2.4. Time Sharing Systems
14. Serial Processing
14.1. Earliest Computers
14.1.1. No operating system
14.1.2. Users have access to the computer in “series”
14.2. Problems
14.2.1. Scheduling
14.2.2. Setup time
15. Simple Batch Systems
15.1. Early computers were very expensive
15.1.1. important to maximize processor utilization
15.2. Monitor
15.2.1. user no longer has direct access to processor
15.2.2. program branches back to the monitor when finished
16. Point of View
16.1. Monitor
16.1.1. controls the sequence of events
16.1.2. Resident Monitor is software always in memory
16.1.3. reads in job and gives control
16.1.4. Job returns control to monitor
16.2. Processor
16.2.1. executes instruction from the memory containing the monitor
16.2.2. Executes the instructions in the user program until it encounters an ending or error condition
16.2.3. control is passed to a job
16.2.3.1. processor is fetching and executing instructions in a user program
16.2.4. control is returned to the monitor
16.2.4.1. processor Is fetching and executing instructions from the monitor program
17. Simple Batch System Overhead
17.1. Processor time alternates between execution of user programs and execution of the monitor
17.2. Sacrifices
17.2.1. some main memory is now given over to the monitor
17.2.2. some processor time is consumed by the monitor
17.3. Despite overhead, the simple batch system improves utilization of the computer
18. Time-Sharing Systems
18.1. Can be used to handle multiple interactive jobs
18.2. Processor time is shared among multiple users
19. Parallel Systems
19.1. Multiprocessor systems with more than one CPU in close communication.
19.2. Tightly coupled system
19.2.1. processors share memory and a clock; communication usually takes place through the shared memory.
19.3. Advantages
19.3.1. Increased throughput
19.3.2. Economical
19.3.3. Increased reliability