0% found this document useful (0 votes)
10 views18 pages

Module 1

This document provides an overview of operating systems, defining them as intermediaries between users and computer hardware while detailing their goals, components, and structures. It categorizes various types of operating systems, such as batch, multi-programming, time-sharing, and real-time systems, highlighting their advantages and disadvantages. Additionally, it explains the organization of computer systems, including CPU operations, storage structures, and I/O management.

Uploaded by

nithutg486
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views18 pages

Module 1

This document provides an overview of operating systems, defining them as intermediaries between users and computer hardware while detailing their goals, components, and structures. It categorizes various types of operating systems, such as batch, multi-programming, time-sharing, and real-time systems, highlighting their advantages and disadvantages. Additionally, it explains the organization of computer systems, including CPU operations, storage structures, and I/O management.

Uploaded by

nithutg486
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Module 1

Operating System Overview and System Structures

What is an Operating System?

 A program that acts as an intermediary between a user of a computer and the computer
hardware. An operating System is a collection of system programs that together control the
operations of a computer system.
 Some examples of operating systems are UNIX, Mach, MS-DOS, MS-Windows, Windows/NT,
Chicago, OS/2, MacOS, VMS, MVS, and VM.

Operating system goals:

 Execute user programs and make solving user problems easier.


 Make the computer system convenient to use.
 Use the computer hardware in an efficient manner.

Computer System Components

 At the bottom, we have the computer hardware – this includes all the physical parts like
CPU, memory, and hard disk.
 Above the hardware, we have the Operating System (OS). The OS is like a manager that
controls and coordinates how the hardware works and how users can use it.
 Above the OS, we see the System and Application Programs – like compilers, assemblers,
text editors, and database systems. These are the programs we use to perform tasks (like
writing code, editing text, managing data, etc.). These programs run with the help of the OS,
which allows them to use hardware like memory or CPU.
 At the top, we see the users (User 1, User 2, User 3, ... User n). These are the people using
the computer. Users interact with the system through the application programs, and
everything they do goes through the OS to the hardware.
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).

Components of Operating System: Operating System has two parts. (1)Kernel.(2)Shell.

(1) Kernel is an active part of an OS i.e., it is the part of OS running at all times. It is a programs which
can interact with the hardware. Ex: Device driver, dll files, system files etc.

(2) Shell is called as the command interpreter. It is a set of programs used to interact with the
application programs. It is responsible for execution of instructions given to Operating System (called
commands).

Operating systems can be explored from two viewpoints: the user and the system.

1. User View - From the user's side, the Operating System makes the computer easy to use. It gives a
friendly interface where users can open apps, create files, browse the internet, and play games. The
user doesn’t need to know how the computer works inside – they just click and use.
Example: When you turn on your laptop and open MS Word to type an assignment, you are using the
computer from a user’s view. The OS makes it simple for you to interact without worrying about
memory or hardware.

2. System view - From the system’s side (like the OS or hardware), the Operating System acts as a
resource manager. It manages CPU time, memory space, input/output devices, and files so that
everything runs smoothly and efficiently.
Example: When many programs are open at once, the OS decides which program gets how much
memory or which task the CPU should handle first. This is the system view, where the OS takes care of
everything behind the scenes.

Types of Operating System

An operating system (OS) is software that manages computer hardware and software resources. It acts
as a bridge between users and the computer, ensuring smooth operation.

1. Batch Operating System

 A Batch Operating System is designed to handle large groups of similar jobs efficiently.
 It does not interact with the computer directly but instead processes jobs that are grouped
by an operator.
 These jobs are queued and executed one after the other, without user interaction during the
process.

Advantages of Batch Operating System

1. Efficient Job Management: Multiple users can efficiently share the system, making it cost-
effective.
2. Minimal Idle Time: The system minimizes idle time by processing jobs in a continuous
sequence without human intervention.
3. Handling Repetitive Tasks: Ideal for managing large, repetitive tasks, such as payroll and
billing, with minimal effort.
4. Improved Throughput: Batch systems can handle high volumes of jobs at once, improving
overall system throughput.

