1) Functionalities of Operating System
An operating system performs several important functions such as process management, memory
management, and file management. It controls and coordinates hardware and software resources.
It manages devices, provides security and user interface, and handles errors. It also allocates
resources and keeps the system stable and efficient. The OS acts as a bridge between the user
and hardware.
2) Generations and History of Operating System
The first generation had no OS and used manual operation. The second introduced batch
processing. The third generation added multiprogramming and time-sharing. The fourth generation
brought personal computer operating systems with GUI like Windows and Mac. The fifth generation
focuses on mobile, distributed, and AI-based OS such as Android and iOS.
3) Characteristics of Operating Systems
Operating systems are multi-user, multitasking, and portable. They ensure security, concurrency,
and stability. OS efficiently manages resources like CPU, memory, and devices. It provides an
interface for users and applications. Reliability and fault-tolerance are also key characteristics of
modern operating systems.
4) Types of Operating System Structures
There are five main OS structures: Monolithic, Layered, Microkernel, Modular, and Hybrid.
Monolithic OS is a single large program. Layered divides OS into levels. Microkernel handles only
core tasks. Modular OS uses loadable modules, while Hybrid combines features of monolithic and
microkernel for better performance.
5) Processor Concepts and States in Operating Systems
A processor executes processes that move through various states: New, Ready, Running, Waiting,
and Terminated. The OS manages these states through scheduling and context switching. It
ensures that the CPU is efficiently utilized and processes get fair execution time.
6) Scheduling Algorithms
Scheduling algorithms decide which process runs next on the CPU. Common types include FCFS,
SJF, Priority, and Round Robin. Multilevel and feedback queues are advanced types. The main
goals are to maximize CPU utilization, reduce waiting time, and improve overall system
performance.
7) Services of Operating System
Operating systems provide services like program execution, file management, I/O operations, and
communication. They also handle error detection, resource allocation, security, and accounting.
These services make it easier for users and programs to perform tasks efficiently and safely.
8) Synchronization
Synchronization ensures orderly execution when processes share data. It prevents race conditions
and maintains data consistency. Only one process can enter the critical section at a time.
Synchronization satisfies mutual exclusion, progress, and bounded waiting conditions in concurrent
systems.
9) Hardware Synchronization Algorithms (Lock-Unlock, Test and
Set, Swap)
Hardware synchronization provides atomic operations to control access to critical sections.
Lock-Unlock uses a flag variable to grant access. Test and Set performs checking and setting in
one atomic step. Swap exchanges variable values atomically to achieve mutual exclusion and
prevent data corruption.