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

Overview of General Purpose Operating Systems

The document provides an overview of General Purpose Operating Systems (GPOS), detailing their components, history, structure, and services. It explains the roles of hardware, operating systems, application programs, and users, as well as the evolution of operating systems from batch processing to modern mobile and cloud environments. Various OS architectures such as monolithic, microkernel, layered, and exokernel structures are discussed, highlighting their advantages and disadvantages.

Uploaded by

sibhi.naren
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)
8 views37 pages

Overview of General Purpose Operating Systems

The document provides an overview of General Purpose Operating Systems (GPOS), detailing their components, history, structure, and services. It explains the roles of hardware, operating systems, application programs, and users, as well as the evolution of operating systems from batch processing to modern mobile and cloud environments. Various OS architectures such as monolithic, microkernel, layered, and exokernel structures are discussed, highlighting their advantages and disadvantages.

Uploaded by

sibhi.naren
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

General Purpose Operating Systems (GPOS)

Sivasankar Ganesan

Amrita School of Engineering, Coimbatore

November 30, 2025

Sivasankar G (g sivasankar@[Link]) Amrita Vishwa Vidyapeetham November 30, 2025 1 / 37


Overview

1 Components of a Computer System

2 Introduction to Operating Systems


Introduction
OS Services

3 Operating Systems - History

4 Operating Systems - Structure


Monolithic Structure
Microkernel Structure
Layered Structure
Exokernel Structure
Hybrid Kernel Structure

Sivasankar G (g sivasankar@[Link]) Amrita Vishwa Vidyapeetham November 30, 2025 2 / 37


Components of a Computer System

Components of a Computer System

Sivasankar G (g sivasankar@[Link]) Amrita Vishwa Vidyapeetham November 30, 2025 3 / 37


Components of a Computer System

Components of a Computer System


Overview
A computer system consists of several interdependent components that work
together to perform computation and serve user needs.
The main components are: Hardware, Operating System, and Application
Programs.
1. Hardware
Provides the basic computing resources needed to execute programs.
Includes the CPU (Central Processing Unit), main memory, and
input/output devices.
Hardware performs all low-level operations such as arithmetic, logic, data
storage, and data transfer.
2. Operating System (OS)
Acts as an intermediary between hardware and the user.
Manages and coordinates hardware resources among multiple applications
and users.
Provides essential services like process management, memory management,
and file handling.
Sivasankar G (g sivasankar@[Link]) Amrita Vishwa Vidyapeetham November 30, 2025 4 / 37
Components of a Computer System

Components of a Computer System

3. Application Programs
Define how system resources are used to solve specific user problems.
Examples include: Word processors, Compilers, Web browsers, Database
systems, and Video games.
4. Users
Users may include:
People (end users, administrators)
Machines (embedded controllers, IoT devices)
Other computers (networked systems, cloud nodes)

Sivasankar G (g sivasankar@[Link]) Amrita Vishwa Vidyapeetham November 30, 2025 5 / 37


Components of a Computer System

Computer System Interaction Diagram


System Interaction
The Operating System lies between hardware and application software.
It enables users and applications to interact efficiently with the hardware.
This layered architecture ensures modularity and ease of maintenance.

Figure: Abstract view of the components of a computer system

(Courtesy:Silberschatz et al., 10th Ed.)


Sivasankar G (g sivasankar@[Link]) Amrita Vishwa Vidyapeetham November 30, 2025 6 / 37
Introduction to Operating Systems

Introduction to Operating Systems

Sivasankar G (g sivasankar@[Link]) Amrita Vishwa Vidyapeetham November 30, 2025 7 / 37


Introduction to Operating Systems Introduction

Introduction to Operating Systems

Definition
An Operating System (OS) is a system software that acts as an
intermediary between the user and the computer hardware.
It provides an environment in which users can execute programs conveniently
and efficiently.

Goals of an Operating System


Program Execution: Execute user programs and make solving user problems
easier.
User Convenience: Make the computer system simple and comfortable to
use.
Resource Utilization: Use the computer hardware efficiently to maximize
performance.

