Operating Systems Class Notes
Introduction
An Operating System (OS) is a vital component of the computer system. It acts as an intermediary
between computer hardware and users. It manages computer hardware resources and provides services
for computer programs. The OS is crucial for system performance, efficiency, and the execution of
software.
1. Operating System Overview
• Definition: A software that manages computer hardware and software resources and provides
common services for computer programs.
• Functions:
• Process management
• Memory management
• File system management
• Device management
• Security and access control
• Types of Operating Systems:
• Batch Operating Systems
• Time-Sharing Operating Systems
• Distributed Operating Systems
• Real-Time Operating Systems
• Network Operating Systems
• Mobile Operating Systems
2. Process Management
• Process: A program in execution; the basic unit of work in a system.
• Process Lifecycle: New, Ready, Running, Waiting, Terminated.
• Scheduling Algorithms:
• First-Come, First-Served (FCFS)
• Shortest Job First (SJF)
• Priority Scheduling
• Round Robin (RR)
• Concurrency and Synchronization: Mechanisms to ensure that multiple processes or threads
can run concurrently without conflicts.
• Inter-process Communication (IPC): Techniques and mechanisms for the exchange of data
among processes.
3. Memory Management
• Memory Hierarchy: Registers, Cache, Main Memory (RAM), Secondary Storage.
• Virtual Memory: A technique that allows the execution of processes that may not be
completely in memory.
• Paging and Segmentation: Methods to manage programs and data in non-contiguous memory
spaces.
• Memory Allocation: Fixed and dynamic partitioning, paging, segmentation.
4. File System Management
• File System: Organizes and manages data storage on disk.
• File Operations: Create, delete, open, close, read, write.
• Directory Structure: Hierarchical and flat directory structures.
• File Access Methods: Sequential access, direct access, indexed access.
• File System Implementation: Metadata, inodes, file allocation table (FAT), NTFS.
5. Device Management
• Device Drivers: Software that allows the OS to interact with hardware devices.
• I/O Systems: Methods for input and output operations, buffering, caching, spooling.
• Interrupt Handling: Mechanisms to deal with hardware and software interrupts.
6. Security and Protection
• User Authentication: Mechanisms for verifying the identity of users.
• Access Control: Methods to control the access of programs and users to resources.
• Encryption and Decryption: Techniques to secure data.
• Malware and Antivirus Software: Threats to operating systems and countermeasures.