Introduction to Operating
System
Module 1
An operating system is a program that manages a computer’s hardware.
● Basis for application programs
● Intermediary between the computer users and the computer hardware.
● Purpose of an OS : Provide an environment in which the user can execute the
program in a convenient & efficient manner
Mainframe operating systems : Manages the resources and activities of large.
IBM z/OS, and IBM z/VSE.
★ Mission-critical systems - Z/OS
★ z17- fully engineered for AI
★ z/OS 3.2 - incorporate AI , hybrid cloud integration. (ongoing)
Services - Main frame OS
❏ Clustering and partitioning
❏ Base for extensive applications
❏ Divides the jobs into different batches.
❏ Data security
❏ Efficient task management
❏ Performs a large amount of transactions
Applications:
➔ Education, Health, Defense, and Infrastructure development
➔ Transportation systems - Railways and Airlines
➔ Enterprises - to handle large database - high processing power and flexibility
➔ Banks and financial institutions - reliability, compatibility, and high security.
Disadvantages:
➢ Costly
➢ complex to operate
➢ Specialized knowledge is required to use it
Advantages:
➢ Fault tolerant and reliable.
➢ Provide great security measures - hacking, cyber security threats.
➢ High and massive processing power
➢ Scalable and can handle large scale of users and applications
A computer system can be divided into four components
Hardware: The Hardware consists of memory, CPU, ALU, I/O devices,
peripherals devices & storage devices.
OS: The OS controls & co-ordinates the use of hardware among various
application programs for various users.
Application Program: The application programs includes word processors,
spread sheets, compilers & web browsers which defines the ways in which the
resources are used to solve the problems of the users.
User: Who works/executes the required function.
User View: The user view of the computer depends on the interface used.
● Some users may use PC’s. Such system is designed for one user.
Here, the OS is designed for ease of use where some attention is mainly on
performances and not on the resource utilization.
● Some users may use a terminal connected to a mainframe or minicomputers.
Other users may access the same computer through other terminals. These users
may share resources and exchange information.
● In this case the OS is designed to maximize resource utilization- so that all
available CPU time, memory & I/O are used efficiently.
❖ Other users may sit at workstations, connected to the networks of other
workstation and servers. In this case OS is designed to compromise
between individual usability & resource utilization.
System View: An operating system can be viewed as resource allocator.
A computer system has many resources such as
● CPU Time,
● memory space,
● File storage space,
● I/O devices and so on that may be used to solve a problem.
● OS acts as a manager of these resources and decides how to allocate these resources
to programs and the users so that it can operate the computer system efficiently and fairly.
● A different view of an OS is that it controls various I/O devices & user programs.
An OS is a control program which manages the execution of user programs to prevent errors and
improper use of the computer.
IT
I Abstract View of Components of
N
U Computer
12
Components of OS
Process Management
File Management
Command Interpreter
System Calls
Signals
Network Management
Security Management
I/O Device Management
Secondary Storage Management
Main Memory Management
Process Management
● A process is a program in execution.
● A process can be suspended temporarily and the execution of another process
can be taken up. A suspended process can be restarted later.
● Before suspending a process - details are saved in a table called the process
table so that it can be executed later on.
❏ An operating system supports two system calls to manage processes Create
and Kill
➔ Create a system call used to create a new process.
➔ Kill system call used to delete an existing process.
● A process can create a number of child processes.
● shared memory or by message-passing techniques → Processes can
communicate among themselves
File Management
Long-term storage.
system call:
● File creation
● File deletion
● Read and Write operations
Command Interpreter
Interface with the operating system - through commands
provides a command-line interface.- The Command Line Interface (CLI) is a
text-based tool for interacting with a computer’s operating system using typed
commands
● The command interpreter itself contains code to be executed.
● The command is implemented through a system file. The necessary system
file is loaded into memory and executed.
System Calls
● Provide an interface to the services made by an operating system.
● User interacts with the operating system programs through System calls
● Calls are normally made available as library functions in high-level languages such
as C, Java, Python
● Level of abstraction as the user is not aware of the implementation or execution of the
call made.
● Process Management
● Memory Management
● File Operations
● Input / Output Operations
Signals
● To notify a process that a particular event has occurred.
● Signals are also used for inter-process communication
❖ Signal is generated by the occurrence of a particular event —> it can be the
clicking of the mouse, the execution of the program successfully or an error
notifying.
● A generated signal is delivered to a process for further execution.
● Once delivered, the signal must be handled.
● A signal can be synchronous and asynchronous which is handled by a
default handler or by the user-defined handler.
Network Management
● Network management is a set of processes and procedures that help organizations
to optimize their computer networks.
● Network management in an operating system refers to the processes and tools used to
configure, monitor, manage, and troubleshoot a network.
● It ensures the quality of service and availability of network resources. It also
examines the operations of a network, reconstructs its network configuration,
modifies it for improving performance of tasks
★ Configuration
★ Performance
★ Fault Management
Security Management
● Ensure that authorized programs have access ->> Resources.
● Unauthorized programs have no access → Restricted resources.
User changes the file, memory, CPU, and other hardware resources that should have
authorization from the operating system.
I/O Device Management
● I/O manager that hides the details of hardware devices and manages the main memory
for devices using cache and spooling.
● provides a buffer cache and general device driver code → system to manage the main memory
and the hardware devices connected to it.
● Custom drivers for particular hardware devices.
Secondary Storage Management
● data is stored permanently and the user can retrieve it easily
● computer’s hard drive is the primary location for your files and programs
● CD-ROM/DVD drives, flash memory cards, and networked devices, also provide secondary
storage for data on the computer
● The computer’s main memory (RAM) is a volatile storage device in which all programs reside, it
provides only temporary storage space for performing tasks
Main Memory Management
● Flexible and volatile type of storage device
● Random Access Memory (RAM), which is the fastest computer storage available on
PCs.
● Costly and low in terms of storage as compared to secondary storage devices
Example of OS
Different types of OS serve different needs some handle one task at a time, while others
manage multiple users or real-time processes.
Batch Operating System
● To handle large groups of similar jobs efficiently.
● These jobs are queued and executed one after the other, without user interaction
during the process.
● It does not interact with the computer directly but instead processes jobs that are
grouped by an operator.
● No real-time input/output
● Jobs (tasks or programs) are prepared ahead of time and submitted to an
operator
● The operator collects these jobs, groups them into a "batch", and then submits the
entire batch to the system for processing.
Eg: Payroll systems and Bank statements
Advantages
● Efficient Job Management - Multiple users, cost-effective
● Minimal Idle Time - continuous sequence without human intervention
● Handling Repetitive Tasks - Ideal for managing large, repetitive tasks eg: Payroll,
Billing
● Improved Throughput - high volumes of jobs at once.
Disadvantages
❖ Inefficient CPU Utilization, Increased Response Time, Lack of Real-Time Feedback,
Unpredictable Job Completion
Multi-Programming Operating System
multiple programs run in memory at the same time.
The CPU switches between programs, utilizing its resources more effectively and
improving overall system performance.
Advantages
● CPU is better utilized and the overall performance of the system improves.
● It helps in reducing the response time.
Multi-tasking/Time-sharing Operating systems
● Multitasking OS is a type of Multiprogramming system with every process running in
round robin manner.
● Each task is given some time to execute so that all the tasks work smoothly. Each
user gets the time of the CPU as they use a single system.
● The time that each task gets to execute is called quantum. After this time interval is
over, the OS switches over to the next task.
Advantages
● reducing the cost of hardware and increasing efficiency. - multiple users to share
● reducing the waiting time for their turn to use the computer - allows users to work
concurrently
● interactive environment
Disadvantages
● Reliability problem
● security and integrity
● High Overhead - need for scheduling, context switching and other overheads that
come with supporting multiple users.
Multi-Processing Operating System
❖ more than one CPU is used for the execution of resources. It betters the throughput of
the System.
● It increases the throughput of the system as processes can be parallelized.
● As it has several processors, so, if one processor fails, we can proceed with another
processor.
Distributed Operating System
● Recent advancement in the world of computer technology
● Various autonomous interconnected computers communicate with each other using a
shared communication network.
● Remote access is enabled within the devices connected to that network.
Advantages
● Failure of one will not affect the other network communication, as all systems are
independent of each other.
● Electronic mail increases the data exchange speed.
● Since resources are being shared, computation is highly fast and durable.
Disadvantages:
● Failure of the main network will stop the entire communication.
● To establish distributed systems, the language is not yet well-defined.
● These types of systems are not readily available as they are very expensive. Not
only that the underlying software is highly complex and not understood well yet.
Example:
.Locus
Micros
Amoeba
Network Operating System
Advantages
● Highly stable, centralized servers.
● Security concerns are handled through servers.
● New technologies and hardware upgrades are easily integrated into the system.
● Server access is possible remotely from different locations and types of systems.
Disadvantages
● Servers are costly.
● The user has to depend on a central location for most operations.
● Maintenance and updates are required regularly.
Real-Time Operating System
The time interval required to process and respond to inputs is very small. This time
interval is called response time.
Real-time systems are used when there are time requirements that are very strict like
missile systems, air traffic control systems, robots
● Hard Real-Time Systems
● Soft Real-Time Systems
Advantages
Maximum Consumption
Task Shifting
Disadvantages
Limited Tasks
Device driver and interrupt signals
Mobile Operating Systems
smartphones and tablets.
Android and iOS.
Advantages:
User-Friendly Interfaces
Connectivity Options
Disadvantages:
Battery Life Constraints
Security Risks
Computer System Organization
● consists of one or more CPUs and device
● controllers connected through common bus providing access to shared memory
● Device controller - in-charge of a particular device type
● To start running when it is powered-up or rebooted an initial program called bootstrap
program is loaded - stored in ROM or EEPROM, generally known as firmware.
● It loads the operating system and starts executing the first process, such as “init” and
waits for some event to occur.
● An operating system is interrupt driven. The occurrence of an event is signaled by
an interrupt through signal or system call.
Storage Structure
● Main memory is the large storage media that the CPU can access directly.
● It forms an array of memory words. Each word has its own address.
● Interaction is achieved through a sequence of load and store instructions to specify
memory addresses.
● Electronic disks can be designed as both volatile and non-volatile Eg: Flash memory
used in cameras, robot and Personal Digital Assistants (PDA).
● NVRAM (Non Volatile RAM) is a DRAM with a battery backup power.
Computer System Architecture
Categorized based on number of processors used
● Single Processor Systems : one main CPU and is capable of executing a
general-purpose instruction set,
● special purpose processor to perform specific task, limited instruction set and
do not run user processes.
Examples:
❖ PCs contain a microprocessor in the keyboard to convert the keystrokes into
❖ codes to be sent to the CPU.
Multiprocessor Systems
● More than one processor in close communication.
● known as Tightly Coupled System or Parallel Systems.
● Share computer bus, the clock, memory & peripheral devices.
● Two processes can run in parallel.
Graceful degradation - ability to continue providing service proportional to the level of
surviving Hardware. Such systems that provide graceful degradation are fault tolerant.
Fault tolerant requires a mechanism to allow failure to be detected, and diagnosed and
corrected.
Asymmetric Multiprocessing: Each processor is assigned a specific task.
It uses a master slave relationship.
A master processor controls the system. The master processors schedules and allocates
work to slave processors.
Symmetric Multiprocessing: Each processor performs all tasks within
the OS. SMP means all processors are peers ( no master slave relationship
exists between processors.) Each processor concurrently runs a copy of OS.
Ex: Solaris.
Blade Servers are recent development in which multiple processor boards, I/O boards, and
networking boards are placed in same chassis. Here each processors can boot
independently and run their own OS.
Clustered Systems
Clustered systems can be categorized into two groups
1. Asymmetric Clustering.
● one machine is in hot standby mode while others are running the application.
● The hot standby machine does nothing but it monitors the active server. If the server
fails the hot standby machine becomes the active server.
2. Symmetric clustering.
● Two or more hosts are running the application & they monitor each other.
● This mode is more efficient since it uses all the available hardware.
● The clustered systems have multiple CPUs but they are composed of two or
more individual systems coupled together.
● Clustered systems share storage and are closely linked via LAN Network.
● Clustering is usually used to provide high availability.
● Each node can monitor one or more of the others. If the monitored machine
fails, the monitoring machine takes ownership of its storage and restarts the
applications that were running on failed machine.
Parallel clusters allow multiple hosts to access the same data on shared storage.
● Distributed lock manager (DLM) - access control and locking to ensure that
no conflicting operations occur.
Clustering provides better reliability than the multiprocessor systems.