Sivasankar G (g sivasankar@[Link]) Amrita Vishwa Vidyapeetham November 30, 2025 8 / 37


Introduction to Operating Systems Introduction

Roles of an Operating System

1. Resource Manager
Manages system resources such as CPU, memory, storage, and I/O
devices.
Ensures fair and efficient allocation among multiple users or programs.

2. Control Program
Controls the execution of user applications to maintain system integrity.
Prevents errors, conflicts, and unauthorized access to system resources.

3. Kernel
The core component of the operating system that runs continuously.
Handles critical tasks such as process management, interrupt handling, and
hardware communication.
Loaded at startup by the bootstrap program.

Sivasankar G (g sivasankar@[Link]) Amrita Vishwa Vidyapeetham November 30, 2025 9 / 37


Introduction to Operating Systems OS Services

Introduction to OS Services

Overview
An Operating System (OS) provides an environment for program execution
and offers a variety of services to both users and system programs.
These services are broadly classified into two categories:
1 User-Oriented Services – Functions that make system use convenient for
users.
2 System-Oriented Services – Functions that ensure efficient and secure
operation of the system.

Purpose of OS Services
Simplify program execution and hardware interaction.
Improve resource utilization, performance, and reliability.
Provide a user-friendly interface between applications and hardware.

Sivasankar G (g sivasankar@[Link]) Amrita Vishwa Vidyapeetham November 30, 2025 10 / 37


Introduction to Operating Systems OS Services

User-Oriented OS Services

1. User Interface (UI)


Provides a medium for user interaction with the computer.
Examples include: CLI (Command Line Interface), GUI (Graphical User
Interface), Touch Interface, and Batch Interface.

2. Program Execution
Loads programs into memory, executes them, and handles termination
(normal or error).
Ensures proper execution flow and returns output to the user or calling
program.

3. I/O Operations
Manages input and output operations for devices and files.
Abstracts hardware complexities to provide uniform access methods.

Sivasankar G (g sivasankar@[Link]) Amrita Vishwa Vidyapeetham November 30, 2025 11 / 37


Introduction to Operating Systems OS Services

User-Oriented OS Services

4. File System Manipulation


Provides mechanisms to create, read, write, delete, and search files and
directories.
Manages file permissions, metadata, and access control lists.

5. Communications
Enables processes to exchange data within the same system or across a
network.
Communication methods include shared memory and message passing.

6. Error Detection
Continuously monitors the system for hardware, I/O, or software errors.
Takes corrective actions to maintain consistent and reliable system operation.

Sivasankar G (g sivasankar@[Link]) Amrita Vishwa Vidyapeetham November 30, 2025 12 / 37


Introduction to Operating Systems OS Services

System-Oriented OS Services

7. Resource Allocation
Allocates system resources such as CPU cycles, memory, and I/O devices to
multiple processes or users.
Ensures fairness, priority handling, and optimized system utilization.

8. Logging and Accounting


Records resource usage and system activity for performance evaluation.
Supports user billing, system monitoring, and troubleshooting.

9. Protection and Security


Prevents unauthorized access to system resources.
Provides authentication, access control, and encryption mechanisms to
ensure data integrity and privacy.

Sivasankar G (g sivasankar@[Link]) Amrita Vishwa Vidyapeetham November 30, 2025 13 / 37


Introduction to Operating Systems OS Services

OS Service Model

Figure: Overview of User-Oriented and System-Oriented OS Services.

(Courtesy:Silberschatz et al., 10th Ed.)

Sivasankar G (g sivasankar@[Link]) Amrita Vishwa Vidyapeetham November 30, 2025 14 / 37


Operating Systems - History

Operating Systems - History

Sivasankar G (g sivasankar@[Link]) Amrita Vishwa Vidyapeetham November 30, 2025 15 / 37


Operating Systems - History

Early Operating Systems (1940s-1950s)

1940s: Batch processing systems.


