Volume 1 - Introduction To OS What Is An Operating System?: Prepared by Sujoy Bhowmick, AP (IT)
Volume 1 - Introduction To OS What Is An Operating System?: Prepared by Sujoy Bhowmick, AP (IT)
It is a Control Program.
Manages all the components of a complex computer system in an
integrated manner.
Controls the execution of user programs and I/O devices to prevent
errors and improper use of the computer resources.
Looks over and protects the computer.
It is an extended/virtual machine
An interface between the user and hardware that hides the details of
the hardware (e.g., I/O).
Constructs higher-level (virtual) resources out of lower-level (physical)
resources (e.g., files).
Definition: Is a collection of software enhancements, executed on the
bare hardware, culminating in a high-level virtual machine that serves
as an advanced programming environment
1.1
Convenience
Makes the computer more convenient to use
Efficiency
Allows computer system resources to be used in an efficient manner
Ability to evolve
Permit effective development, testing, and introduction of new system
functions without interfering with service
Program execution
Loading in memory, I/O and file initialization.
System access
Resolves conflicts for resource contention.
Protection in access to resources and data.
1.2
Accounting
collect statistics
monitor performance
used to anticipate future enhancements
used for billing users
These components can be viewed as layers, where each layer uses the
services provided by the layer beneath it.
1.3
Application
Programs
Utilities
OperatingSystem
Designer
Operating-System
Computer Hardware
Another view of computer system components
History of Operating Systems
1.4
Early Systems
Structure
Single user system.
Large machines run from console.
Programmer/User as operator.
Paper Tape or Punched cards.
No tapes/disks in computer.
Mainframe machines. Input devices were card readers. Output devices were
line printer, tape drives, and card punch.
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.
1.5
1.6
Problems
Slow Performance I/O and CPU could not overlap; card reader very slow.
CPU was often idle.
Solutions
1. Off-line Operation
Speed up computation by loading jobs into memory from tapes while
card reading and line printing is done off-line using smaller machines.
1.7
Several jobs are kept in main memory at the same time, and the CPU is
multiplexed among them.
1.8
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.
1.9
On-line communication between the user and the system is provided; when
the operating system finishes the execution of one command, it seeks the next
control statement from the users keyboard.
TS system provides each user with her/her own virtual machine.
Multitasking
Batch Multiprogramming
Vs. Time Sharing
Principle obj.
Source of inst. To OS
Batch Multi-Prog.
Max. Processor use
JCL provided with the job
Time Sharing
Min. response time
Commands entered at the
terminal
On-line file system must be available for users to access data and code.
Should do memory management
1.10
Multiprocessor Systems
1.11
Multiprocessor architecture
Symmetric Multiprocessing (SMP)
Asymmetric multiprocessing
Distributed Systems
1.12
Peer-to-peer systems
Network Operating System
1.13
Clustered Systems
Clustering allows two or more systems to share external storage and balance
CPU load.
Asymmetric clustering: one server runs the application while other servers
standby.
Symmetric clustering: all N hosts are running the application.
Real-Time Systems
1.14
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.
1.15
1.16