Overview of Operating System
Content
Quick Recap
Types of OS
Services of OS
Recap
Functions of OS:
Process management, Memory Management, I/O device management, File
management, Network Management, Security & Protection
Components of OS:
Kernel, Process Scheduler, PCB, Concurrency Control, Physical & virtual
memory manager, File handler, Device Driver, I/O controller, CLI, GUI,
Network Protocols & Interface;
Types of OS:
Batch OS, Spooling concept
Types of operating system
1. Batch OS
2. Multiprogramming OS
3. Multitasking/Time sharing OS
4. Multiprocessing OS
5. Real Time OS
6. Distributed OS
7. Clustered OS
8. Embedded OS
Process Execution
Aim: Minimize the CPU idleness
Process execution consists CPU execution & I/O execution.
Every process begins with CPU execution followed by I/O execution,
repeat the same, & ends with CPU execution.
CPU bound process requires most of the time on CPU; E.g.- For
heavy calculation
I/O bound process requires most of the time on I/O devices; E.g.- For
Printing the page
Batch OS
Only one job is given input at a time as there was no memory; computer
will take the input then process it and then generate output.
Common input/output device were punch card or tape drives. So, these
devices were very slow, and processor remain ideal most of the time.
Batch OS
To speed up the processing job with similar types (for e.g. FORTRAN
jobs, COBOL jobs etc.) were batched together and run through the
processor as a group (batch).
Disadvantage: CPU Idealness
Spooling (Simultaneous peripheral operations
online)
In a computer system input-output devices, such as printers are very slow
relative to the performance of the rest of the system.
Spooling is a process in which data is temporarily held in memory or other
volatile storage to be used by a device or a program.
Multiprogramming OS
Single user cannot always keep CPU and I/O devices busy
OS switches to and executes another job if the current job needs to wait,
utilizing the CPU effectively.
Multiprogramming organizes jobs so CPU always has one to execute
Non-preemptive
Advantages:
High CPU Utilization
Less Waiting Time: Minimizes idle time.
Multi-Task Handling: Manages concurrent tasks
Shared CPU Time: Increases system efficiency.
Disadvantages:
Complex Scheduling: Difficult to program.
Complex Memory Management: Intricate handling of memory is required.
Multitasking (Timesharing) OS
A logical extension of Multiprogramming systems– the CPU switches
jobs so frequently that users can interact with each job while it is running,
creating interactive computing.
Preemptive
In the modern operating systems, we are able to play MP3 music, edit
documents in Microsoft Word, surf the Google Chrome all running at the
same time. (by context switching, the illusion of parallelism is achieved).
Advantage: Responsiveness
Multiprocessing OS
Uses two or more CPU within a single computer system.
Multiple CPU’s share system bus, memory and other peripheral devices.
Multiple concurrent processes each can run on a separate CPU, here we
achieve a true parallel execution of processes.
CPU divides and conquers the jobs
Used in AI and expert system, image processing, weather forecasting, etc.
Advantages:
1. Increased throughput
2. Economy of scale
3. Increased reliability
Two types:
Asymmetric Multiprocessing – each processor is assigned a specie task.
Symmetric Multiprocessing – each processor performs all tasks
Symmetric Multiprocessing Architecture
Dual-Core Design
Multi-chip and multicore
Systems containing all chips
Chassis containing multiple separate systems
Multiprogramming Vs Multiprocessing OS
Point MultiProgramming MultiProcessing
Definition Allows multiple programs to Utilizes multiple CPUs to
share a single CPU. run multiple processes
concurrently.
Concurrency Simulates concurrent Achieves true parallel
execution by rapidly execution of processes.
switching between tasks.
Resource Utilization Maximizes CPU utilization Enhances performance by
by keeping it busy with allowing tasks to be
different tasks. processed simultaneously.
Hardware Requires only one CPU and Requires multiple CPUs,
Requirements manages multiple tasks on it. enabling parallel
processing.
Complexity and Less complex, primarily More complex, requiring
Coordination managing task switching on coordination among
one CPU. multiple CPUs.
Realtime OS
A special purpose OS which has well defined fixed time constraints.
Processing must be done within the defined time limit or the system will fail.
Two Types:
Hard realtime operating system- predicted by a deadline.
Soft realtime operating system- has certain deadlines, may be missed and
they will take the action at a time t=0+.
Distributed OS
Collection of separate, possibly heterogeneous, systems networked together
Advantages:
Resource sharing
Computation speedup
Reliability
Scalability
Communication
Clustered OS
Like multiprocessor systems, but multiple systems working together
Usually sharing storage via a storage-area network (SAN)
Provides a high-availability service which survives failures
Some clusters are for high-performance computing (HPC)
Applications must be written to use parallelization
Some have distributed lock manager (DLM) to avoid conflicting operations
Embedded OS
A specialized OS designed to perform a specific task for a device that is not a
computer.
The main job of an embedded OS is to run the code that allows the device to
do its job.
Examples: ATMs, cellphones, Microwave, electric vehicles, etc.
Upcoming topics
OS Services
System Calls
User & kernel mode
Storage structure & Hierarchy