Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
9 views37 pages

(Lecture 3,4,5) - (Advanced Operating System Concepts)

The document outlines advanced operating system concepts, including Distributed, Real-time, Batch Processing, Multithreaded, and Parallel Operating Systems, highlighting their characteristics, advantages, and challenges. It discusses the evolution of operating systems and the importance of understanding these paradigms for efficient software design. The instructor for the course is Dr. Swati Vashisht from IILM University, Greater Noida.

Uploaded by

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

(Lecture 3,4,5) - (Advanced Operating System Concepts)

The document outlines advanced operating system concepts, including Distributed, Real-time, Batch Processing, Multithreaded, and Parallel Operating Systems, highlighting their characteristics, advantages, and challenges. It discusses the evolution of operating systems and the importance of understanding these paradigms for efficient software design. The instructor for the course is Dr. Swati Vashisht from IILM University, Greater Noida.

Uploaded by

gauravheh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 37

IILM UNIVERSITY GREATER NOIDA

Course Name: Operating System

Course Code : UCS3002

Topic: Advance Operating System Concepts

Session : 2025-26

1
About the Educator
Instructor Name : Dr Swati Vashisht

Designation : Assistant Professor

Department of ML-DS

School of Computer Science and

Engineering

2
Outline of Lecture

1. Topic Name: Advance operating system concepts


Objective:
Introduction to several advanced operating system
paradigms: Distributed, Real-time, Batch Processing,
Multithreaded, and Parallel Operating Systems
Content:
• Batch processing system
• Parallel system
• Multithreaded systems
• Real time systems
• Distributed systems
• Interactive and time-sharing systems

3
Introduction to advance operating systems
Operating systems have evolved significantly from their early monolithic forms to
highly complex, specialized, and distributed architectures. This study delves into
several advanced operating system paradigms: Distributed, Real-time, Batch
Processing, Multithreaded, and Parallel Operating Systems. Each type addresses
specific computational challenges, offering unique advantages and posing distinct
design considerations. Understanding these systems is crucial for designing robust
and efficient software solutions in diverse computing environments, from embedded
systems to large-scale data centers.

4
Distributed operating system

A Distributed Operating System (DOS) manages a collection of


independent, networked computers and makes them appear to the
users as a single, coherent system. The key characteristic is
transparency: users are unaware of the distribution of resources and
processes across multiple machines.

5
Distributed operating system

Key Characteristics:
• Resource Sharing: Hardware and software resources (printers, files, CPUs) are
shared across the network.
• Concurrency: Multiple processes can execute simultaneously on different
machines.
• Openness: The system can be extended by adding new resources or machines.
• Scalability: The system can handle increased workloads by adding more nodes.
• Fault Tolerance: The system can continue to operate even if some nodes fail.

6
Distributed operating system
Transparency:
• Access Transparency: Users cannot tell if a resource is local or remote.
• Location Transparency: Users do not need to know the physical location of a
resource.
• Concurrency Transparency: Users are unaware of concurrent access to shared
resources.
• Replication Transparency: Users are unaware that multiple copies of a resource
exist.
• Failure Transparency: Users are unaware of component failures and recovery.
• Migration Transparency: Resources can move without affecting users.
• Performance Transparency: The system can be reconfigured to improve
performance without affecting users.
7
Distributed operating system

Advantages and Disadvantages


Advantages:
• Increased Reliability: If one machine fails, others can take over its tasks.
• Resource Sharing: Efficient utilization of resources across the network.
• Scalability: Easy to add new nodes to increase processing power or storage.
• Communication: Facilitates communication and data exchange among users.

8
Distributed operating system

Disadvantages:
• Complexity: Designing and implementing DOS is highly complex.
• Security Issues: Distributed nature makes security more challenging.
• Debugging: Debugging distributed applications is notoriously difficult.
• Network Overhead: Communication between nodes introduces network latency
and overhead.

9
Distributed operating system

Design Issues
• Communication: Inter-process communication (IPC) mechanisms (message
passing, remote procedure calls).
• Process Management: Process migration, load balancing, distributed scheduling.
• File Systems: Distributed file systems (DFS) ensuring data consistency and
availability.
• Synchronization: Distributed mutual exclusion, distributed deadlock detection.
• Fault Tolerance and Recovery: Checkpointing, replication, recovery protocols.

10
Real-Time Operating Systems (RTOS)

A Real-Time Operating System (RTOS) is an operating system intended to serve real-time


applications that process data as it comes in, typically without buffering delays. The critical
characteristic of an RTOS is its ability to guarantee a response within specified time
constraints.

11
Real-Time Operating Systems (RTOS)

