Operating Systems

Program: Bachelors Program in AI & ML
Program Level: Bachelor
Language: English
Subject Syllabus

Subject Overview

A rigorous study of operating-system principles, architectures, resource management, security, virtualization, distributed environments, and modern AI-oriented computing platforms. The subject combines classical theory with Linux-based practice, performance analysis, governance, and industry-relevant system decision-making.

Learning Goal

Students will be able to explain operating-system theory, analyze resource-management algorithms, implement and evaluate core mechanisms, use modern system tools, diagnose performance and security issues, and make informed architectural decisions for conventional, cloud, edge, and AI workloads.

Syllabus

1. Operating-System Foundations and Evolution

Learning Objective: Explain OS terminology, goals, services, abstractions, kernel responsibilities, hardware interaction, boot processes, and the evolution of batch, multiprogramming, time-sharing, desktop, mobile, and cloud systems.

Category: foundation

2. OS Architectures, Interfaces, and System Calls

Learning Objective: Compare monolithic, layered, modular, microkernel, hybrid, and exokernel models; use command-line tools, APIs, system calls, libraries, shells, and kernel/user execution modes.

Category: foundation

3. Processes and Threads

Learning Objective: Analyze process states, process control blocks, context switching, creation and termination, user and kernel threads, multithreading models, signals, and thread-level parallelism.

Category: core

4. CPU Scheduling and Workload Management

Learning Objective: Evaluate FCFS, SJF, priority, round-robin, multilevel, multicore, fair-share, and real-time scheduling using throughput, utilization, latency, waiting time, fairness, and energy criteria.

Category: core

5. Concurrency, Synchronization, and Interprocess Communication

Learning Objective: Apply critical-section principles, mutexes, semaphores, monitors, condition variables, atomic operations, message passing, pipes, shared memory, sockets, and lock-free concepts to concurrent programs.

Category: core

6. Deadlocks and Resource Allocation

Learning Objective: Model resource allocation; identify deadlock conditions; and compare prevention, avoidance, detection, recovery, starvation control, and the Banker's algorithm.

Category: core

7. Main-Memory Management

Learning Objective: Explain address binding, allocation, fragmentation, relocation, swapping, paging, segmentation, translation lookaside buffers, memory protection, and memory-management hardware.

Category: core

8. Virtual Memory and Memory Performance

Learning Objective: Analyze demand paging, copy-on-write, page replacement, frame allocation, locality, working sets, thrashing, memory-mapped files, NUMA systems, and memory-performance trade-offs.

Category: core

9. I/O Systems and Secondary Storage

Learning Objective: Explain device controllers, interrupts, DMA, drivers, buffering, caching, spooling, disk and SSD scheduling, RAID, persistent memory, and storage reliability.

Category: core

10. File Systems and Data Persistence

Learning Objective: Examine file and directory abstractions, allocation methods, free-space management, mounting, journaling, consistency, recovery, permissions, virtual file systems, and modern local and network file systems.

Category: core

11. Protection, Security, and Trusted Computing

Learning Objective: Apply access-control models, least privilege, authentication, authorization, isolation, encryption, secure boot, auditing, malware defenses, vulnerability management, and OS-level threat modeling.

Category: strategic

12. Virtualization, Containers, and Cloud Operating Environments

Learning Objective: Compare hypervisors, virtual machines, namespaces, control groups, containers, orchestration, serverless platforms, resource isolation, elasticity, and cost-performance trade-offs.

Category: application

13. Distributed and Networked Operating Systems

Learning Objective: Explain remote communication, distributed coordination, clocks, naming, replication, consistency, fault tolerance, distributed file systems, clusters, and transparency models.

Category: advanced

14. Real-Time, Embedded, Mobile, Edge, and AI Systems

Learning Objective: Evaluate real-time guarantees, embedded constraints, mobile power management, edge platforms, GPU and accelerator scheduling, heterogeneous memory, and OS support for AI/ML training and inference.

Category: contemporary

15. Administration, Observability, Governance, and Future Directions

Learning Objective: Use Linux administration, monitoring, tracing, benchmarking, logs, and performance analytics; plan capacity and reliability; assess licensing, privacy, sustainability, ethical resource allocation, governance, automation, AI-assisted operations, confidential computing, and emerging OS research.

Category: strategic

Operating Systems
Bachelors Program in AI & ML