Unit 1 Operatig System 2024
Unit 1 Operatig System 2024
Introduction to Operating
Systems
Operating systems are the essential software that manage the hardware and
software resources of a computer. They act as the intermediary between users and
the computer's components, enabling seamless interaction and efficient
utilization of system resources.
Department of Applied Computational Science & Engineering
2 Mainframe Era
The 1960s saw the rise of mainframe computers, which introduced concepts like time-
sharing and multiprogramming to improve resource utilization.
3 Personal Computing
The 1970s and 1980s brought the personal computer revolution, with the
development of graphical user interfaces and affordable home systems.
Department of Applied Computational Science & Engineering
Process Management
Process management is a key function of operating systems. It involves
creating, scheduling, and managing the execution of individual
processes, which are instances of running programs.
Memory Management
Memory management is a crucial function of operating systems,
responsible for efficiently allocating and controlling the computer's
memory resources. It ensures that programs and data are loaded and
executed correctly.
Key aspects of memory management include virtual memory, paging,
and segmentation, which allow the OS to provide each process with its
own protected address space.
Department of Applied Computational Science & Engineering
File Management
File management is a critical function of modern operating systems,
allowing users to organize, access, and manipulate digital files and
directories. This includes creating, deleting, modifying, and searching
for files and folders across the system's storage devices.
Input/Output Management
Operating systems play a crucial role in managing the flow of data
between computers and external devices. This includes managing input
from keyboards, mice, and other input peripherals, as well as directing
output to displays, printers, and storage devices.
Introduction to Operating
Systems
Operating systems are the fundamental software that manage a
computer's hardware and software resources, providing a platform for
applications to run. They play a crucial role in determining how a
computer functions and interacts with users and other devices.
Department of Applied Computational Science & Engineering
Characteristics of Batch
Processing Systems
Batch processing systems are designed to handle large volumes of data
and tasks in a sequential, non-interactive manner. They execute jobs in
a predefined order, with no user intervention required during runtime.
Batch systems are highly efficient for repetitive, high-volume tasks such
as payroll processing, inventory management, and report generation.
They minimize human interaction and provide consistent, reliable
results.
Department of Applied Computational Science & Engineering
Interactive Systems
Interactive systems are computer programs that allow direct user interaction and immediate
response. Users can input data, make selections, and receive output in real-time. These systems
provide a more engaging and efficient user experience compared to batch processing. Examples
include web browsers, graphic design software, and video games.
Department of Applied Computational Science & Engineering
Characteristics of Interactive
Systems
Interactive systems allow users to directly input commands and receive
immediate feedback. They enable real-time interaction, enabling users
to control and manipulate the system dynamically.
Time-Sharing Systems
Time-sharing systems allow multiple users to access a single computer simultaneously. They
divide the computer's resources, such as CPU time and memory, among the users, providing
each with the illusion of having the system to themselves. This enables efficient utilization of
computing power and allows for interactive, multi-user applications.
Characteristics of Time-Sharing
Systems
Time-sharing systems allow multiple users to access a single computer
simultaneously, dividing processing time and resources among them.
This enables efficient and interactive usage, with users able to run
programs and access data in real-time.
Real-Time Systems
Real-time systems are designed to process data and respond within a specified time frame,
often in milliseconds. These systems prioritize immediate and predictable responses, making
them critical for applications like flight control, medical monitoring, and industrial automation.
Characteristics of Real-Time
Systems
Real-time systems are designed to handle time-critical tasks, ensuring
immediate response to events. They prioritize responsiveness over
efficiency, with strict deadlines for task completion.
Introduction to
Multiprocessor, Multiuser,
Multiprocess, and
Multithreaded Systems
Explore the diverse world of modern computing systems, where
multiple processors, users, processes, and threads harmoniously
converge
Aa to unlock unprecedented levels of performance and
efficiency.
Department of Applied Computational Science & Engineering
1. Process Creation and Termination: Processes are dynamically created and terminated to
handle user requests and system tasks.
2. Process Scheduling: Advanced scheduling algorithms, such as round-robin, priority-
based, and multilevel feedback, are used to determine the order of process execution.
2 Synchronization
Synchronization mechanisms like locks, semaphores, and
monitors are used to coordinate access to shared resources and
ensure data integrity in multithreaded environments.
The rise of 5G and 6G networks will enable faster, more reliable data
transmission, paving the way for real-time, mission-critical
applications that require low latency and high bandwidth.
Neuromorphic computing and programmable hardware will also
play a crucial role in enhancing the efficiency and flexibility of these
systems.
Department of Applied Computational Science & Engineering
Operating System
Structure
The operating system is the foundation of a computer system,
providing a structure that manages hardware resources and facilitates
interaction between software and hardware. This layered architecture
ensures stability, security, and efficient use of system components.
Department of Applied Computational Science & Engineering
Layered Structure
Abstraction Kernel and User Hardware Interoperability
Layers Mode Abstraction
The layered structure
The operating system The kernel layer, the Lower layers of the facilitates
employs a layered core of the OS, OS abstract away the interoperability, as
architecture, where operates in a complexities of the each layer can be
each layer provides a privileged 'kernel underlying hardware, independently
specific set of mode', handling presenting a updated or replaced
services and critical system tasks. consistent and without affecting the
abstractions to the The user applications standardized interface overall system
layers above it. This run in a less to the upper layers. functionality,
modular design privileged 'user This allows enabling the OS to
promotes isolation, mode', accessing applications to run evolve and adapt to
flexibility, and system resources seamlessly across changing
efficient resource through well-defined diverse hardware requirements.
management. interfaces. platforms.
Department of Applied Computational Science & Engineering
System Components
Hardware Software
The physical components of a computer system, The programs and data that control the hardware,
such as the processor, memory, storage devices, including the operating system, applications, and
and input/output devices. system utilities.
Firmware Drivers
Low-level software that is embedded in the Software that enables the operating system to
hardware, providing basic control and communicate with and control the various
functionality for the system. hardware components.
Department of Applied Computational Science & Engineering
Process Management
1 Process Creation
The operating system creates and manages processes, allocating resources like
CPU time, memory, and I/O to enable multiple programs to run concurrently.
2 Process Scheduling
The OS uses various scheduling algorithms to determine which processes get
CPU time, ensuring fair and efficient use of system resources.
3 Inter-Process Communication
Processes can communicate with each other through mechanisms like shared
memory, message queues, and sockets, allowing them to coordinate and
collaborate.
Department of Applied Computational Science & Engineering
Memory Management
Memory management is a critical component of operating systems, responsible
for efficiently allocating and controlling the use of computer memory. It
ensures programs have the required memory resources while preventing
conflicts and optimizing performance.
File Management
The file management system is a crucial component of an operating system. It
provides services for creating, storing, retrieving, and organizing files in a
hierarchical directory structure. This allows users and applications to
efficiently manage their data, ensuring reliable and secure access to
information.
Key file management functions include file creation, deletion, renaming, and
permissions control. The file system also handles tasks like storage allocation,
access control, and file backup and recovery, ensuring the integrity and
availability of user data.
Department of Applied Computational Science & Engineering
I/O Management
The operating system manages a wide range of input and output (I/O) devices,
including keyboards, mice, displays, printers, storage devices, and network
interfaces. It provides a consistent interface for applications to access these
devices.
Conclusion
In conclusion, the operating system is the foundation of a computer system,
providing essential services and managing critical resources to enable
applications and users to function efficiently. By understanding the layered
structure, core components, and key services of an operating system, we can
appreciate the complexity and importance of this vital software layer.
Department of Applied Computational Science & Engineering
Introduction to Kernel
Architectures
Explore the different architectural approaches used in operating system kernels.
From monolithic designs to modular microkernel systems, understanding the
trade-offs is crucial for building robust and efficient systems.
a
Department of Applied Computational Science & Engineering
Additionally, the kernel must maintain a consistent state even when multiple
threads are executing simultaneously. This can lead to increased code
complexity and potential vulnerabilities if not implemented carefully.
Department of Applied Computational Science & Engineering
Monolithic Kernel
Architecture
A monolithic kernel is a traditional operating system architecture where all core
system components are tightly integrated within a single, large program. This
includes the file system, device drivers, memory management, and other critical
functionality.
Department of Applied Computational Science & Engineering
Advantages of Monolithic
Kernels
1. High Performance: Monolithic kernels have a tightly integrated
architecture, allowing for efficient data exchange and fast response
times.
2. Easier Debugging: Since all kernel components are in a single address
space, debugging and troubleshooting issues is generally simpler.
3. Mature and Stable: Monolithic kernels like Linux and Windows have
been actively developed and refined for decades, making them robust
and reliable.
Department of Applied Computational Science & Engineering
Disadvantages of Monolithic
Kernels
1. Lack of Modularity: Monolithic kernels are tightly-coupled, making it
difficult to isolate and modify individual components without affecting the
entire system.
Microkernel Architecture
The microkernel architecture is a design approach where the kernel is
minimized to only the essential functions, with most operating system services
running in user-mode processes. This modular design offers increased security
and reliability.
Department of Applied Computational Science & Engineering
Advantages of Microkernels
1. Improved reliability and stability since core OS components are
isolated and more easily debugged
2. Increased modularity and flexibility allowing for easy customization
and updates to specific OS components
3. Better security by containing damage from vulnerabilities to specific
modules rather than the entire OS
Department of Applied Computational Science & Engineering