Key Characteristics:
• Timeliness (Determinism): The most crucial aspect. Tasks must complete within a strict
deadline.
• Predictability: The system's behavior, especially timing, must be predictable.
• Responsiveness: The ability to quickly respond to external events.
• Reliability: High reliability is essential, as failures can have severe consequences.
• Small Footprint: Often used in embedded systems with limited memory.
• Preemptive Kernel: Allows higher-priority tasks to interrupt lower-priority tasks
immediately.

12
Real-Time Operating Systems (RTOS)

Types of Real-Time Systems


• Hard Real-Time Systems: Missing a deadline is a catastrophic failure. Examples: flight
control systems, medical devices, industrial process control.
• Soft Real-Time Systems: Missing a deadline is undesirable but not catastrophic;
performance degrades. Examples: multimedia streaming, online gaming, network routers.
• Firm Real-Time Systems: Intermediate between hard and soft. Missing a deadline
occasionally is tolerable, but repeated misses lead to system failure.

13
Real-Time Operating Systems (RTOS)

Applications of RTOS
• Embedded systems
• Industrial automation and control
• Automotive systems (e.g., ABS, engine control)
• Medical devices
• Aerospace and defense systems
• Telecommunications equipment

14
Batch Processing Operating Systems

A Batch Processing Operating System processes jobs in batches without manual


intervention. Users submit their jobs (programs, data, and control commands) to the operator,
who then groups similar jobs together and executes them as a batch.

15
Batch Processing Operating Systems

Key Characteristics:
• Non-Interactive: No direct interaction between the user and the running job.
• Job Queues: Jobs are collected and placed in a queue.
• Sequential Execution: Jobs are processed one after another.
• Resource Utilization: Aims to maximize CPU utilization by keeping it busy with a
continuous stream of jobs.
• No Time-Sharing: Unlike modern OS, there's no concept of sharing the CPU among
multiple interactive users.

16
Batch Processing Operating Systems

Advantages and Disadvantages


Advantages:
• High Throughput: Efficient for processing large volumes of data that do not require user
interaction.
• Reduced CPU Idle Time: Jobs run continuously, minimizing CPU waiting.
• Simple Management: Less complex to manage compared to interactive systems.

17
Batch Processing Operating Systems

Disadvantages:
• Lack of Interaction: Users cannot interact with their jobs once submitted.
• Debugging Difficult: Debugging can be challenging due to non-interactive nature.
• Turnaround Time: Can have long turnaround times if the queue is long.
• Resource Starvation: A short job might wait for a long time if it's behind a very long job.

18
Batch Processing Operating Systems

Evolution and Modern Relevance


Batch processing was dominant in early computing. While pure batch systems are rare today,
the concept lives on in:
• Data Warehousing: ETL (Extract, Transform, Load) processes.
• Financial Transactions: End-of-day processing, payroll.
• Scientific Simulations: Long-running computations.
• Command-line scripts and cron jobs on modern operating systems.

19
Interactive and Time-Sharing Operating Systems

Interactive operating systems allow direct communication between the user and the
computer, enabling immediate feedback and dynamic control over programs. Time-sharing
systems are a type of interactive OS that allows multiple users to share a single computer
simultaneously. The CPU rapidly switches between different users' programs, giving each
user the illusion of having dedicated access to the system.

20
Interactive and Time-Sharing Operating Systems

Key Characteristics:
• Interactive: Users can provide input and receive output immediately.
• Multi-user: Supports multiple users concurrently.
• CPU Scheduling: Employs sophisticated CPU scheduling algorithms (e.g., Round
Robin) to ensure fair allocation of CPU time among users.
• Memory Management: Requires robust memory management techniques (e.g., paging,
segmentation) to protect each user's memory space.
• File System: Provides a hierarchical file system for easy organization and access to
user files.

21
Interactive and Time-Sharing Operating Systems

Advantages:
• Direct Interaction: Enhances user productivity and experience.
• Resource Sharing: Efficiently utilizes expensive computer resources among many users.
• Reduced Turnaround Time: Users get immediate results for their tasks.
• Concurrency: Allows multiple tasks to appear to run simultaneously.

22
Interactive and Time-Sharing Operating Systems

Disadvantages:
• Increased Complexity: More complex to design and implement than batch systems.
• Overhead: Context switching and managing multiple users introduce overhead.
• Security Concerns: Protecting user data and preventing unauthorized access is crucial.
• Resource Contention: Multiple users competing for resources can lead to performance
degradation.

23
Multithreaded Operating Systems

A multithreaded operating system supports the execution of multiple threads within a


single process. A thread is the smallest unit of execution that can be scheduled by an
operating system. Threads within the same process share the same memory space,
code, and resources, but each has its own program counter, stack, and set of registers.

24
Multithreaded Operating Systems

