1. Objective
1.1. 1. Convenience 2. Efficiency 3. Ability to evolve
2. What is OS?
2.1. A program that controls the execution of application programs
3. Parallel System
3.1. multiprocessor system with more than one CPU in close communication
3.2. Tightly coupled system - processor share memory and a clock(take place through shared memory
3.3. advantages
3.3.1. increase throughput
3.3.2. economical
3.3.3. increased reliability
3.3.3.1. graceful degradation
3.3.3.2. fail-soft system
4. Symmetric Multiprocessing(SMP)
4.1. computer hardware architecture
4.2. OS behaviors that exploits that architecture
4.3. process run in parallel
4.4. transparent to user
4.4.1. share same main memory and I/O facilities
4.4.2. perform the same functions
4.5. takes care of scheduling of threads or processes on individual processor and synchronize it
5. Asymmetric Multiprocessing(SMP)
5.1. assigned a specific task
5.1.1. master processor schedules and allocates work to slave processors
5.1.2. slave processor look to the master processor for instruction
5.2. more common in extremely large systems
6. Distributed Systems
6.1. distribute the computation among several physical processor
6.2. loosely coupled system
6.2.1. each processor has its own local memory
6.2.2. communicates through various communication lines
6.2.3. high-speed buses or telephone lines
6.2.4. advantages
6.2.4.1. resource sharing
6.2.4.2. computation speed up-load sharing
6.2.4.3. reliability
6.2.4.4. communications requires networking infrastructure
7. Role
7.1. Manage the resources of computer which is the movement, storage and processing of data
8. Software
8.1. functions the same way as ordinary computer software
8.2. program or suite of programs executed by the processor
8.3. depend on the processor to allow it to regain control
9. Evolution
9.1. Reasons of evolution:
9.1.1. hardware upgrade
9.1.2. new types of hardware
9.1.3. new services
9.1.4. fixes
9.2. Stages
9.2.1. Serial Processing
9.2.1.1. The earliest computers
9.2.1.2. No operating system
9.2.1.3. Ran from a console with display lights, toggle switches, some form of input devices and a printer
9.2.1.4. access to computer in "series"
9.2.1.5. Problems of Serial Processing
9.2.1.5.1. Scheduling
9.2.1.5.2. Setup time
9.2.2. Simple Batch Systems
9.2.2.1. One of early computers but very expensive
9.2.2.2. Monitor
9.2.2.2.1. no direct access to processor for user
9.2.2.2.2. job submitted to computer operator that batches them together and put in an input devices
9.2.2.2.3. programs branches back to the monitor when finished
9.2.2.3. Point of View
9.2.2.3.1. Monitor
9.2.2.3.2. Processor
9.2.2.4. Overhead
9.2.2.4.1. processor time alternates between execution of user program and execution of monitor
9.2.2.4.2. sacrifices
9.2.2.5. Improves utilization of computer
9.2.3. Multiprogrammed Batch System
9.2.3.1. processor is often idle
9.2.3.1.1. even with automatic job sequencing
9.2.3.1.2. I/O devices are slow compared to processor
9.2.3.2. several jobs are kept in main memory at the same time and the CPU is multiplexed among them
9.2.4. Time-Sharing Systems
9.2.4.1. used to handle multiple interactive jobs
9.2.4.2. processor time is shared among multiple user
9.2.4.3. multiple user access system through terminal, with OS interleaving the execution of each user program in a short burst or quantum of computation
10. Real-Time Systems
10.1. particular to the scheduler-very important
10.2. examples
10.2.1. control of laboratory experiments
10.2.2. robotics
10.2.3. air traffic control
10.3. correctness
10.3.1. depends on logical results
10.3.2. time at which the results are produced
10.4. task or process attempt to control or react to events that take place in the outside world
10.5. hard real-time task
10.5.1. one that must meet its deadline
10.5.2. cause unacceptable damage or a fatal error to the system
10.6. soft real-time task
10.6.1. has an associated deadline that is desirable but not mandatory
10.6.2. make sense to schedule and complete the task even if it has passed its deadline
10.7. characteristics
10.7.1. determinism
10.7.2. responsiveness
10.7.3. user control
10.7.4. reliability
10.7.5. fail-soft operation