Operating System Concepts
Operating System Concepts
An Operating System (OS) is a system software that manages computer hardware and software resources
and provides services for computer programs. It acts as a bridge between the user and the computer
hardware.
Basic Roles:
• Controls hardware components like CPU, memory, disk drives, printers, etc.
• Provides a user interface (Command Line or GUI).
• Manages files and folders.
• Provides security and protection.
• Windows
• Linux (Ubuntu, Fedora, Arch)
• macOS
• Android
• iOS
• Unix
1. Layered Structure:
Layers (from bottom to top): 1. Hardware 2. CPU Scheduling and Memory Management 3. I/O
Management 4. File System 5. User Interface
Advantages: - Easy to debug and update - Modularity: easier to understand and maintain
1
2. System Components:
1. Process Management
2. Handles multitasking and multiprocessing
3. Context switching
4. Deadlock prevention
5. Memory Management
8. Storage Management
16. Encryption
2
Classification of Operating Systems
Example: UNIX
Types: - Hard RTOS: Must meet deadlines (e.g., pacemaker) - Soft RTOS: Can tolerate some delay (e.g., live
streaming)
5. Multiprocessor Systems
3
Examples: High-end servers, mainframes
6. Multiuser Systems
• More than one user can use the system at the same time
7. Multiprogramming Systems
8. Multithreaded Systems
• Programs are divided into multiple threads that can run concurrently
1. Program Execution
2. I/O Operations
3. File System Manipulation
4. Communication (Interprocess Communication)
5. Error Detection
6. Resource Allocation
7. Protection and Security
Reentrant Kernels
Definition: A reentrant kernel allows multiple processes to execute the same kernel code simultaneously.
Key Points: - No data is modified during execution - Kernel can be shared among processes safely
4
Kernel Types
1. Monolithic Kernel
Disadvantages: - Large and difficult to maintain - One bug can crash the whole system
2. Microkernel
Summary Chart
Let me know if you'd like this content in PDF format or with diagrams!