Disadvantages of Batch Operating System

1. Inefficient CPU Utilization: When a job is waiting for input/output (I/O), the CPU remains idle,
leading to poor utilization of resources.
2. Unpredictable Job Completion: If one job fails, others may be delayed indefinitely, making job
completion time unpredictable.
3. Lack of Real-Time Feedback: Users cannot interact with the system in real-time, making it less
suitable for interactive tasks.

2. Multi-Programming Operating System

 In a 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 of Multi-Programming Operating System

1. CPU is better utilized and the overall performance of the system improves.
2. It helps in reducing the response time.

3. Multi-tasking/Time-sharing Operating systems

 Time-Sharing or Multitasking Operating System is an improved version of


multiprogramming.
 In this system, the CPU switches quickly between different tasks, so it feels like all tasks
are happening at the same time.
 The operating system switches between jobs very quickly to give fast response.
 Many users can use the same computer at the same time. Each user can interact with
their own program while it is running.

Advantages of Time-Sharing OS

1. Each task gets an equal opportunity.

2. Fewer chances of duplication of software.

3. CPU idle time can be reduced.

4. Resource Sharing: Time-sharing systems allow multiple users to share hardware resources
such as the CPU, memory and peripherals, reducing the cost of hardware and increasing
efficiency.

Disadvantages of Time-Sharing OS

1. Reliability problem.

2. One must take care of the security and integrity of user programs and data.

3. Data communication problem.

4. Multiprocessor Operating System

 Multiprocessor operating systems are also known as parallel Operating System or tightly
coupled Operating System.

 Such operating systems have more than one processor in close communication that sharing
the computer bus, the clock and sometimes memory and peripheral devices.

 It executes multiple jobs at same time and makes the processing faster.

 All CPUs access the same memory, which makes communication between them easier.

 If one processor fails, others can take over its work. So, the system doesn’t crash easily
Advantages of a Multi-Processing Operating System

1. It increases the throughput of the system as processes can be parallelized.

2. As it has several processors, so, if one processor fails, we can proceed with another processor.

Types of Multiprocessor Systems:

1. Symmetric Multiprocessing (SMP): All processors are equal and share work equally.

2. Asymmetric Multiprocessing (AMP): One main processor controls others; the rest follow its
instructions.

5. Distributed Operating System

 A Distributed Operating System is a type of operating system that manages a group of


computers connected through a network.
 Each computer in the group has its own CPU and memory, but they all work together as if they
are part of one single system.
 The user doesn’t need to know which computer is doing the work, because the system shares
tasks and resources between all the connected machines to make things faster and more
efficient.

Advantages of Distributed Operating System

1. Failure of one will not affect the other network communication, as all systems are independent
of each other.

2. Since resources are being shared, computation is highly fast and durable.

Disadvantages of Distributed Operating System

1. Failure of the main network will stop the entire communication.

2. These types of systems are not readily available as they are very expensive.
6. Real-time Sytem

 A Real-Time Operating System (RTOS) is a special type of operating system designed to process
data and give results within a fixed time limit.
 It is used in systems where quick and timely responses are very important, such as in medical
devices, airbag systems in cars, industrial machines, or air traffic control. An RTOS ensures that
tasks are completed on time, making the system reliable and predictable.

Advantages of Real Time Operating System:

1. Fast Response: It gives quick results, which is important in time-sensitive systems.

2. High Reliability: It performs tasks on time without delays, making it very dependable.

3. Efficient Resource Use: It manages CPU, memory, and other resources efficiently.

Disadvantages of Real Time Operating System:

1. Complex Design: Real Time Operating System is harder to design and develop than regular
operating systems.

2. Costly: It can be expensive to build and maintain.

Operating System Structure

