Introduction
What is an Operating System?
Functions of OS
Batch OS (Mainframe Systems)
Multiprocessor Systems
Time Sharing OS
Parallel OS
Distributed Systems
Real -Time Systems
Operating System Concepts
What is an Operating System?
A program that acts as an intermediary between a user of
a computer and the computer hardware.
Operating system goals:
Efficient use
User convenience
Noninterference
Act as platform for other software to run on computer
system.
Control and coordinates hardware components.
Operating System Concepts
Computer System Components
1. Hardware provides basic computing resources (CPU,
memory, I/O devices).
2. Operating system controls and coordinates the use of
the hardware among the various application programs for
the various users.
3. Applications programs define the ways in which the
system resources are used to solve the computing
problems of the users (compilers, database systems,
video games, business programs).
4. Users (people, machines, other computers).
Operating System Concepts
Computer System Components
Operating System Concepts
Operating System Definitions
Resource allocator manages and allocates resources.
Control program controls the execution of user
programs and operations of I/O devices .
Kernel the one program running at all times (all else
being application programs).
OS is like government. It performs no useful work but
provides an environment for other programs.
Examples: MS Windows (328), Unix/Linux/Solaris
/OpenBSD (803 M), Android (878 M), iOS/Mac OS (267
M), OS/360, Blackberry (24 M) etc.
Virtual Machine Manager
Virtualization of Processors, Memory, Disk, Devices etc.
Is an operating system essential to use a computer?
Operating System Concepts
How OS takes control - Booting
Power on self test (POST)
ROM BIOS Routine
Boot sector reading
Configuration file loading
Operating System Concepts
Functions of Operating System
Memory Management: Finds free space in memory and
allocates to different processes.
Processor Management: Allocates the processor to
execute a process.
I/O Device Management: Allocates a device to a
process.
File Management: Keeps tracks on files how they are
opened or closed.
Operating System Concepts
Functions of Operating System
Operating System Concepts
Memory Management
Primary Memory
Provides direct access to CPU.
Processes must be in main memory.
OS must decide
Policies
When to load process in memory
How much memory to allocate
When a process should be removed from memory
Mechanism
To keep track of memory in use
To keep track of unused memory
To protect memory space
Allocate, de-allocate spaces for processes
Swap processes: memory > disk
Operating System Concepts
Process Management
OS manages many kind of activities
User programs
System programs: printer spoolers, name servers, file
servers
Each is encapsulated in a process
A process includes code, data, PC registers, OS
resources in use etc.
A process is not a program: many processes can be
running the same program
OS must
Create, delete, suspend, resume, and schedule
processes
Supports inter-process communication,
synchronization, handle deadlock
Operating System Concepts
Disk Management
Disk
The actual h/w that stores file system
Large enough to store all user programs, data, OS
etc.
Persistent: recover from system failures
OS must
Manages disk space at low level:
Keep track of used / unused space
Keep track of bad sectors
Handles low level disk functions
Scheduling of disk operations
Head movement
Operating System Concepts
File System Management
File System
File system provides files and various operations on
files
A file system supports directories which contain files
and other directories
OS must
Create and delete files and directories
Manipulate files and directories
Provides general high level services like backup,
accounting, quotas
Operating System Concepts
Mainframe Systems (Batch Processing OS)
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
An IBM System z9 mainframe
Operating System Concepts
Memory Layout for a Simple Batch System
Operating System Concepts
Multiprogrammed Batch OS
Several jobs are kept in main memory at the same time, and the
CPU is multiplexed among them.
Operating System Concepts
OS Features Needed for Multiprogramming
I/O routine supplied by the system.
Memory management the system must allocate the
memory to several jobs.
CPU scheduling the system must choose among
several jobs ready to run.
Allocation of devices.
Operating System Concepts
Time-Sharing OSInteractive Computing
The CPU is multiplexed among several jobs that are kept
in memory and on disk (the CPU is allocated to a job only
if the job is in memory).
A job swapped in and out of memory to the disk.
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.
On-line system must be available for users to access data
and code.
Advantages
Provides the advantage of quick response.
Avoids duplication of software.
Reduces CPU idle time.
Disadvantages
Problem of reliability.
Question of security and integrity of user programs and data.
Problem of data communication.
Operating System Concepts
Parallel Systems
Multiprocessor systems with more than one CPU in close
communication.
Tightly coupled system processors share memory
and a clock; communication usually takes place through
the shared memory.
Advantages of parallel system:
Increased throughput
Economical
Increased reliability
graceful degradation
fail-soft systems
Operating System Concepts
Parallel Systems (Cont.)
Symmetric multiprocessing (SMP)
Each processor runs an identical copy of the operating
system.
Many processes can run at once without performance
deterioration.
Most modern operating systems support SMP
Asymmetric multiprocessing
Each processor is assigned a specific task; master
processor schedules and allocated work to slave
processors. (Cell BE)
More common in extremely large systems
Operating System Concepts
Symmetric Multiprocessing Architecture
Operating System Concepts
Distributed Operating Systems
Distribute the computation among several physical
processors.
Loosely coupled system each processor has its own
local memory; processors communicate with one another
through various communications lines, such as high-
speed buses or telephone lines.
Advantages of distributed systems.
Resources Sharing
Computation speed up load sharing
Reliability
Communications
Operating System Concepts
Distributed Operating Systems (cont)
Requires networking infrastructure.
Local area networks (LAN) or Wide area networks (WAN)
May be either client-server or peer-to-peer systems.
Kernel, alpha, amoeba, Mach are examples of such OS.
Operating System Concepts
General Structure of Client-Server
Operating System Concepts
Real-Time Operating Systems
Often used as a control device in a dedicated application
such as controlling scientific experiments, medical
imaging systems, industrial control systems, and some
display systems.
Well-defined fixed-time constraints.
Real-Time systems may be either hard or soft real-time.
User convenience and resource utilization is secondary
objective.
Ex: Rocket launching, flight control, robotics, real time
simulation, telephone switching equipment etc.
Operating System Concepts
Real-Time Operating Systems (Cont.)
Hard real-time:
Secondary storage limited or absent, data stored in short
term memory, or read-only memory (ROM)
Conflicts with time-sharing systems, not supported by
general-purpose operating systems.
Ex: Multimedia, Virtual reality, etc.
Soft real-time
Limited utility in industrial control of robotics
Useful in applications (multimedia, virtual reality) requiring
advanced operating-system features.
Virtual memory is not found in real time systems.
Operating System Concepts