Professional Documents
Culture Documents
CHAPTER 1:
Early Systems
Simple Batch Systems
Multiprogrammed Batch Systems
INTRODUCTION TO Time-Sharing Systems
OPERATING SYSTEM
Desktop Systems
Multiprocessor Systems
Distributed Systems
Clustered System
Real -Time Systems
Handheld Systems
Computing Environments
1
What is an Operating System? What is an Operating System?
2
Simple Batch Systems (1960) Simple Batch Systems (1960)
Mainframe Machine
Early computer physically enormous machine run from a console
Input Device card reader & tape drives Paper tape
Tape drive Key Punch Machine
Output Device line printer, tape drives & punch cards
generate punch
User did not interact directly with the computer system card
A job (a single program+ associated data + control information)
usually on the punch cards submitted to the operator.
The output consisted of the results of the program or memory dump
in case of error.
The operator used to batch together similar programs and run as a
group to reduce setup time.
No user interaction while the job is executing.
Current examples include .bat files under Dos Windows and shell
files under Unix/Linux.
3
Multiprogrammed Batch Systems Multiprogrammed Batch Systems
Several jobs are kept in main memory at
the same time, and the CPU is multiplexed
among them.
If memory can hold several programs, then
CPU can switch to another one whenever a
program is waiting for an I/O to complete
This is multiprogramming.
How does it works?
o/s keeps several jobs in memory
simultaneously in job pool. OS Features Needed for Multiprogramming:
o/s pick and begins to execute 1 of the
I/O routine supplied by the system.
job in memory.
o/s can simply switch to another job Memory management the system must allocate the
(2nd job) if job 1 have to wait for some memory to several jobs.
task (e.g wait for I/O to complete). CPU scheduling the system must choose among
If job 1 finished waiting, it will get back several jobs ready to run.
the CPU. Allocation of devices.
CPU will never in idle.
4
Personal / Desktop Systems Multiprocessor systems
Multiprocessor systems / Parallel systems:
Two Categories of Computer Systems Multiprocessor systems has more than one CPU in close
1. Single Instruction Single Data (SISD) communication.
Single processor executes a single instruction sequence to Tightly coupled system processors share memory and a clock;
operate on data stored in a single memory. communication usually takes place through the shared memory.
This is a Uniprocessor. Advantages of parallel system:
Increased throughput
2. Multiple Instruction Multiple Data (MIMD) Economical
A set of processors simultaneously execute different
Increased reliability
instruction sequences on different data sets.
This is a Multiprocessor.
graceful degradation
Multiprocessor
architecture
5
Clustered Systems Real-Time Systems
Note that not all Operating Systems are general-purpose systems.
Real-Time (RT) systems are dedicated systems that need to adhere
to deadlines, i.e., time constraints.
Correctness of the computation depends not only on the logical
Clustering allows two or more systems to share
result but also on the time at which the results are produced.
external storage and balance CPU load . Often used as a control device in a dedicated application such as
Provides high reliability. controlling scientific experiments, medical imaging systems,
industrial control systems, and some display systems.
Asymmetric clustering: one server runs the
Real-Time systems may be either hard or soft real-time.
application while other servers standby. Hard real-time:
Symmetric clustering: all N hosts are running Must meet its deadline.
Secondary storage limited or absent, data stored in short term
the application. memory, or read-only memory (ROM)
Conflicts with time-sharing systems, not supported by general-purpose
operating systems.
Soft real-time
A critical real-time task gets priority over the other tasks (Deadline
desirable but not mandatory).
Limited utility in industrial control of robotics
Useful in applications (multimedia, virtual reality) requiring advanced
operating-system features.