An Operating System (OS) is system software that controls and manages computer hardware and
software. It acts like a bridge between the user and the computer hardware. The structure of an
operating system means how the different parts or components of the OS are arranged and how they
interact with each other to manage all tasks in a computer system.

The OS is responsible for several key tasks like:

 Managing the CPU (Central Processing Unit)

 Handling memory (RAM)

 Managing input/output devices (keyboard, mouse, printer, etc.)

 Managing files and data

 Allowing multiple programs to run at the same time (multiprogramming)

To make this possible, the OS is designed in a structured way. There are several common types of OS
structures:

1. Simple Structure (Monolithic Structure)

 In this structure, all parts of the OS are combined together in one large program.

 All functionalities like file system, memory management, process management, etc., are
included in a single block.

 Example: MS-DOS.

 Advantage: Fast execution.

 Disadvantage: Difficult to understand and update.


2. Layered Structure

 The OS is divided into layers, where each layer performs a specific function.

 Each layer only communicates with the layer directly above or below it.

 The bottom layer interacts with hardware; the top layer interacts with user programs.

 Advantage: Easier to design and debug.

 Disadvantage: May be slower due to layer-to-layer communication.

3. Microkernel Structure

 Only essential functions like communication between processes, memory, and basic
scheduling are kept in the kernel.

 Other services like device drivers and file systems are kept outside the kernel as user-level
programs.

 Advantage: More secure and easier to modify.

 Disadvantage: Performance can be slightly slower due to more communication between


components.

4. Modular Structure

 Operating System is divided into separate modules, each responsible for a specific task.

 Modules can be loaded or removed as needed.

 Advantage: Very flexible and easy to update.

 Example: Linux.

5. Virtual Machine Structure

 The Operating System provides an interface that looks like a real machine to the user or other
programs.

 It allows running multiple OS instances on the same hardware.

 Example: VMware, VirtualBox.

The structure of an operating system is important for its efficiency, security, and flexibility. A well-
organized structure makes it easier for the OS to manage system resources, run multiple tasks at the
same time, and handle errors or updates.

Operating System Structure with Respect to Multiprogramming and Memory Management

The Operating System structure is designed to manage various tasks such as running programs,
managing memory, handling input/output (I/O) devices, and more. One important part of this
structure is multiprogramming.

Multiprogramming: Multiprogramming is a technique where multiple jobs (programs) are kept in


memory at the same time. The OS picks one job to run using job scheduling. If that job needs to wait
(for example, it is reading a file or waiting for user input), the OS quickly switches to another job. This
way, the CPU is always busy, and no time is wasted, which improves efficiency.
This is handled by the CPU Scheduling part of the Operating System structure.

Memory Management: Only a subset of all programs (jobs) are kept in memory at one time. When
there is not enough memory to fit all the jobs, the Operating System uses swapping, where it moves
programs in and out of memory.
The OS may also use virtual memory, which allows programs to run even if they are not completely
loaded into physical memory.
This is done by the Memory Management Unit of the Operating System.

Timesharing (Multitasking): An advanced form of multiprogramming is timesharing, where the CPU


switches between jobs so quickly that every user feels like their program is running instantly. This is
important for interactive systems, where users expect quick responses (less than 1 second).
This is managed by Process Management and Scheduler components of the OS.

Processes and Scheduling: Each user has at least one process (program in execution) in memory. When
multiple processes are ready, the CPU scheduler decides which one to run next.
These are managed by the Process Scheduler and Dispatcher in the Operating System structure.

Operating System (Core): The Operating System itself stays in a protected part of memory (usually
starting from address 0). It controls all hardware and software, loads programs from disk, manages
switching between them, and keeps everything working smoothly.

Computer System Organization

 Computer System Organization in Operating Systems refers to how the different parts of a
computer work together to run programs and perform tasks.
 There are 3 categories in Computer System Organization:

1. Computer System Operation

2. Storage Structure

3. I/O Structure

1. Computer System Operation

 All major components are connected and managed through a central communication path
called a system bus.
 At the center is the CPU (Central Processing Unit), which controls and coordinates all