Key Concepts:
• Process vs. Thread:
Process: An independent execution environment with its own memory space and
resources.
Thread: A lightweight unit of execution within a process, sharing resources with other
threads of the same process.
• Concurrency vs. Parallelism:
Concurrency: Multiple tasks making progress over time, possibly interleaved on a single
CPU.
Parallelism: Multiple tasks executing simultaneously on multiple CPUs/cores.

25
Multithreaded Operating Systems

• User-Level Threads (ULT): Managed by a user-level library; the OS is unaware of


individual threads. Fast context switching but blocking system calls block the entire
process.
• Kernel-Level Threads (KLT): Managed directly by the OS kernel. Slower context
switching but blocking system calls only block the calling thread.
• Hybrid (Many-to-Many): Maps multiple user-level threads to a smaller or equal
number of kernel threads.

26
Multithreaded Operating Systems

Advantages:
• Responsiveness: An application can remain responsive even if part of it is
blocked.
• Resource Sharing: Threads within a process share resources, reducing
overhead.
• Economy: Creating and managing threads is less expensive than processes.
• Scalability: Can take advantage of multi-core processors for true parallelism.

27
Multithreaded Operating Systems

Disadvantages:
• Synchronization Issues: Shared memory can lead to race conditions and
deadlocks.
• Complexity: Programming multithreaded applications is more complex.
• Debugging: Debugging concurrent issues is challenging.
• Overhead: While lighter than processes, threads still incur some overhead.

28
Multithreaded Operating Systems

Threading Models
• Many-to-One: Many user threads map to one kernel thread.
• One-to-One: Each user thread maps to a kernel thread.
• Many-to-Many: Multiple user threads map to a smaller or equal number of kernel
threads.

29
Multithreaded Operating Systems
Synchronization Mechanisms
To prevent data corruption and ensure consistency in multithreaded environments,
synchronization mechanisms are crucial:
• Mutexes (Mutual Exclusion): Locks that protect critical sections of code, ensuring only
one thread can access a shared resource at a time.
• Semaphores: Signaling mechanisms used to control access to a common resource by
multiple processes or threads.
• Condition Variables: Allow threads to wait for a specific condition to become true
before proceeding.
• Readers-Writers Locks: Allow multiple readers to access a resource concurrently but
only one writer at a time.

30
Parallel Operating Systems

A Parallel Operating System is designed to manage and utilize the resources of a


parallel computer system, which typically consists of multiple processors (or cores) that
share access to memory. The primary goal is to enable the simultaneous execution of
multiple parts of a program or multiple programs to achieve higher performance.

31
Parallel Operating Systems
Key Characteristics:
• Multiple Processors/Cores: Core feature, enabling true parallel execution.
• Shared Memory (Symmetric Multiprocessing - SMP): Processors share a common
memory space.
• Distributed Memory (Massively Parallel Processing - MPP): Each processor has its
own local memory, and communication happens via message passing.
• Load Balancing: Distributing tasks evenly across available processors.
• Synchronization: Mechanisms to coordinate access to shared data.
• Scalability: Ability to increase performance by adding more processors.

32
Parallel Operating Systems

Types of Parallel Systems


1. Symmetric Multiprocessing (SMP):
Multiple identical processors connected to a single shared main memory.
All processors have equal access to memory and I/O devices.
Managed by a single instance of the operating system.
Examples: Modern multi-core CPUs in personal computers and servers.

33
Parallel Operating Systems
2. Massively Parallel Processing (MPP):
Many independent processors, each with its own memory and OS instance.
Processors communicate via high-speed interconnection networks (message passing).
Highly scalable, used for supercomputing and large clusters.

3. Non-Uniform Memory Access (NUMA):


Multiple processors with local memory, but also access to remote memory.
Access to local memory is faster than remote memory.
Aims to scale beyond SMP limits while retaining some shared memory benefits.

34
Parallel Operating Systems
Design Issues
• Process/Thread Scheduling: Scheduling tasks across multiple processors efficiently.
• Memory Management: Managing shared memory, cache coherence, and NUMA
considerations.
• Synchronization: Ensuring consistent access to shared data across multiple
processors.
• Inter-Processor Communication: Efficient mechanisms for processors to exchange
data.
• Load Balancing: Dynamically distributing workload to prevent processor idle time.

35
Parallel Operating Systems

Applications
Parallel operating systems are fundamental to:
• High-Performance Computing (HPC): Scientific simulations, weather modeling, molecular
dynamics.
• Big Data Analytics: Processing massive datasets (e.g., Hadoop, Spark).
• Artificial Intelligence/Machine Learning: Training complex models.
• Database Systems: Parallel query processing.
• Server Systems: Handling high volumes of concurrent requests.

36
37

You might also like