0% found this document useful (0 votes)
415 views2 pages

Operating Systems Course Syllabus

The document outlines a course on Operating Systems, detailing course outcomes, content, and practical assignments. Key topics include process management, CPU scheduling, memory management, file systems, and security mechanisms. Students will implement various programs in C/C++ within a Linux/Unix environment as part of their practical assessments.

Uploaded by

victorysharma07
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
415 views2 pages

Operating Systems Course Syllabus

The document outlines a course on Operating Systems, detailing course outcomes, content, and practical assignments. Key topics include process management, CPU scheduling, memory management, file systems, and security mechanisms. Students will implement various programs in C/C++ within a Linux/Unix environment as part of their practical assessments.

Uploaded by

victorysharma07
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Course Type Subject L T P Credit TC T TE PC PE Pre-requisites

Code s A M S A S
S
Operatin 3 0 2 None
CC 4 15 15 40 15 15
g
Systems
COURSE OUTCOMES
1. Understand the function, structure, history of an operating system and the design issues
associated with an operating system.
2. Understand the concept of multithreading, process management concepts including
scheduling, synchronization and deadlocks.
3. Learn the memory management concepts including virtual memory.
4. Comprehend file system interface and implementation and disk management.
5. Be familiar with protection and security mechanisms.

COURSE CONTENT
Unit 1
Overview: Operating systems – structure, operations, components, types, services, user
interfaces. System calls, system programs, system boot.
Process management: Processes – concept, scheduling, operations on processes, interprocess
communications. Threads – single- and multi-threaded processes.

Unit 2
CPU scheduling – criteria, algorithms, multiple-processor scheduling.
Process synchronization – critical-section problem, semaphores, classic synchronization
problems, monitors.

Unit 3

Deadlocks – characterization, deadlock prevention, deadlock avoidance, deadlock detection,


recovery from deadlock.
Memory management: Main memory – memory allocation schemes, paging, segmentation.
Virtual memory – demand paging, page replacement, frame allocation, thrashing.

Unit 4
Storage management: File system – files and directories, structure and implementation of file
systems, mounting and unmounting, storage allocation methods, free-space management. Disk
– structure, scheduling, management.

Unit 5
I/o management: i/o hardware, i/o interface, kernel i/o subsystem.
Protection and security: Access matrix, security threats.
Case studies of latest operating systems.

Practical List

Implement these programs in C/C++ using Linux/Unix environment operating system. Maintain
hard copy of the same for final assessment.
1. Process creation and termination for operating system (fork, wait, signal, exit etc.).
2. Thread programming.
3. CPU scheduling algorithms: FCFS, SJF, Round Robin, Preemptive Priority Scheduling.
4. Inter process communication.
5. Critical Section problem.
6. Producer – Consumer problem using bounded and unbounded buffer.
7. Reader Writers problem, Dining Philosophers problem using semaphores.
8. Banker’s algorithm.
9. Page replacement algorithms: LRU, LRU-Approximation, FIFO, Optimal.
10. File operation system calls (open, read, close, append etc.)
11. Disk scheduling algorithms: FCFS, SSTF, SCAN, CSCAN, LOOK, CLOOK.
12. Experiments based on case studies.

Text Book:
1. Silberschatz, A., Galvin, P. B., and Gagne, G. 2009. “Operating System Principles (8th
ed.)”, Wiley.
Reference Book:
1. Stallings, W. 2014. “Operating Systems: Internals and Design Principles (8th ed.)”,
Pearson.
2. Tanenbaum, A. S. 2007. “Modern Operating Systems (3rd ed.)”, Pearson.

Common questions

Powered by AI

Deadlock avoidance ensures that a system will never enter an unsafe state by using specific algorithms like Banker's algorithm, which consider resource allocation and current demands. Deadlock prevention, on the other hand, structurally negates the possibility of deadlocks by denying at least one of the conditions necessary for deadlock to occur, such as mutual exclusion or hold and wait .

File systems ensure efficient storage and retrieval through structures and implementation techniques such as hierarchical directories, efficient storage allocation methods like contiguous, linked, or indexed allocations, and free-space management strategies that optimize how data is stored and fetched .

Access matrices are significant in operating systems as they provide a formal framework for defining and enforcing security policies, specifying which operations users can perform on which resources, thus preventing unauthorized access and enhancing system security .

Semaphores are crucial in process synchronization as they provide a mechanism to control access to shared resources by multiple processes, preventing race conditions. They help solve classic synchronization problems like the Producer-Consumer problem by signaling between processes .

Virtual memory enhances performance by allowing systems to execute processes that require more memory than physically available. It uses techniques like demand paging and page replacement to optimize usage of main memory and manage overcommitment efficiently, reducing the risk of thrashing .

The primary design issues associated with an operating system include ensuring efficient process management, memory management, and storage management. This involves dealing with process creation and scheduling, implementing synchronization and deadlock prevention methods, managing virtual memory effectively, and ensuring proper file system structure and security .

System calls are essential as they provide the interface between a process and the operating system for executing various functions like process creation, file manipulation, etc. They form a bridge enabling user programs to request essential OS services in a controlled manner .

Implementing I/O management poses challenges like handling diverse hardware interfaces, managing device communications efficiently, providing a consistent interface through the kernel I/O subsystem, and ensuring security and proper user access to I/O resources .

Studying practical aspects like process creation and termination is important as it provides hands-on experience with fundamental OS concepts, facilitating a deeper understanding of how theoretical principles are applied in real-world systems .

Preemptive CPU scheduling allows a process to be interrupted in the middle of execution and moved to the ready queue, for example, the Round Robin algorithm. Non-preemptive scheduling completes the execution of the current process before a new one starts, exemplified by algorithms like First-Come-First-Serve (FCFS).

You might also like