Important Topics in Operating Systems
1. Real-Time Operating Systems (RTOS)
- Definition: A real-time system has well-defined fixed time constraints. RTOS processes data
within strict time limits.
- Types: Hard and Soft RTOS.
- Applications: Flight control systems, industrial automation, and military applications.
2. Operating System Services
- Key Services: User interface, program execution, I/O operations, file manipulation, interprocess
communication, and error detection.
3. Process Management
- Process States: New, Ready, Running, Waiting, and Terminated.
- Process Control Block (PCB): Contains information like process state, process ID, CPU registers,
etc.
- CPU and I/O Burst Cycles: CPU burst refers to computation periods, and I/O burst refers to
input/output wait periods.
4. Scheduling Algorithms
- Round Robin: Allocates a fixed time slice to each process.
- Shortest Job First (SJF): Executes the shortest process first.
- First Come First Serve (FCFS): Processes are executed in arrival order.
5. Memory Management
- Virtual Memory: Allows execution of processes that may not be completely in memory.
- Paging vs. Segmentation: Paging divides memory into fixed-size blocks, while segmentation
uses variable-sized blocks.
- Partitioning: Fixed (static) and variable (dynamic) partitions.
6. File Management
- File Attributes: Name, type, location, size, protection, etc.
- File Operations: Create, read, write, delete, append, and rename.
- File Allocation Methods: Contiguous allocation, linked allocation, and indexed allocation.
7. Deadlocks
- Necessary Conditions: Mutual exclusion, hold and wait, no preemption, circular wait.
- Prevention Techniques: Avoid at least one of the necessary conditions.
8. Interprocess Communication (IPC)
- Shared Memory: Processes share a memory segment for communication.
- Message Passing: Communication through message exchange.
9. Page Replacement Algorithms
- Least Recently Used (LRU): Replaces the page that has not been used for the longest time.
- Calculation of page faults using reference strings.
10. System Calls and Commands
- Examples: `kill` (terminate processes), `sleep` (pause execution), `mkdir` (create directories).
11. Multithreading Models
- Models: Many-to-One, One-to-One, Many-to-Many.
- Benefits: Improved concurrency and resource utilization.