activities. The memory (RAM) is directly connected to the bus and stores data and
instructions currently being used.
 For storage purposes, disks like hard drives are connected through a disk controller, which
manages how data is read from or written to them.
 Input and output devices such as the mouse, keyboard, and printer are connected via a
USB controller, which helps these devices communicate with the rest of the system.
 The graphics adapter handles visual output and connects the monitor, allowing the system
to display information.
 This organized structure helps the operating system manage resources effectively,
ensuring smooth and efficient performance of the computer.

 The CPU operates in two main stages: user process execution and I/O interrupt processing.

 On the other hand, the I/O device has two stages as well: idle and transferring.

 Initially, the CPU is busy executing user processes while the I/O device remains idle. When the
I/O device begins transferring data, it eventually completes its task and sends an interrupt
signal to the CPU.

 Upon receiving the interrupt, the CPU pauses user process execution and enters the I/O
interrupt processing phase to handle the request.

 After processing the interrupt, the CPU resumes its user-level tasks.

 This timeline shows how interrupt-driven I/O allows efficient communication and coordination
between the CPU and peripheral devices without wasting CPU time during device data
1transfers.

2. Storage Structure

 To store data in a computer system, we use three types of memory:

1. Main Memory (Primary Memory)

2. Secondary Memory

3. Cache Memory

 Main Memory: Main memory holds the data and instructions that are currently needed
by the CPU for processing.

 Example: RAM (Random Access Memory)RAM is volatile, which means data is lost when
the power is turned off.
 Secondary Memory: Secondary memory is used to store data permanently. It is especially
useful for backup and long-term storage.

 Examples: Hard disk, ROM (Read-Only Memory). The operating system is responsible for
transferring data from secondary memory to main memory when required.

 Cache Memory: Cache memory is a very high-speed memory and is smaller in size
compared to other types of memory. It stores frequently accessed data and instructions
to speed up processing by the CPU.

3. 2I/O Structure

 Input/Output (I/O) operations are handled in a computer system using device controllers and
device drivers.

 Device controller is a small part of the hardware that manages a specific device (like a
keyboard, mouse, or disk).

 Each device has its own controller, and the operating system uses a device driver to talk to it.

 The driver understands how to control the device and provides a standard way for the
operating system to use it.

 When the system wants to perform an I/O task (like reading from the keyboard), the device
driver sends instructions to the device controller. The controller then moves the data to its
local buffer.

 Once done, it signals the driver (using an interrupt) that the task is complete. The driver then
gives the data to the operating system or tells it that the operation is done.

 For small data, this method works well, but it becomes slow for large data like copying big files.

 To solve this, Direct Memory Access (DMA) is used.

 With DMA, the controller sends large blocks of data directly to or from the system memory
without needing the CPU's help.

 This saves time and allows the CPU to do other tasks while the data transfer happens in the
background.

Computer-System Architecture
 The CPU (Central Processing Unit) is the brain of the computer. It performs calculations, makes
decisions, and runs instructions. Modern CPUs have multiple cores (like mini-CPUs) that
handle different tasks at the same time for better performance.
 Next to the CPU is the cache, a very fast memory that stores frequently used data. This helps
the CPU work faster by reducing the time needed to access the main memory (RAM).
 The instruction cycle is a repeated process where the CPU fetches, decodes, and executes
instructions. This cycle happens billions of times per second.
 RAM (main memory) is a temporary storage area that holds data and instructions while the
computer is working. The CPU constantly reads from and writes to RAM while processing tasks.
 External devices like keyboards, printers, and hard drives are connected to the CPU. These use
I/O (Input/Output) operations to send or receive data. When a device needs the CPU’s
attention, it sends an interrupt—for example, when you press a key.
 Some devices use DMA (Direct Memory Access) to directly transfer data between memory and
the device without involving the CPU. This makes the system faster and frees up the CPU for
other tasks.

