code | title | similar | needs_screening | specifics | prereq | kind | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CSPC20 |
Operating Systems |
|
true |
|
PC1 |
- Understand the services and design of an operating system.
- Understand the structure and organization of the file system.
- Understand the process states and various concepts such as scheduling and synchronization related to it.
- Understand different memory management approaches.
- Use system calls for managing processes, memory, and file system.
- Understand the data structures and algorithms for the implementation of OS.
-
Computer System Architecture and Organization:
- Introduction and evolution of the OS
- Introduction to distributed OS
- Real-time systems and multimedia systems
-
OS Structures:
- OS services, system calls, and programs
- OS design and implementation
-
Processes:
- Process concept, scheduling policies, algorithms
- Multilevel queuing, operations on process
- Inter-process communication
-
Threads:
- Multithreading models and threading issues
-
CPU Scheduling:
- Criteria and algorithms
- Multiprocessor and thread scheduling
-
Process Synchronization:
- Critical sections, classical two process and n-process solutions
- Hardware primitives for synchronization
- Semaphores, monitors, classical problems in synchronization
-
Deadlocks:
- Modeling, resource allocation, characterization
- Prevention and avoidance, detection, and recovery
-
Memory Management:
- Swapping, contiguous memory allocation, paging
- Multilevel paging, segmentation, demand paging
- Page replacement algorithms, allocation of frames
- Thrashing, working set model
-
Input/Output:
- I/O system and services
- Device controllers and device drivers, disks
- Scheduling algorithms and management
-
File System Interface:
- Access methods, access control, directory structures
- File organization, file sharing and protection
- System performance, protection, and security
- Access matrix, security breaches, types of attacks
- Attack prevention methods, security policy and access control
- OS design considerations for security, access control lists and OS support
- Internet and general network security
- A. Silberschatz, Peter B. Galvin, and G. Gagne: "Operating System Concepts," (6th or newer edition), Wiley
- H. Brinch: "Operating System Principles," Prentice Hall of India
- Dhamdhere: "Systems programming & Operating systems," TataMcGraw Hill
- A. N. Habermann: "Introduction to Operating System Design," Galgotia publication, New Delhi
- A.S. Tanenbaum: "Modern Operating Systems," Prentice Hall of India
- Understand functions, structures, and history of operating systems.
- Know the design issues associated with operating systems.
- Master various process management concepts such as scheduling, synchronization, multithreading, and deadlocks.
- Understand the various concepts associated with memory management such as virtual memory, demand paging.
- Use system calls for managing processes, memory, and file system.
- Understand the data structures and algorithms for the implementation of OS.