Operating System Overview: Class Notes
1 Introduction to Operating Systems
An operating system (OS) is a software layer that manages hardware resources and pro-
vides services for computer programs. Acting as an intermediary between users and
hardware, it ensures efficient execution of applications.
1.1 Key Functions of an Operating System
• Process Management: Handles creation, scheduling, and termination of pro-
cesses.
• Memory Management: Allocates and deallocates memory for processes.
• File System Management: Organizes and manages data storage.
• Device Management: Controls hardware devices via drivers.
• User Interface: Provides interfaces like GUI or CLI for user interaction.
2 Types of Operating Systems
Operating systems vary based on design and use case:
• Batch OS: Processes jobs in batches without user interaction (e.g., early main-
frames).
• Time-Sharing OS: Allows multiple users to share system resources (e.g., Unix).
• Distributed OS: Manages a group of independent computers as a single system.
• Real-Time OS: Ensures timely execution for critical tasks (e.g., embedded sys-
tems).
• Mobile OS: Optimized for mobile devices (e.g., Android, iOS).
3 Core Components of an Operating System
3.1 Kernel
The kernel is the core of the OS, managing system resources and communication between
hardware and software.
• Monolithic Kernel: Single large program handling all OS services (e.g., Linux).
1
• Microkernel: Minimal core with modular services (e.g., QNX).
• Hybrid Kernel: Combines monolithic and microkernel features (e.g., Windows
NT).
3.2 Process Management
A process is a program in execution. The OS manages:
• Process States: New, Running, Waiting, Ready, Terminated.
• Scheduling: Determines which process runs next (e.g., Round-Robin, Priority-
Based).
• Inter-Process Communication: Enables processes to share data (e.g., pipes,
message queues).
3.3 Memory Management
The OS ensures efficient memory use:
• Virtual Memory: Provides an illusion of large, contiguous memory.
• Paging: Divides memory into fixed-size pages.
• Segmentation: Divides memory into variable-sized segments.
3.4 File Systems
File systems organize data storage:
• Types: FAT32, NTFS, ext4.
• Operations: Create, read, write, delete files.
• Structure: Hierarchical (directories and files).
4 System Calls
System calls are interfaces for user programs to request OS services. Examples:
• fork(): Creates a new process.
• open(): Opens a file.
• read()/write(): Reads from or writes to a file.
5 Challenges in Operating Systems
• Security: Protecting against unauthorized access.
• Concurrency: Managing multiple processes efficiently.
• Scalability: Supporting diverse hardware and workloads.
• Reliability: Ensuring system stability and fault tolerance.
2
6 Common Operating Systems
• Windows: Widely used in personal and enterprise environments.
• Linux: Open-source, popular for servers and development.
• macOS: Apples OS for Mac computers.
• Android/iOS: Dominant mobile operating systems.
7 Conclusion
Operating systems are critical for managing hardware and software interactions. Under-
standing their components and functions is essential for designing efficient and secure
systems.
8 References
• Silberschatz, A., Galvin, P. B., & Gagne, G. (2018). Operating System Concepts.
Wiley.
• Tanenbaum, A. S., & Bos, H. (2014). Modern Operating Systems. Pearson.
• https://www.kernel.org/ (Linux Kernel Documentation).