Review: chapter 1
Computer System components:
- hardware
- operating System
- applications programs
- users
for user view:
- PC Users: an easy-to-use interface for using the hardware
- Mainframe(主机)/Minicomputer Users: maximize the system resource utilization
- Workstation Users: compromise between individual usability and resource utilization
for System view:
- Resource allocator: allocates and reclaims the system hardware resources to and from user programs
- Control Program: controls the execution of user programs to prevent errors and improper use of the computer
common definition : the operating system is the one program running at all times on the computer (i.e., the kernel). All other programs are application programs
all in all, From the computer’s point of view,what is an Operating System:
- A resource allocator, a control program, a kernel
For mainframe systems,the development of systems:
No OS->batch systems->multiprogrammed systems->Time sharing systems
Early operating systems:
- Users monopolize all machine resources
- The preparation time is too long before the program runs
- Man-machine speed does not match
solutions: batch offline I / O
Batch Systems
-
Reduce setup time by batching similar jobs
-
Automatic job sequencing –automatically transfers control from one job to another. First rudimentary operating system.
-
Resident monitor
initial control in monitor
control transfers to job
when job completes control transfers back to monitor
simple batch processing:
-
Sequential: Each job on the tape is entered into the memory sequentially, and the completion order of each job is the same as the order in which they entered the memory
-
Single channel: only one program runs in memory
-
Automatic
Advantages: Reduce the idle time of the CPU, improve the efficiency of the host CPU and I / O devices, and increase the throughput.
Disadvantages: uneven usage of CPU and I / O devices
Multiprogrammed Batch Systems:
It’s the first instance where the operating system must make decisions for the users
- Keeps several jobs in memory simultaneously
- Picks and begins to execute one
- If that job needs to wait, CPU is switched to another one
OS Features Needed for Multiprogramming:
-
I/O routine supplied by the system.
-
Memory management
-
CPU scheduling
-
Allocation of devices
-
File management
-
Job scheduling: the system must choose among jobs ready to be brought into memory
Advantages and disadvantages of multiprogramming:
CPU utilization is greatly improved. The
user has no control, no interactivity, and a large delay
Time-Sharing Systems–Interactive Computing:
Interactive computer system provides direct communication between user and the system
Time-sharing operating system allows many users to share the computer simultaneously
Multi-channel, exclusive, interactive and timely
attention:
- a job needs to be swapped in and out of memory to the disk (virtual memory).
- Sophisticated CPU-scheduling schemes are required
- It may ensure that jobs do not get stuck in a deadlock
other systems:
Real -Time Systems
Embedded SystemS
Desktop Systems
Parallel Systems
Distributed Systems
Clustered Systems
Handheld Systems