1950s: Introduction of magnetic tapes for I/O.
Single-tasking systems with minimal user interaction.

Sivasankar G (g sivasankar@[Link]) Amrita Vishwa Vidyapeetham November 30, 2025 16 / 37


Operating Systems - History

1960s-1970s: Time-Sharing Systems

Introduction of time-sharing systems.


Enabled multiple users to interact with the computer simultaneously.
Development of UNIX in 1969.

Sivasankar G (g sivasankar@[Link]) Amrita Vishwa Vidyapeetham November 30, 2025 17 / 37


Operating Systems - History

1980s-1990s: Graphical User Interfaces

Rise of personal computers.


Introduction of GUIs (e.g., Windows, Mac OS).
Networking capabilities and early internet integration.

Sivasankar G (g sivasankar@[Link]) Amrita Vishwa Vidyapeetham November 30, 2025 18 / 37


Operating Systems - History

2000s-Present: Mobile and Cloud OS

Operating systems have evolved significantly over the decades.


Development of mobile OS (e.g., Android, iOS).
Growth of cloud computing and virtualized environments.
Focus on security, scalability, and user experience.
Future trends include AI integration and quantum computing OS.

Sivasankar G (g sivasankar@[Link]) Amrita Vishwa Vidyapeetham November 30, 2025 19 / 37


Operating Systems - Structure

Operating Systems - Structure

Sivasankar G (g sivasankar@[Link]) Amrita Vishwa Vidyapeetham November 30, 2025 20 / 37


Operating Systems - Structure Monolithic Structure

Monolithic Structure in Operating Systems


Overview:
A type of OS architecture where all system components are integrated into a
single kernel.
Known for its tightly coupled design and high performance.
Key Characteristics:
Single Kernel: All OS functions, including device drivers, file systems, and
memory management, run in kernel space.
Tightly Coupled: Components are directly connected, enabling faster
interactions.
Complex Design: Large codebase with minimal separation of concerns.

Sivasankar G (g sivasankar@[Link]) Amrita Vishwa Vidyapeetham November 30, 2025 21 / 37


Operating Systems - Structure Monolithic Structure

Advantages and Disadvantages of Monolithic Structure

Advantages: Why Use Monolithic OS Structure?


High Performance: Faster system calls due to fewer context switches.
Efficient Communication: Direct interaction between modules within the
kernel.
Unified Design: All components are developed and optimized together.
Disadvantages: Challenges with Monolithic OS Structure:
Difficult Maintenance: Changes or debugging require modifying the entire
kernel.
Crash Vulnerability: A failure in any module can crash the entire system.
Limited Modularity: Difficult to isolate and replace components.

Sivasankar G (g sivasankar@[Link]) Amrita Vishwa Vidyapeetham November 30, 2025 22 / 37


Operating Systems - Structure Monolithic Structure

Examples of Monolithic Operating Systems

Notable Examples:
UNIX: Early UNIX operating systems adopted a monolithic kernel structure.
Linux: Early versions of the Linux kernel.
MS-DOS: A simpler example of a monolithic OS design.

Sivasankar G (g sivasankar@[Link]) Amrita Vishwa Vidyapeetham November 30, 2025 23 / 37


Operating Systems - Structure Microkernel Structure

Microkernel Structure in Operating Systems


Overview:
A minimalist OS architecture where only essential services (e.g., process
management, memory management, IPC) run in the kernel space.
Additional services (e.g., device drivers, file systems) are implemented in user
space.
Key Characteristics:
Minimal Kernel: Focuses on core functionality to enhance modularity and
reliability.
User Space Services: Non-critical services operate outside the kernel,
reducing the impact of failures.
Inter-Process Communication (IPC): Relies heavily on IPC for
communication between user-space services and the kernel.

Sivasankar G (g sivasankar@[Link]) Amrita Vishwa Vidyapeetham November 30, 2025 24 / 37


Operating Systems - Structure Microkernel Structure

Advantages and Disadvantages of Microkernel Structure

Advantages: Why Use Microkernel OS Structure?


