Subject OverviewA 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 GoalStudents 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. Syllabus1. Operating-System Foundations and EvolutionLearning 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 CallsLearning 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 ThreadsLearning 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 ManagementLearning 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 CommunicationLearning 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 AllocationLearning 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 ManagementLearning 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 PerformanceLearning 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 StorageLearning 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 PersistenceLearning 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 ComputingLearning 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 EnvironmentsLearning 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 SystemsLearning 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 SystemsLearning 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 DirectionsLearning 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
|