This topic will cover the basics of operating systems, including their functions, types, and key components. Students will learn about the role of operating systems in managing hardware and software resources.
Introduction to Operating Systems
Course‑level overview – concise, organized, and easy to read
| Aspect | Description |
|---|---|
| Definition | System software that manages hardware resources and provides services for application programs. |
| Primary Goals | • Efficient resource utilization • Protection & security • Convenience for users and programmers |
| Examples | Windows, macOS, Linux, Android, iOS, FreeBSD, QNX, etc. |
| Function | Key Responsibilities |
|---|---|
| Process Management | • Create, schedule, and terminate processes • Context switching • Inter‑process communication (IPC) |
| Memory Management | • Allocate/deallocate RAM • Virtual memory & paging • Protection (address space isolation) |
| File System Management | • Organize data on storage devices • Provide hierarchical namespace (directories) • Access control & metadata |
| Device I/O Management | • Abstract hardware via drivers • Buffering, caching, spooling • Interrupt handling |
| Security & Protection | • Authentication, authorization • Access control lists (ACLs) • Isolation of user and kernel mode |
| User Interface | • Command‑line shells (CLI) • Graphical user interfaces (GUI) • APIs for applications (system calls) |
+---------------------------------------------------+
| User Space (Applications) |
| - Shell, GUI, user programs, libraries |
+-------------------+-------------------------------+
| System Call Interface (API) |
+-------------------+-------------------------------+
| Kernel Space (OS Core) |
| - Process Scheduler • Memory Manager |
| - File System Driver • Device Drivers |
| - Network Stack • Security Subsystem |
+-------------------+-------------------------------+
| Hardware (CPU, RAM, I/O) |
+---------------------------------------------------+
| Concept | Process | Thread |
|---|---|---|
| Definition | Independent execution entity with its own address space. | Lightweight unit of execution within a process; shares address space. |
| Resource Ownership | Owns memory, file descriptors, etc. | Shares process resources (memory, open files). |
| Creation Cost | Higher (requires new address space). | Lower (just a control block). |
| Typical Use | Isolate applications. | Parallelize tasks inside an application. |
| Scheduling Type | Description | Typical Algorithms |
|---|---|---|
| Long‑term (admission) | Controls degree of multiprogramming; decides which jobs enter the ready queue. | Batch, interactive mix. |
| Short‑term (CPU) | Picks the next ready process for CPU execution. | FCFS, Round‑Robin, Shortest Job First, Priority, Multilevel Feedback Queue. |
| Medium‑term (swapping) | Moves processes between main memory and secondary storage to balance load. | Not always present (e.g., in modern OSes). |
Key metrics: CPU utilization, throughput, turnaround time, waiting time, response time.
| Technique | How It Works | Advantages