1. Single-Processor Systems

 A single-processor system has only one main CPU that performs all the major tasks like running
programs and executing instructions.

 Even though there is only one main processor, the system can still have other special-purpose
processors. These are small processors built into devices like keyboards, disks, or graphics
cards to help with specific tasks.

 These special-purpose processors do not run user programs. Instead, they perform simple,
dedicated tasks, and sometimes the operating system controls them.

 For example, a disk controller may have its own mini processor to manage how files are read
from or written to the disk, which reduces the burden on the main CPU. Similarly, a keyboard
may have a tiny processor that changes key presses into signals the CPU can understand.
2. Multiprocessor Systems

 A multiprocessor system has two or more processors (CPUs) that work together and share
the same memory and devices. These systems are also called parallel systems or multicore
systems, and they are common in modern computers, including desktops, laptops, servers,
and even smartphones.

 Multiprocessor systems offer three main benefits:

1. Increased Throughput – Since there are multiple processors, more tasks can be done at
the same time, so the system becomes faster.

2. Economy of Scale – Using one multiprocessor system is often cheaper than using several
separate single-processor systems. This is because multiple processors can share the same
devices, like storage and power, which saves cost and space.

3. Increased Reliability – If one processor fails, the system does not completely stop. The
other processors can take over the work. For example, if 1 out of 10 processors fails, the
system may only slow down a little but will still keep working.

3. Clustered System

 A Clustered System is a type of multiprocessor system where two or more individual


computers (called nodes) are connected and work together as one system.

 These nodes can be single or multi-core systems and are usually connected over a network like
LAN.

 Clustered systems are known as loosely coupled because each node runs independently but
shares resources like storage.

 The main advantage of clustered systems is high availability.

 If one computer fails, another one in the cluster can take over and continue the work without
much delay. This is managed using special software that monitors each node.

 There are two types of clustering:

 Asymmetric Clustering – One machine does the work while another stays in hot-standby mode
(just watching). If the active one fails, the standby becomes active.

 Symmetric Clustering – All machines are active, running applications and watching each other.
This is more efficient since all machines are used.

 Clustered systems are also used for high-performance computing, where tasks are divided
among multiple computers to be completed faster. This is called parallelization. For example,
a weather forecasting system may divide the prediction task into parts, process each on a
different node, and then combine the results.
Operating System Services

An Operating System provides a set of services that make it easier for users and applications to use the
computer hardware effectively. These services help manage system resources and ensure smooth
operation. Here are the main services provided by an OS:

1. Program Execution

The OS loads programs from storage into main memory and starts their execution. It also manages
program execution by handling process creation, scheduling, and termination.

Example: Running a C++ program that was saved on the hard disk after compilation.

2. I/O Operations

When a program needs to read or write data from/to I/O devices (like a keyboard, printer, or file), the
OS provides the necessary support and permissions to access and control these devices.

Example: Reading a file from the hard disk or printing a document.

3. File System Manipulation

The OS manages files on different storage devices. It allows users and programs to create, delete, read,
write, and execute files. It also handles directory structures and file permissions.

Example: Creating a new text file, opening it, editing it, and saving it.

4. Communication

The OS enables communication between processes using inter-process communication (IPC)


mechanisms such as message passing or shared memory. This is important for coordination and data
sharing.

Example: A client-server application where the client sends a request and the server responds.

Errors can occur in hardware or software. The OS is responsible for identifying these errors and taking
corrective actions to maintain system stability.
Example: Detecting a memory access violation and terminating the faulty process.

6. Resource Allocation

Resources such as CPU time, memory space, and I/O devices are allocated to multiple users or jobs.
The OS ensures fair and efficient resource distribution based on priority, need, and availability.

Example: Allocating RAM to two running applications simultaneously.

7. Accounting

The OS maintains logs of how much and what type of resources are used. This is useful for billing (in
shared systems), monitoring, or improving system performance.

Example: Tracking CPU time used by a specific user.

8. Protection and Security