Modularity: Simplifies debugging, maintenance, and upgrades due to
separate user-space services.
Reliability: Faults in user-space services do not crash the entire system.
Portability: Easier to adapt to new hardware architectures by keeping the
kernel minimal.
Disadvantages: Challenges with Microkernel OS Structure:
Performance Overhead: Frequent IPC and context switches can reduce
efficiency.
Complex Communication: Extensive reliance on IPC increases complexity
in design and implementation.
Limited Adoption: Less widespread than monolithic kernels due to design
challenges.

Sivasankar G (g sivasankar@[Link]) Amrita Vishwa Vidyapeetham November 30, 2025 25 / 37


Operating Systems - Structure Microkernel Structure

Example of Microkernel Structure

Example: Minix and QNX


Minix:
Designed as a teaching tool for understanding OS architecture.
Known for its simplicity and reliability, with a small and efficient kernel.
QNX:
A real-time operating system widely used in automotive, medical, and
industrial applications.
Emphasizes fault tolerance and modularity by separating services into user
space.

Sivasankar G (g sivasankar@[Link]) Amrita Vishwa Vidyapeetham November 30, 2025 26 / 37


Operating Systems - Structure Layered Structure

Layered Operating System Structure


Overview:
OS is divided into multiple layers, each with specific functionalities.
Each layer interacts only with its adjacent layers.
Aimed at achieving modularity and simplicity in OS design.
Key Features:
Hierarchical Design: Layers are organized in a strict hierarchy, starting from
hardware at the bottom.
Layer Independence: Changes in one layer do not affect others, ensuring
modularity.
Layer Communication: Each layer can only communicate with the one
above or below it.

Sivasankar G (g sivasankar@[Link]) Amrita Vishwa Vidyapeetham November 30, 2025 27 / 37


Operating Systems - Structure Layered Structure

Advantages and Disadvantages of Layered OS Structure

Advantages: Why Use Layered OS Structure?


Modularity: Each layer can be developed, tested, and debugged
independently.
Simplicity: Layered structure simplifies the design and understanding of the
OS.
Ease of Maintenance: Modifications in one layer do not require changes in
others, making maintenance easier.
Disadvantages: Challenges with Layered OS Structure:
Performance Overhead: Layered communication and context switching can
introduce delays.
Complexity in Layering: Defining clear boundaries between layers may lead
to additional complexity in design.
Inflexibility: Tight coupling between adjacent layers can limit the ability to
adapt or reconfigure.

Sivasankar G (g sivasankar@[Link]) Amrita Vishwa Vidyapeetham November 30, 2025 28 / 37


Operating Systems - Structure Layered Structure

Example of Layered OS Structure

Example: THE Operating System


THE (Theoretical Operating System):
A pioneering OS designed with a layered structure.
Divides the OS into several layers, with each layer performing specific tasks
like process management, memory management, and I/O control.

Sivasankar G (g sivasankar@[Link]) Amrita Vishwa Vidyapeetham November 30, 2025 29 / 37


Operating Systems - Structure Exokernel Structure

Exokernel Structure in Operating Systems


Overview:
Exokernel is an OS architecture that minimizes the kernel’s role by providing
only the essential hardware abstractions.
It aims to allow applications to have more control over hardware resources,
enhancing performance and flexibility.
Key Features:
Minimalist Kernel: Provides low-level, hardware-oriented abstractions but
leaves higher-level management to the application.
Resource Allocation: Applications manage their own resources, such as
memory and I/O, instead of the kernel.
Direct Access to Hardware: Enables applications to directly interact with
hardware, improving performance for specialized tasks.

Sivasankar G (g sivasankar@[Link]) Amrita Vishwa Vidyapeetham November 30, 2025 30 / 37


Operating Systems - Structure Exokernel Structure

Advantages and Disadvantages of Exokernel Structure

Advantages: Why Use Exokernel OS Structure?


