Operating Systems Advanced Notes
(Expanded)
Abstract
This document provides expanded lecture notes on operating systems. It explains process
and memory management, deadlocks, file systems, virtualization, and compares modern OS
implementations.
Introduction to Operating Systems
An operating system (OS) acts as an intermediary between users and computer hardware.
It provides process management, memory management, file system management, and I/O
handling.
Process Management
Processes are active instances of programs with unique IDs (PIDs).
Scheduling Algorithms:
- First-Come, First-Served (FCFS): simple, fair but may cause convoy effect.
- Shortest Job First (SJF): optimal average waiting time but requires knowing burst time.
- Round Robin: time-sharing, fair for interactive systems.
- Priority Scheduling: based on priority, risk of starvation.
Table comparing average waiting times for each algorithm.
Memory Management
Paging divides memory into fixed-size pages, enabling efficient allocation.
Segmentation allows logical division, useful for modular programming.
Virtual Memory uses disk storage to simulate additional RAM.
Case Study: Linux uses demand paging with swap space, Windows uses pagefile.sys.
Deadlocks
Deadlocks occur when processes wait indefinitely for resources.
Banker's Algorithm ensures safe resource allocation.
Example walkthrough of avoiding deadlock with available resources and requests.
File Systems
NTFS (Windows): journaling, ACL support, large file handling.
EXT4 (Linux): journaling, extents, backward compatibility.
APFS (Apple): snapshot support, optimized for SSDs.
FAT32: widely compatible but limited to 4GB file size.
Comparison chart of features and limitations.
Virtualization & Containerization
Virtualization enables multiple OS instances on one host (VMware, Hyper-V).
Containers (Docker, Kubernetes) share OS kernel but isolate applications.
Case Study: Containers provide faster deployment compared to full VMs.
Security in Operating Systems
Access control ensures least privilege.
Sandboxing isolates applications for security.
SELinux enforces mandatory access control policies in Linux.
Modern OS Case Study
Windows 11 vs Linux Ubuntu:
- Windows: user-friendly GUI, extensive driver support, integration with MS ecosystem.
- Linux: open source, customizable, strong server performance.
Both support virtualization and containerization technologies.
References
Silberschatz, A. (2020). Operating System Concepts.
Tanenbaum, A. (2019). Modern Operating Systems.
Linux Kernel Documentation.
Microsoft Windows Documentation.