Protection refers to the control of access to resources by processes. Security ensures that external
threats do not breach the system. The OS enforces access controls and authentication to maintain data
integrity.

Example: A password-protected login system and file permission settings.

System Components

System components refer to the essential parts of an operating system that help it manage hardware
and software resources.

These components work together to make the system function smoothly and allow users and
applications to interact with the hardware efficiently.

1. Process Management - Handles the creation, scheduling, and termination of processes. Manages
CPU time among processes. Example: Switching between apps on your phone.

2. Memory Management - Manages the main memory (RAM). Keeps track of which part of memory is
in use and by whom. Loads programs into memory and removes them when done.

3. File System Management - Controls how data is stored and retrieved. Manages files and directories
on storage devices. Handles permissions and file access.

4. Storage Management - Handles reading/writing to secondary storage (hard disk, SSD). Keeps track
of data location, storage space, and backups.

5. Security and Protection - Protects data and resources from unauthorized access. Provides user
authentication, permissions, and encryption.

6. User Interface (UI) - Interface through which users interact with the OS. Can be Command Line
Interface (CLI) or Graphical User Interface (GUI).

System Call

A system call is a programmatic way in which a computer program requests a service from the kernel
of the operating system on which it is executed. A system call is a way for programs to interact with
the operating system. A computer program makes a system call when it requests the operating
system's kernel.
Types of system calls:

1. Process Control

This service helps the OS manage processes, which are programs that are currently running. Every
time you open a program like a browser or a text editor, a process is created. The OS controls when
the process starts, runs, pauses, or ends.

Examples of process control functions:

 create_process() – Starts a new process (like opening a new app).

 exit() – Ends a process when it finishes or is closed.

 wait() – Makes one process wait until another finishes (useful for background tasks).

 load() – Loads a program from storage into memory so it can run.

 execute() – Starts running the loaded program.

Example: When you click on Chrome, the OS creates and loads it into memory and then executes it as
a process.

2. File Management

The OS helps users and programs to work with files and folders (also called directories). It keeps track
of where files are stored, how they are named, and who can access them.

Examples of file management functions:

 open() – Opens a file so it can be read or written.

 read() – Reads content from a file.

 write() – Writes data into a file.

 close() – Closes the file after use.

 delete() – Removes the file from the system.

Example: When you save a document in Word, the OS writes the data into a file and saves it to your
disk.

3. Device Management

This service helps the OS manage all input and output (I/O) devices like keyboards, printers, monitors,
and USBs. The OS handles requests from programs to use these devices and controls access to them.

Examples of device management functions:

 request_device() – Ask the OS to use a device.

 release_device() – Free the device so others can use it.

 read_device() – Get data from a device (like typing on the keyboard).

 write_device() – Send data to a device (like printing a page).


Example: When you press "Print" in a document, the OS communicates with the printer and sends the
document to it.

4. Information Maintenance

This service allows the OS to keep track of system information like date, time, and system health. It
helps in updating or retrieving information that is useful for both the user and the system.

Examples of information maintenance functions:

 get_time() – Shows the current time.

 set_time() – Changes the system time (like when you manually set the clock).

 get_system_info() – Provides details like memory usage, system version, or CPU information.

Example: When you check the system settings to see how much storage or memory is used, this service
is working.

5. Communication

This service allows different processes or programs to talk to each other, even if they are on different
computers. This is called Inter-Process Communication (IPC).

Examples of communication functions:

 send() – Send a message or data to another process.

 receive() – Receive messages from other processes.

 connect() – Set up a connection between two programs (often over a network).

Example: When you're on a video call, your app is sending and receiving data through communication
services, often using IPC in the background.

System Programs

System programs, also known as system utilities, provide a convenient environment for program
development and execution. Some of them are simply user interfaces to system calls. Others are
considerably more complex. They can be divided into these categories:

[Link] management – These programs create, delete, copy, rename, print, dump, list, and generally
manipulate files and directories.