Performance: Allows applications to directly access hardware, reducing
overhead and increasing efficiency.
Flexibility: Applications have complete control over resource management,
making it easier to optimize for specific tasks.
Customization: Enables more tailored system behavior by allowing
applications to define their own abstractions.
Disadvantages: Challenges with Exokernel OS Structure:
Complexity: Application developers must handle low-level resource
management, increasing the complexity of development.
Security Risks: Direct access to hardware may expose the system to security
vulnerabilities if applications are not carefully managed.
Lack of Generality: The highly specialized nature of Exokernel can limit its
applicability to general-purpose systems.

Sivasankar G (g sivasankar@[Link]) Amrita Vishwa Vidyapeetham November 30, 2025 31 / 37


Operating Systems - Structure Exokernel Structure

Example of Exokernel Structure

Example: The Exokernel (Xok) System


Xok:
Developed at MIT, Xok is one of the most prominent examples of an
Exokernel-based operating system.
It provides a minimal kernel that focuses on resource allocation and allows
user-level programs to manage their own abstractions for tasks such as
memory and I/O management.

Sivasankar G (g sivasankar@[Link]) Amrita Vishwa Vidyapeetham November 30, 2025 32 / 37


Operating Systems - Structure Hybrid Kernel Structure

Hybrid Kernel Structure in Operating Systems

Overview:
Hybrid kernel combines elements of both monolithic and microkernel
architectures.
Attempts to balance performance and modularity by incorporating features of
both designs.
Key Features:
Monolithic Core with Modularity: The kernel includes essential services
like device drivers, but they may run in user space to offer some degree of
isolation.
Performance: Like monolithic kernels, hybrid kernels tend to have better
performance due to fewer context switches, but they also provide some
modularity and isolation.
Flexibility: Allows for the integration of modular components without
sacrificing the performance benefits of a monolithic structure.

Sivasankar G (g sivasankar@[Link]) Amrita Vishwa Vidyapeetham November 30, 2025 33 / 37


Operating Systems - Structure Hybrid Kernel Structure

Hybrid Kernel Structure in Operating Systems

Sivasankar G (g sivasankar@[Link]) Amrita Vishwa Vidyapeetham November 30, 2025 34 / 37


Operating Systems - Structure Hybrid Kernel Structure

Advantages and Disadvantages of Hybrid Kernel Structure


Advantages: Why Use Hybrid Kernel OS Structure?
Balanced Performance: Offers better performance than microkernels by
running critical services in kernel space while maintaining modularity.
Flexibility: Combines the benefits of both monolithic and microkernel
structures, allowing for modular components while still ensuring efficient
performance.
Improved Stability: Hybrid kernels can isolate faults better than monolithic
kernels, improving overall system stability.
Disadvantages: Challenges with Hybrid Kernel OS Structure:
Increased Complexity: The combination of features from both monolithic
and microkernel structures can result in a more complex kernel design.
Larger Codebase: Due to the integration of multiple components, the
kernel may have a larger codebase, making it harder to maintain.
Potential for Performance Overhead: While generally efficient, the hybrid
model might still suffer from some overhead due to the integration of
different architectural components.
Sivasankar G (g sivasankar@[Link]) Amrita Vishwa Vidyapeetham November 30, 2025 35 / 37
Operating Systems - Structure Hybrid Kernel Structure

Example of Hybrid Kernel Structure

Example: Windows NT and macOS


Windows NT:
Windows NT is one of the most well-known examples of a hybrid kernel.
It combines aspects of both monolithic and microkernel architectures, with a
small kernel core responsible for managing hardware and system services, while
additional components like device drivers and file systems run in user space.
macOS:
macOS uses a hybrid kernel called XNU (X is Not Unix).
It integrates elements of the Mach microkernel (for managing system
resources) with components of Berkeley Software Distribution (BSD) (for
system-level services).

Sivasankar G (g sivasankar@[Link]) Amrita Vishwa Vidyapeetham November 30, 2025 36 / 37


Acknowledgement

Thank you!

Sivasankar G (g sivasankar@[Link]) Amrita Vishwa Vidyapeetham November 30, 2025 37 / 37

You might also like