
Explore workstation, processor pool, and hybrid system models; compare diskless and disk-full workstations, local file systems, and the role of rsh in identifying ideal machines.
Explain the five-state process model: new, ready, running, waiting, terminated. Describe transitions, process control block, context switching, interrupts, and priority scheduling.
Explore how single-thread and multi-thread processes share code, data, and OS resources, and compare many-to-one, one-to-one, and many-to-many thread models for concurrent execution.
Explore how semaphores coordinate concurrent processes by using wait and signal operations, enabling mutual exclusion and synchronization with binary and counting semaphore variants.
Explore the critical section problem in operating systems by examining mutual exclusion, progress, and bounded waiting, and how entry and exit sections coordinate access to shared data.
deadlock occurs when two processes hold resources and wait for each other, and prevention avoids mutual exclusion, hold and wait, non-preemption, and circular wait.
This course provides an in-depth understanding of operating systems, their architecture, and functionalities. Students will explore the core components and principles of operating systems, including process management, memory management, file systems, and input/output systems. The course will cover both theoretical concepts and practical applications, enabling students to understand how operating systems function and how they are designed and implemented.
Course Objectives:
Understand the Fundamentals: Gain a solid foundation in the basic concepts and architecture of operating systems.
Process Management: Learn about process creation, scheduling, synchronization, and communication.
Memory Management: Understand memory allocation, paging, segmentation, and virtual memory.
File Systems: Explore file system organization, management, and storage structures.
I/O Systems: Study the principles of input/output management and device drivers.
Concurrency: Learn about threading, multitasking, and deadlock avoidance.
Security and Protection: Understand the mechanisms for protecting the system and user data.
This course is essential for students aiming to specialize in system-level programming, cybersecurity, and software engineering. It provides the foundational knowledge required to understand and contribute to the development of modern operating systems. This course offers a comprehensive overview of operating systems, emphasizing their architecture, functionality, and core principles. Students will learn about process management, memory management, file systems, and input/output systems through both theoretical concepts and practical applications. The course is designed to equip students with the knowledge to understand, design, and implement operating systems.