[Link] information – Some programs simply ask the system for the date, time, amount of available
memory or disk space, number of users, or similar status information.

[Link] modification - Several text editors may be available to create and modify the content of files
stored on disk or other storage devices.

[Link]-language support - Compilers, assemblers, debuggers, and interpreters for common


programming languages (such as C, C++, Java)

5. Program loading and execution - Once a program is assembled or com piled, it must be loaded into
memory to be executed. The system may provide absolute loaders, relocatable loaders, linkage editors,
and overlay loaders. Debugging systems for either higher-level languages or machine language are
needed as well.
6. Communications – These programs provide the mechanism for creating virtual connections among
processes, users, and computer systems. They allow users to send messages to one another’s screens,
to browse Web pages, to send e-mail messages, to log in remotely.

7. Background services - Some of these processes terminate after completing their tasks, while others
continue to run until the system is halted. Constantly running system-program processes are known as
services, subsystems, or daemons.

Difference between Multiprogramming and Time sharing

Feature Multiprogramming Time Sharing


Multiple programs are kept in Multiple users access the system at
Basic Concept memory and CPU switches the same time with each getting
between them CPU time
To improve CPU utilization by To allow many users to work
Goal
reducing idle time interactively and simultaneously
No direct interaction with the Users interact with the system in
User Interaction
user; used for background jobs real-time through terminals
CPU switches rapidly between
CPU switches to next job when
CPU Scheduling users/programs after a fixed time
one is waiting (e.g., for I/O)
(called quantum)
Quick response is needed; each
Not a priority; jobs may take
Response Time user feels they are using the system
longer to finish
alone
Jobs are selected based on priority Each user/process gets a small time
Execution
or availability slice in turn (round-robin method)
Used in batch processing systems Used in interactive systems (e.g.,
System Type
(e.g., banking, billing) school computer labs, servers)
Running 3 background programs
10 students using a shared system,
Examples like compiler, printing, and
each running different applications
database processing
Efficiency – make sure CPU is Fairness – give every user/program
Focus
never idle a chance to run
Happens only when current job Happens after fixed time even if job
Job Switching Trigger
waits (like for I/O) is not waiting
Usually one user running multiple Multiple users using the system at
Number of Users
programs once
Users share CPU, memory, and I/O
Resource Sharing Programs share CPU and memory
devices
Evolution of operating System

Generation / Key Features


Type of OS Examples
Period
1st - Users interacted directly with
Generation No Operating System hardware- Programs loaded manually ENIAC, UNIVAC
(1940s–50s) with switches or punch cards
2nd - Jobs grouped into batches- No user
Batch Operating
Generation interaction during execution- Slow but IBM 1401, IBM 7094
System
(1950s–60s) better than manual run
3rd - Multiple programs in memory- CPU
Generation Multiprogramming OS switches between jobs for better OS/360, UNIVAC
(1960s–70s) efficiency
- Multiple users share CPU at the same
Time-Sharing OS MULTICS, UNIX
time- Quick response using time slices
4th - Designed for individual users- GUI
Personal Computer MS-DOS, Windows 3.1,
Generation introduced (Graphical User Interface)-
(PC) OS Mac OS
(1970s–90s) Easy to use
- Manages a group of computers over a
Distributed Operating
network- Appears as one single system LOCUS, Amoeba, Mach
System
to the user
5th - Responds to inputs instantly- Used in
Generation / time-critical systems like aircraft,
Real-Time Operating
Modern medical devices VxWorks, RTLinux
System (RTOS)
(1990s–
Present)
- Supports file sharing, communication
Network Operating Novell NetWare,
over network- Manages resources on
System (NOS) Windows Server
multiple connected systems
- Used in smartphones and tablets-
Mobile Operating
Touchscreen-based, optimized for Android, iOS
System
mobile hardware
- Manages cloud infrastructure and
Cloud Operating Chrome OS, Windows
virtual machines- Runs apps and stores
System Azure, AWS
data online

You might also like