Computer system overview, Architecture, Goals & Structures of
O.S, Basic functions, Interaction of O.S. & hardware architecture, System calls,
Batch, multiprogramming. Multitasking, time sharing, parallel, distributed & realtime
O.S.
1. UNIT-1____________________________________________INTODUCTION TO OPERATING SYSTEM
DEPT OF BCA, SRFGCC, BELAGAVI 2025-26____________________________________________
Page 1 of 36
INTRODUCTION TO OPERATING SYSTEM
_________________________________________________________________________
Introduction
An Operating System (OS) is an interface between computer user and computer hardware.
An operating system is software which performs all the basic tasks like file management, memory
management, process management, handling input and output, and controlling peripheral devices such as
disk drives and printers.
Some popular Operating Systems include Linux Operating System, Windows Operating System, VMS,
OS/400, AIX, z/OS, etc
Basics of Operating System:
Definition of Operating System (OS): An Operating system (OS) is system software that
manages computer hardware and software resources and provides common services for
computer programs. It acts as an interface between the user and the computer hardware.
Goals of Operating System:
1. Security and Protection
Access control: Prevent unauthorized access to data and resources.
Process isolation: Ensure that processes don’t interfere with each other.
2. Reliability and Stability
Crash prevention: Prevent system crashes or recover from them smoothly.
System integrity: Maintain consistency and correctness in operations.
3. Execute Programs
The OS provides the environment to load, run, and manage user and system programs.
It handles process creation, scheduling, and termination.
4. Make the Computer System Convenient to Use
The OS acts as a bridge between the user and hardware, hiding complex hardware operations.
It provides user interfaces (like GUI or CLI) to make interaction easy.
5. Use Computer Hardware in an Efficient Manner
The OS manages hardware resources like CPU, memory, disk, and I/O devices to ensure they are
used effectively.
It avoids waste and maximizes system performance through:
o Multiprogramming (running multiple processes)
o Efficient memory allocation
o Process scheduling
2. UNIT-1____________________________________________INTODUCTION TO OPERATING SYSTEM
DEPT OF BCA, SRFGCC, BELAGAVI 2025-26____________________________________________
Page 2 of 36
o I/O management
History Of Operating System:
The First Generation (1940's to early 1950's):
Electronic computers were first introduced in the 1940's they were created without any
operating systems. In this generation programming was done with absolute machine
language. As the computer is used for solving simple calculations, operating systems were
not necessarily needed. In the 1940s and 1950s, computers did not have operating systems.
Users operated machines manually. it often uses punch cards and paper tape to input
instructions. They use vacuum tubes for circuitry. They use magnetic drums for memory
purposes.
These systems were large and expensive. It is primarily used for scientific and military
purposes. This method was not only time-consuming but also prone to error.
Examples:
ENIAC (Electronic Numerical Integrator and Computer): One of the earliest general-
purpose computers. They are primarily used for military calculations.
UNIVAC I (Universal Automatic Computer I): The first commercially produced
computer in the United States. It is used for business and scientific applications.
Computer science degrees. These early computers were not user-friendly. They lacked the
operating systems we use today
Second Generation (1950s – 1960s) The second generation saw the introduction of
batch systems. A batch system allows users to group tasks and execute them in sequence.
This was a major improvement over the manual operation of earlier machines. During this
time, computers became more powerful.
3. UNIT-1____________________________________________INTODUCTION TO OPERATING SYSTEM
DEPT OF BCA, SRFGCC, BELAGAVI 2025-26____________________________________________
Page 3 of 36
Examples
IBM 7094: A highly popular mainframe computer that used transistors. It was used for
business and scientific tasks.
Batch Systems: These systems allowed tasks to be queued and processed sequentially
without human intervention, which increased efficiency. Computer programming bootcamps.
Operating systems started to manage resources like memory and processing time to help
multiple programs run.
Third Generation (1960s – 1970s):
The third generation of operating systems brought significant advancements in the way
computers operated. Multiprogramming and time-sharing systems were introduced.
Multiprogramming allowed multiple tasks to run at the same time, while time-sharing
enabled many users to use the system at once.
Example:
UNIX (1969): A powerful operating system that became widely used for academic and
business applications.
First version of DOS (Disk Operating System): Introduced as a simple system for personal
computers.
These operating systems were faster and more efficient than their predecessors. This makes
computers more accessible and useful.
Fourth Generation (1980s – 1990s)
The 1980s and 1990s marked the rise of personal computers (PCs) and the introduction of
Graphical User Interfaces (GUIs). With the development of personal computing, operating
systems became more accessible to the public. GUIs made computers easier to use. They
4. UNIT-1____________________________________________INTODUCTION TO OPERATING SYSTEM
DEPT OF BCA, SRFGCC, BELAGAVI 2025-26____________________________________________
Page 4 of 36
allow users to interact with the system through graphical icons and visual indicators rather
than text-based commands.
4th-generation computers use high-level programming languages such as C, C++, Pascal,
and SQL.
Example
MS-DOS: A command-line OS that was used on early PCs.
Windows: Became the most widely used OS due to its user-friendly interface.
MacOS: MacOS was designed to provide a simple, intuitive interface with a focus on
multimedia applications.
Linux: An open-source operating system that gained popularity in the academic and business
world due to its stability and flexibility.
Personal computers became more affordable, and more people started using them for work,
education, and entertainment.
Fifth Generation (1990s – Present)
The fifth generation of operating systems brought new challenges and opportunities. As
mobile phones, smart devices, and the Internet of Things (IoT) began to grow, new operating
systems were developed.
In addition, operating systems began integrating more advanced features like cloud
computing, artificial intelligence (AI), and machine learning.
5th-generation computers use high-level programming languages such as Prolog, Java,
Python, and R.
5. UNIT-1____________________________________________INTODUCTION TO OPERATING SYSTEM
DEPT OF BCA, SRFGCC, BELAGAVI 2025-26____________________________________________
Page 5 of 36
EXAMPLE:
Mobile and Smart Device OS:
iOS: Apple’s operating system for iPhones and iPads.
Android: The most widely used mobile operating system.
Embedded OS: Used in devices like home appliances, cars, and industrial machines.
Real-time operating systems: Essential for devices that require immediate responses.
In recent years, operating systems have also integrated advanced features such as AI,
machine learning, and cloud computing making them more powerful and adaptable.
Example Of Operating System:
Examples of Operating Systems and Their Uses:
Computer System Organizations
Components of Computers:
A computer system can be viewed as a layered model with four main components:
1. Hardware
2. Operating System
3. Application Programs
6. UNIT-1____________________________________________INTODUCTION TO OPERATING SYSTEM
DEPT OF BCA, SRFGCC, BELAGAVI 2025-26____________________________________________
Page 6 of 36
4. User
Each layer interacts with the one below it to deliver smooth functioning of the system.
Explanation of Components:
1. Computer Hardware:
● - Base layer of the system.
● - Includes CPU, memory, and I/O devices.
● - Provides physical resources needed for computation.
2. Operating System:
● - Acts as an intermediary between hardware and users.
● - Manages system resources and coordinates usage.
● - Provides a controlled environment for program execution.
3. Application Programs:
● - Solve user problems.
● - Examples include web browsers, compilers, word processors.
● - Rely on OS to access and utilize hardware resources.
4. User:
7. UNIT-1____________________________________________INTODUCTION TO OPERATING SYSTEM
DEPT OF BCA, SRFGCC, BELAGAVI 2025-26____________________________________________
Page 7 of 36
● - The person who uses the system.
● - Interfaces through keyboard, mouse, or touchscreen.
● - Goal is ease of use and smooth interaction.
User View:
● - Varies based on device type.
● - Desktop: focuses on performance and ease of use.
● - Mobile: touch-based interaction with voice control.
● - Embedded systems: minimal or no UI; run without user input.
System View:
● - OS acts as a resource allocator and control program.
● - Allocates CPU time, memory, storage, and I/O devices.
● - Controls program execution and prevents improper usage.
Conclusion:The abstract view shows how a computer system is structured in layers.
● The operating system plays a key role in managing and coordinating system resources.
apps and hardware.
● It manages resources (CPU, memory, devices).
Multi-User Interface: A Multi-User Interface is an environment where multiple users can
access the same computer system resources either simultaneously or at different times. The
Operating System is responsible for managing and isolating each user session efficiently.
8. UNIT-1____________________________________________INTODUCTION TO OPERATING SYSTEM
DEPT OF BCA, SRFGCC, BELAGAVI 2025-26____________________________________________
Page 8 of 36
Abstract View of Multi-User Interface
1.Compiler System (User 1)
● Translates high-level programming languages (like C, Java) into machine code.
● Converts the entire program before execution, producing an independent executable
file.
● Used by developers to build software applications
● Ensures faster execution after compilation as no interpretation is needed during
runtime.
Example: GCC (GNU Compiler Collection), Java Compiler
2. AssemblerSystem (User 2)
● Converts assembly language code into machine code
● Used by system-level programmers to interact with hardware
● Handles low-level operations with precision
3.Text Editor Application (User 3)
9. UNIT-1____________________________________________INTODUCTION TO OPERATING SYSTEM
DEPT OF BCA, SRFGCC, BELAGAVI 2025-26____________________________________________
Page 9 of 36
● Allows creation and editing of text files
● Used for writing scripts or programs
● Examples include Notepad, Vim, Sublime Text
4.Database System (User n)
● Manages storage, retrieval, and manipulation of data
● Supports querying and organizing structured data
● Examples include MySQL, Oracle, MongoDB
5. Operating System (OS)
● Connects applications with hardware
● Handles memory management, process scheduling, file handling, and security
● Enables multiple users to work on the same system without interference
● Examples include Windows, Linux, macOS
6. Computer Hardware Layer
● Includes CPU, RAM, storage devices, input and output device
● OS interacts with this layer to execute programs, manage memory, and operate
hardware efficiently
Types of operating system:
1. Batch Operating System
2. Time Sharing Multitasking Operating System
3. Multiprogramming Operating System
4. Realtime operating System
5. Distributed Operating System
6. Networks Operating System
7. Mobile Operating System
10. UNIT-1____________________________________________INTODUCTION TO OPERATING SYSTEM
DEPT OF BCA, SRFGCC, BELAGAVI 2025-26____________________________________________
Page 10 of 36
- Batch Operating System:Batch Operating System is a type of operating system in
which similar jobs are grouped together and executed sequentially without any user
interaction during execution. The jobs are submitted in batches and processed one
after the other.
Example:
IBM’s System/360 was one of the earliest and most widely used batch operating systems. It
was used in commercial and scientific applications where tasks like payroll, inventory
management, and data analysis were processed in batches without manual intervention.
Key Features:
- No direct user interaction during job execution.
- Jobs are collected, grouped, and executed in batches.
- Input is given through control cards or scripts.
- Jobs are managed using a job queue.
- Efficient for repetitive tasks.
Advantages:
- Efficient utilization of CPU and other system resources.
11. UNIT-1____________________________________________INTODUCTION TO OPERATING SYSTEM
DEPT OF BCA, SRFGCC, BELAGAVI 2025-26____________________________________________
Page 11 of 36
- Suitable for executing large amounts of data.
- Minimizes idle time of the system.
- Automation reduces human errors.
Disadvantages:
- No user interaction once job is submitted.
- Debugging is difficult due to lack of interaction.
- Time-consuming if an error occurs, as entire batch needs to be reprocessed.
- Not suitable for interactive tasks.
Real World Example:
Banks use batch processing for end-of-day transaction processing, like interest calculation
and statement generation. Once customer data is collected, the system processes all records
in batch mode during off-peak hours.
2)Time-Sharing Operating System (Multitasking OS)A Time-Sharing Operating System
is a type of OS that allows multiple users to access a computer system simultaneously by
allocating fixed time slots (quantum) to each task. The CPU switches between tasks rapidly,
giving the illusion that all tasks are being executed at the same time.
Example:
UNIX and Windows Server are prominent examples of Time-Sharing Operating Systems.
These systems are designed to handle multiple users or tasks efficiently by sharing CPU time
across sessions.
Key Features:
- Supports multiple users or processes simultaneously.
- Allocates CPU time slices to each process in a round-robin or priority-based manner.
12. UNIT-1____________________________________________INTODUCTION TO OPERATING SYSTEM
DEPT OF BCA, SRFGCC, BELAGAVI 2025-26____________________________________________
Page 12 of 36
- Enables real-time, interactive computing.
- Each user receives a prompt and fast response.
- Prevents resource monopolization by switching tasks rapidly.
Advantages:
- Interactive: Provides real-time interaction between the user and the system.
- Efficient CPU Utilization: Ensures that system resources are used effectively.
- Cost-Effective: Allows multiple users to share the same hardware infrastructure.
- Fair Resource Distribution: Prevents a single user or process from hogging resources.
Disadvantages:
- Performance Degradation: System can slow down when too many users/processes are
active.
- Security Issues: Multi-user environment may lead to vulnerabilities or accidental data
leaks.
- Complexity: Requires sophisticated scheduling and resource management techniques.
- Higher Maintenance: Requires more robust hardware and administrative effort.
Real-World Examples:
- Cloud Services (e.g., Google Docs, Microsoft 365): Allow many users to work in real-time
over the internet using shared computing power.
- Web Hosting Servers: Serve multiple clients simultaneously, balancing the load via time-
sharing.
- Educational Institutions: Shared lab systems where students simultaneously log in and use
resources.
3)Multiprogramming Operating System
A multiprogramming operating system allows multiple programs to reside in memory at the
same time. It increases CPU utilization by organizing jobs (code and data) so that the CPU
always has one to execute.
13. UNIT-1____________________________________________INTODUCTION TO OPERATING SYSTEM
DEPT OF BCA, SRFGCC, BELAGAVI 2025-26____________________________________________
Page 13 of 36
Example:
IBM OS/360, UNIX, early versions of Windows
Key Feature:
It switches between processes when one is waiting for I/O, allowing the CPU to execute
another program in the meantime.
Advantages:
- Efficient CPU usage without idle time
- Better system throughput
- Suitable for general-purpose computing
Disadvantages:
- Complex memory and CPU management
- Risk of system crashing if one job affects another
- Difficult to debug and maintain
Real-World Example:
14. UNIT-1____________________________________________INTODUCTION TO OPERATING SYSTEM
DEPT OF BCA, SRFGCC, BELAGAVI 2025-26____________________________________________
Page 14 of 36
In banking systems, while one process handles user transactions, another can generate
account summaries—both running concurrently to save time.
4) Real-Time Operating System
A real-time operating system (RTOS) is designed to serve real-time applications that process
data as it comes in, typically without buffering delays. It provides immediate output or
response within a guaranteed time frame.
There are 2 types of Real Time Operating System (RTOS)
• Hard RTOS – Strict timing (e.g., pacemakers, aircraft)
• Soft RTOS – Flexible timing (e.g., streaming, games)
Example:
VxWorks, QNX, RTLinux
Key Feature:
Deterministic response time — it ensures that tasks are executed within a strict deadline,
making it ideal for time-sensitive operations.
Advantages:
15. UNIT-1____________________________________________INTODUCTION TO OPERATING SYSTEM
DEPT OF BCA, SRFGCC, BELAGAVI 2025-26____________________________________________
Page 15 of 36
- Provides high reliability and precision
- Minimal response time for critical tasks
- Predictable and consistent performance
Disadvantages:
- Limited multitasking capabilities
- Expensive to develop and maintain
- Requires specialized hardware and programming
Real-World Example:
In automatic airbag systems in cars, an RTOS ensures the airbag deploys instantly upon
impact — even a delay of milliseconds could be dangerous. Similarly, used in medical
devices like pacemakers or ventilators where timely actions are life-saving.
5) Distributed Operating System:
A distributed operating system manages a group of independent computers and makes them
appear to the user as a single unified system. It allows resource sharing and communication
over a network while maintaining transparency.
Example:
Amoeba, LOCUS, Plan 9
Key Feature:
Transparency — users feel like they are working on a single system even though multiple
machines are involved. It hides complexities like file location, device differences, or job
distribution.
16. UNIT-1____________________________________________INTODUCTION TO OPERATING SYSTEM
DEPT OF BCA, SRFGCC, BELAGAVI 2025-26____________________________________________
Page 16 of 36
Advantages:
- Efficient resource sharing and load balancing
- High scalability and flexibility
- Increased fault tolerance (if one node fails, others keep running)
Disadvantages:
- Complex setup and maintenance
- Security risks due to data traveling over networks
- Network dependency can affect performance
Real-World Example:
Google Search Engine runs on a distributed OS model, where tasks are distributed across
thousands of servers worldwide, but the user experiences it as one seamless, lightning-fast
system. Another example is blockchain networks, where decentralized nodes work together
like a unified force.
6)Network Operating System
A network operating system (NOS) is software that manages network resources and enables
communication between connected devices over a network. It provides centralized control
over shared data, users, and security across multiple systems.
Example:Microsoft Windows Server, Novell NetWare, UNIX/Linux as servers
Key Feature:
Centralized management — resources like files, printers, and applications are managed from
a central server while users can access them from client machines.
17. UNIT-1____________________________________________INTODUCTION TO OPERATING SYSTEM
DEPT OF BCA, SRFGCC, BELAGAVI 2025-26____________________________________________
Page 17 of 36
Advantages:
- Enhanced security and data management
- Centralized backups and updates
- Easy file and resource sharing between connected systems
Disadvantages:
- Server dependency — if the main server fails, services may become inaccessible
- Expensive setup and maintenance
- Requires skilled administrators
Real-World Example:
A college computer lab running Windows Server to manage login access, shared files, and
printing tasks for all students and staff. The admin can monitor everything from one central
system, ensuring smooth operation and security.
7) Mobile Operating SystemA mobile operating system is a software platform designed to
run on handheld devices like smartphones, tablets, and wearables. It manages hardware, user
interface, applications, and connectivity functions seamlessly.
Example:
Android, iOS, HarmonyOS
18. UNIT-1____________________________________________INTODUCTION TO OPERATING SYSTEM
DEPT OF BCA, SRFGCC, BELAGAVI 2025-26____________________________________________
Page 18 of 36
Key Feature:
Touchscreen interface and app-based ecosystem — optimized for battery, sensors, and on-
the-go connectivity.
Advantages:
- Lightweight and optimized for limited hardware
- Rich user interface and app store availability
- Constant updates and enhancements
- Seamless connectivity (Bluetooth, Wi-Fi, GPS, etc.)
Disadvantages:
- Limited multitasking compared to desktops
- Security vulnerabilities due to third-party apps
- Restricted hardware upgradeability
Real-World Example:
Your smartphone running Android OS lets you text, call, browse, and access apps like
WhatsApp or Instagram — all managed by the mobile OS that balances performance,
battery, and connectivity in real-time.xecutes at a time, but others wait in memory.
CPU never stays idle if there are jobs ready to run.
Example: IBM OS/360, UNIX
19. UNIT-1____________________________________________INTODUCTION TO OPERATING SYSTEM
DEPT OF BCA, SRFGCC, BELAGAVI 2025-26____________________________________________
Page 19 of 36
Operating System Services
Definition:
An Operating System provides an environment for the execution of programs and services
that ensure efficient and secure operation of the computer system. OS services are essential
functionalities offered by the system software to facilitate the execution of user and system
programs.
Key Services Provided by an Operating System:
1. Program Execution:
The OS loads programs into memory and executes them. It handles process creation,
scheduling, and termination efficiently.
2. I/O Operations:
Since user programs cannot perform I/O operations directly, the OS provides mechanisms to
access and control I/O devices such as keyboard, mouse, disk, etc.
3. File System Manipulation:
OS provides services to read, write, create, delete, and manipulate files and directories. It
manages file permissions, file naming, and storage.
20. UNIT-1____________________________________________INTODUCTION TO OPERATING SYSTEM
DEPT OF BCA, SRFGCC, BELAGAVI 2025-26____________________________________________
Page 20 of 36
4. Communication Services:
Processes may need to communicate with each other. The OS provides interprocess
communication (IPC) using shared memory, message passing, sockets, etc.
5. Error Detection and Handling:
The OS monitors hardware and software operations to detect and respond to errors. It
ensures the proper functioning of the system and avoids data corruption.
6. Resource Allocation:
OS manages and allocates resources like CPU time, memory space, storage, and I/O devices
to various programs and users in a fair and efficient manner.
7. Security and Protection:
The OS ensures unauthorized access is prevented. It maintains user authentication, file
access control, and process isolation for secure execution.
8. User Interface:
The OS provides interfaces for user interaction:
- Command-Line Interface (CLI)
- Graphical User Interface (GUI)
This allows users to communicate with the system effectively.
Real-World Analogy:
Think of the OS as a hotel manager who handles check-ins (program execution), room keys
(security), guest communication (IPC), maintenance (error detection), resource allocation
(CPU, memory), and service requests (I/O).
Advantages:
- Provides a stable and efficient environment for applications
- Simplifies user interaction with hardware
- Manages resources effectively
- Ensures security and protection of system and data
Disadvantages:
- Complex design and development
- Consumes system resources (memory, processing power)
- Vulnerable to security threats if not updated
- May become obsolete with rapidly evolving hardware
21. UNIT-1____________________________________________INTODUCTION TO OPERATING SYSTEM
DEPT OF BCA, SRFGCC, BELAGAVI 2025-26____________________________________________
Page 21 of 36
Example OS with Robust Services:
- Microsoft Windows
- Linux (Ubuntu, Fedora)
- macOS
System Calls in Operating System (OS)
- A system call is a way for a user program to interface with the operating system.
- The program requests several services, and the OS responds by invoking a series of system
calls to satisfy the request.
- A system call can be written in assembly language or a high-level language like C or
Pascal.
- System calls are predefined functions that the operating system may directly invoke if a
high-level language is used.
Definition System Call
- A system call is a method for a computer program to request a service from the kernel of
the operating system on which it is running.
- A system call is a method of interacting with the operating system via programs.
- A system call is a request from computer software to an operating system's kernel.
How is system calls made :
- When computer software needs to access the operating system’s kernel, it makes a
system call.
- The system call uses an API to expose the operating system’s services to user
programs.
- It is the only method to access the kernel system.
- All programs or processes that require resources for execution must use system calls,
as they serve as an interface between the operating system and user programs
22. UNIT-1____________________________________________INTODUCTION TO OPERATING SYSTEM
DEPT OF BCA, SRFGCC, BELAGAVI 2025-26____________________________________________
Page 22 of 36
.
Below are some examples of how a system call varies from a user function
1. A system call function may create and use kernel processes to executethe asynchronous
processing.
2. A system call has greater authority than a standard subroutine. A system call with kernel-
mode privilege executes in the kernel protection domain.
3. System calls are not permitted to use shared libraries or any symbols that are not present in
the kernel protection domain.
4. The code and data for system calls are stored in global kernel memory.
Need of system call in OS:
There are various situations where you must require system calls in the operating system.
Following of the situations are as follows:
1. It is must require when a file system wants to create or delete a file.
2. Network connections require the system calls to sending and receiving data packets.
3. If you want to read or write a file, you need to system calls.
4. If you want to access hardware devices, including a printer, scanner, you need a system
call.
5. System calls are used to create and manage new processes.
23. UNIT-1____________________________________________INTODUCTION TO OPERATING SYSTEM
DEPT OF BCA, SRFGCC, BELAGAVI 2025-26____________________________________________
Page 23 of 36
System Call Working:
- The Applications run in an area of memory known as user space.
- A system call connects to the operating system's kernel, which executes in kernel space.
- When an application creates a system call, it must first obtain permission from the kern
.
- It achieves this using an interrupt request, which pauses the current process and transfers
control to the kernel.
- If the request is permitted, the kernel performs the requested action, like creating or
deleting a file.
- As input, the application receives the kernel's output.
- The application resumes the procedure after the input is received.- When the operation is
finished, the kernel returns the results to the application and then moves data from kernel
space to user space in memory.
Types Of System Calls
24. UNIT-1____________________________________________INTODUCTION TO OPERATING SYSTEM
DEPT OF BCA, SRFGCC, BELAGAVI 2025-26____________________________________________
Page 24 of 36
1.Process Control
Definition:
Process control system calls are used to manage processes in an operating system. These
calls allow the OS to create, schedule, terminate,and control the behavior of processes.
Key Features:
- Creation and termination of processes
- Loading and executing programs
- Allocating and deallocating resources for processes
Examples:
- fork()
- exec()
- exit()
- wait()
Advantage:
- Enables multitasking by handling multiple processes effectively.
- Helps in better resource management and control.
Disadvantage:
- Improper handling can lead to deadlocks or resource leakage.
Real World Example:
In Linux, running multiple applications like a browser, music player, and file manager at the
same time — all are managed via process control system calls.
25. UNIT-1____________________________________________INTODUCTION TO OPERATING SYSTEM
DEPT OF BCA, SRFGCC, BELAGAVI 2025-26____________________________________________
Page 25 of 36
2. File Management
Definition:
File management system calls are used to create, access, and manage files in an OS. These
allow processes to interact with the file system to read/write data.
Key Features:
- File creation and deletion
- File reading, writing, opening, and closing
- File permission management
Examples:
- open()
- read()
- write()
- close()
- delete()
Advantage:
- Provides organized storage and access to user and system data.
- Supports data consistency and security with access controls.
Disadvantage:
- File corruption or loss can occur if not handled properly.
- Complexity increases with large file systems.
Real World Example:When a user saves a Word document on Windows or Android
downloads a file, file management system calls are at work behind the scenes.
3. Device Management
Definition:
Device management system calls are used to request and release devices. These allow the OS
to communicate with hardware like printers, disks, and USBs through drivers.
Key Features:
26. UNIT-1____________________________________________INTODUCTION TO OPERATING SYSTEM
DEPT OF BCA, SRFGCC, BELAGAVI 2025-26____________________________________________
Page 26 of 36
- Allocating and deallocating devices
- Sending commands to devices
- Managing I/O buffering and scheduling
Examples:
- request_device()
- release_device()
- read()
- write()
- ioctl()
Advantage:
- Efficient hardware usage and resource sharing
- Supports asynchronous operations for better performance
Disadvantage:
- Mismanagement can lead to device conflicts or unresponsiveness
- Driver compatibility issues may arise
Real World Example:
When you plug in headphones and play music, the OS uses device management calls to route
audio through the correct output device.
4. Information Mamonitoring
Definition:
Information maintenance system calls handle metadata and system-level info related to
processes, users, and time. They maintain and provide access to system information.
Key Features:
- Getting and setting process attributes
- Setting system date, time, and user information
- Managing system configuration
Examples:
- getpid()
- set_time()
27. UNIT-1____________________________________________INTODUCTION TO OPERATING SYSTEM
DEPT OF BCA, SRFGCC, BELAGAVI 2025-26____________________________________________
Page 27 of 36
- getuid()
- alarm()
Advantage:
- Maintains system integrity and accurate state info
- Provides control to system-level functions for monitoring
Disadvantage:
- Improper changes might affect the system stability
- Security issues if accessed by unauthorized processes
Real World Example:
When an app displays the current time or checks the battery status — it uses information
maintenance calls under the hood.
5. Communication
Definition:
Communication system calls enable processes to communicate and synchronize. This is
essential in distributed systems or for inter-process communication (IPC).
Key Features:
- Message passing between processes
- Shared memory and sockets
- Synchronization and signaling
Examples:
- pipe()
- shmget()
- send()
- recv()
- socket()
Advantage:
- Enables coordination between processes in multitasking
- Supports network communication (e.g., chatting apps, multiplayer games)
Disadvantage:
28. UNIT-1____________________________________________INTODUCTION TO OPERATING SYSTEM
DEPT OF BCA, SRFGCC, BELAGAVI 2025-26____________________________________________
Page 28 of 36
- Can lead to race conditions or deadlocks if synchronization isn’t handled properly
- Communication overhead can reduce system performance
Real World Example:
When you use WhatsApp or Zoom — behind the scenes, communication system calls are
making real-time chatting and video calling possible.
30. UNIT-1____________________________________________INTODUCTION TO OPERATING SYSTEM
DEPT OF BCA, SRFGCC, BELAGAVI 2025-26____________________________________________
Page 30 of 36
Operating System Structure
- An operating system is a design that enables user application programs to communicate
with the hardware of the machine.
- The operating system should be built with the utmost care because it is such a complicated
structure and should be simple to use and modify.
- Partially developing the operating system is a simple approach to accomplish this.
- Each of these components needs to have distinct inputs, outputs, and functionalities.
o Simple Structure
o Monolithic Structure
o Layered Approach Structure
o Micro-Kernel Structure
o Exo-Kernel Structure
o Virtual Machines
1. Simple Structure (MS-DOS)
• The simple structure is also known as the monolithic structure.
• In this type, the operating system is written as one large program with all functions
integrated together.
• MS-DOS is a classic example of a simple structured OS.
31. UNIT-1____________________________________________INTODUCTION TO OPERATING SYSTEM
DEPT OF BCA, SRFGCC, BELAGAVI 2025-26____________________________________________
Page 31 of 36
Key Points:
- Developed to provide maximum functionality in minimum memory.
- Not divided into separate modules.
- Interfaces and levels of functionality are not well-separated.
- All system components are tightly coupled.
- Direct access is allowed between application programs and hardware.
Disadvantages:
- Difficult to modify and maintain.
- Low security and reliability.
- A bug in one part can crash the entire system.
Example:
MS-DOS does not clearly separate user-level programs and the kernel; they can interact
directly with hardware components.
2. Layered Structure
• In a layered structure, the operating system is divided into a number of layers (levels), each
built on top of the lower ones.
• Each layer performs specific functions and only interacts with its adjacent layers.
32. UNIT-1____________________________________________INTODUCTION TO OPERATING SYSTEM
DEPT OF BCA, SRFGCC, BELAGAVI 2025-26____________________________________________
Page 32 of 36
Key Concepts:
- Bottom layer: Hardware
- Top layer: User interface
- Each layer hides details of lower layers from above
- Each layer provides a set of services to the upper layer and uses services of the layer below
Advantages:
- Modularity: Easier to debug and modify
- Simplicity: Clear separation of responsibilities
- Enhanced security and maintainability
Disadvantages:
- Overhead due to layer communication
- Defining layers can be difficult
- May cause performance issues if not optimized
Example:
THE Operating System developed by Dijkstra is a classic example of layered OS.
3. Microkernel Structure
• The microkernel approach structures the operating system by removing all non-essential
components from the kernel and implementing them as system and user-level programs.
• It includes only the most fundamental functions in the kernel, such as:
33. UNIT-1____________________________________________INTODUCTION TO OPERATING SYSTEM
DEPT OF BCA, SRFGCC, BELAGAVI 2025-26____________________________________________
Page 33 of 36
- Inter-process communication (IPC)
- Basic scheduling
- Low-level hardware management
Advantages:
- Extensibility: Easier to add new services
- Security: Less code running in kernel mode means fewer vulnerabilities
- Reliability: Faults are isolated to user mode servers
Disadvantages:
- Performance overhead due to increased system calls and context switching
- Complex communication mechanisms between modules
Examples:
- Mach
- QNX
- Minix
Use Case:
Microkernels are often used in real-time and embedded systems due to their stability and
modularity.
4. Modular Structure
• Most modern operating systems, like Linux and Solaris, implement a modular kernel
approach.
34. UNIT-1____________________________________________INTODUCTION TO OPERATING SYSTEM
DEPT OF BCA, SRFGCC, BELAGAVI 2025-26____________________________________________
Page 34 of 36
• The kernel consists of a set of core components, each of which is separate and
communicates via well-defined interfaces.
• It uses an object-oriented approach—each module is an object that can interact with others.
• Modules can be dynamically loaded and unloaded into the kernel as needed, improving
flexibility and maintainability.
• It helps in minimizing the kernel's size while allowing for the expansion of functionality.
Advantages:
- Dynamic module loading reduces memory usage
- Easier to debug and maintain
- Improved reliability and flexibility
Examples:
- Linux Kernel Modules (LKMs)
- Solaris Loadable Kernel Modules
Use Case:
Commonly used in general-purpose operating systems to support a variety of hardware and
file systems without bloating the core kernel.
5. Exokernel System Structure
An exokernel is an extremely minimalistic operating system kernel designed to
Give application-level software as much control over the hardware as possible.
35. UNIT-1____________________________________________INTODUCTION TO OPERATING SYSTEM
DEPT OF BCA, SRFGCC, BELAGAVI 2025-26____________________________________________
Page 35 of 36
Key Idea:
• Instead of abstracting hardware resources (like traditional OSes), it exposes
them directly to the applications.
• The kernel only ensures secure multiplexing of resources — meaning it checks
permissions and protects access, but doesn’t decide how resources are used.
Main Features:
• Applications control hardware resources directly (e.g., memory, CPU time, disk blocks).
• Allows highly specialized and optimized application-level libraries to replace
traditional OS abstractions.
Advantages:
• Maximum performance: Apps can optimize for specific use-cases.
• Flexibility: Developers can build customized abstractions.
• Security: Minimal trusted code base reduces potential vulnerabilities.
Disadvantages:
• Complex development: App devs must manage more low-level tasks.
• Lack of standard APIs: Difficult for general purpose software
5. Virtual Machines
36. UNIT-1____________________________________________INTODUCTION TO OPERATING SYSTEM
DEPT OF BCA, SRFGCC, BELAGAVI 2025-26____________________________________________
Page 36 of 36
• The concept of virtual machines (VMs) was first introduced in the VM operating system by
IBM in 1972 for mainframes.
• A virtual machine creates an interface that mimics independent hardware for multiple
operating systems to run simultaneously on a single physical machine.
• Each OS believes it has its own dedicated resources like CPU, memory, I/O devices, and
storage.
• Virtual machines are widely used in software development and testing, especially when
targeting multiple platforms or operating systems
.
The above diagram is of system model a) Non-Virtual machine b) Virtual machine
Key Characteristics:
- Full isolation between OS instances
- Separate virtual disks created from partitions of the physical hard drive
- Shared hardware resources are emulated per VM
Benefits:
• Each OS operates independently, improving system security and fault isolation.
• Ideal for OS-level experimentation and development.
• Although physical resource sharing is uncommon directly, VMs can interact via virtual
networking setups.
• Enables backup, recovery, sandboxing, and safe test