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

Operating Systems Course Syllabus

The Operating Systems (NCS-206) course aims to educate students on various types of operating systems, process scheduling algorithms, and synchronization techniques to enhance computer system performance. Key outcomes include understanding operating system structures, designing programs using system calls, and solving concurrency-related problems. The course covers topics such as process management, CPU scheduling, memory management, and I/O management, supported by recommended textbooks and online resources.

Uploaded by

prabalprataps248
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)
14 views2 pages

Operating Systems Course Syllabus

The Operating Systems (NCS-206) course aims to educate students on various types of operating systems, process scheduling algorithms, and synchronization techniques to enhance computer system performance. Key outcomes include understanding operating system structures, designing programs using system calls, and solving concurrency-related problems. The course covers topics such as process management, CPU scheduling, memory management, and I/O management, supported by recommended textbooks and online resources.

Uploaded by

prabalprataps248
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

OPERATING SYSTEMS (NCS-206)

Type L T P Credits
PCC 3 1 0 4

Course Objectives

The course is designed to make aware of different types of Operating System and services, process
scheduling algorithms and synchronization techniques to achieve better performance of a computer
system, virtual memory concepts and secondary memory management

Course Outcomes
1. Understand types and structure of operating systems. (Understand)
2. Design programs using system-calls related to process, memory and file management.
3. Create solutions for problems related to process scheduling, deadlocks and
synchronization in a multi-programmed operating system.
4. Evaluate appropriate solutions for memory management considering challenges due to
multi-programming and virtual memory.
5. Apply knowledge of various software and hardware synchronization tools for solving
critical section problem in concurrent processes.

Course Content

Unit-1
Introduction: Operating System and its functions, Evolution of Operating System, Batch,
Interactive, Time Sharing and Real Time Operating System, System Protection. Operating System
Structure: System Components, System Structure, Operating System Services.
Unit-2
Process Management: Process Concept, Process State, Process Control Block, Threads.
Concurrent Processes: Principle of Concurrency, Mutual Exclusion, Inter Processes
Communication, Critical Section Problem, Semaphores, Classical Problems in Concurrency,
Producer / Consumer Problem, Readers-Writers Problem, Dining Philosophers Problem.
Unit-3
CPU Scheduling: Scheduling Concept, Scheduling Techniques, Performance Criteria for
Scheduling Algorithm, Evolution, Multiprocessor Scheduling. Deadlock: System Model,
Deadlock Characterization, Prevention, Avoidance and Detection, Recovery from Deadlock
Combined Approach.
Unit-4
Memory Management: Basic Machine, Resident Monitor, Multiprogramming with Fixed
Partition, Multiprogramming with Variable Partition, Multiple Base Register, Paging,
Segmentation, Paged Segmentation. Virtual Memory: Virtual Memory Concept, Demand Paging,
Performance, Paged Replaced Algorithm, Allocation of Frames, Thrashing, Cache Memory
Organization, Impact on Performance.
Unit-5
I/O Management & Disk Scheduling: I/O Devices, Organization of I/O Function, Operating
System Design Issues, I/O Buffering, Disk Scheduling (FCFS, SCAN, CSCAN). File
Management: File Concept, File Organization, File Directories, File Sharing, Allocation Methods,
Free Space Management, and Implementation Issues.

Text Books
1. Milenekovik, "Operating System Concept", McGraw Hill, 2nd Edition, 2009
2. Petersons, "Operating Systems", Addison Wesley, 9th Edition, 2012
3. D M Dhamdhere, “Operating Systems: A Concept based Approach”, McGraw Hill
Education, 3nd Edition, 2017.

Reference Books
1. Tannenbaum, "Operating System Design and Implementation", PHI, 9th Edition 2018
2. Silveschatz, Peterson J., "Operating System Concepts", Willey, 9th Edition, 2012

Online Resources

1. [Link]

Common questions

Powered by AI

Designing a robust operating system requires addressing concurrency and synchronization through effective process management, ensuring mutual exclusion, progress, and bounded waiting within critical sections. Key considerations include implementing semaphores, monitors, and locks to manage concurrent processes, designing efficient context switches to minimize overhead, and adopting scalable synchronization algorithms to handle multi-core and distributed systems. Balancing performance with complexity and guaranteeing deadlock avoidance while maintaining fair resource allocation are essential for effective concurrency management .

I/O buffering improves throughput by temporarily storing data during transfers between devices and memory, smoothing the differences in speed between slow I/O devices and fast CPU operations. This mechanism allows the CPU to perform other tasks while waiting for I/O operations to complete, reducing idle time and enhancing system efficiency. Adequate buffering can optimize data flow, minimize waiting times, and handle burst data efficiently, leading to improved overall system performance .

Virtual memory allows an operating system to use hard disk space as additional RAM, enabling the execution of processes that exceed physical memory limits. This enhances performance by providing each process with an illusion of an almost infinite memory, leading to better multitasking and resource sharing. Virtual memory techniques like paging allow for efficient memory use but require sophisticated management to avoid thrashing, where excessive paging leads to degraded performance .

Deadlocks in operating systems pose significant challenges due to the requirement that multiple conditions bring processes to a standstill, without any progress. Solutions involve prevention, such as negating at least one of the Coffman conditions (mutual exclusion, hold and wait, no preemption, circular wait), avoidance through methods like the Banker's algorithm ensuring safe states, and detection alongside recovery strategies, such as process termination or resource preemption. Combining approaches requires a careful balance to avoid compromising system performance .

Scheduling techniques such as First-Come-First-Serve (FCFS), Shortest Job Next (SJN), and Round Robin each have unique impacts on performance. FCFS can lead to inefficient turnaround time and the convoy effect. SJN minimizes average waiting time but can starve longer processes. Round Robin, designed for time-sharing systems, reduces response time and allows fair CPU allocation by rotating processes, but can increase context switching overhead, impacting throughput .

Multiprogramming with fixed partitions has predefined partition sizes that can lead to inefficient memory use due to internal fragmentation, where unused memory within a partition becomes wasted. Variable partitions, however, are adjusted dynamically, reducing internal fragmentation but potentially leading to external fragmentation. With variable partitions, memory is assigned precisely, enhancing efficiency but also adding complexity in memory allocation .

Batch operating systems execute jobs sequentially without user interaction, maximizing resource use by grouping jobs with similar needs. Interactive operating systems allow user interaction, focusing on quick response times and efficient command execution, necessary for environments that require real-time feedback. Real-time operating systems emphasize minimal latency and precise timing constraints, often dealing with life-critical or high-performance systems where deadlines are crucial. Each operates with distinct priorities impacting their design and use .

Semaphores are synchronization tools used to control access to shared resources by multiple concurrent processes. In solving the critical section problem, where resources need exclusive access, semaphores can provide mutual exclusion. A semaphore initialized to value one (binary semaphore) can implement a locking mechanism, ensuring that only one process enters the critical section at a time. This prevents race conditions and ensures data integrity among processes .

Thrashing occurs when there is excessive paging activity, resulting in high levels of page faults that degrade performance as the system spends more time swapping pages than executing processes. This typically happens when processes require more memory than available. Operating systems mitigate thrashing by optimizing the page replacement algorithm, using techniques like working set-based policies to estimate the active set of pages needed, and adjusting programs' memory allocations accordingly, thus reducing excessive paging .

File systems impact data management efficiency through their organization and management structures. Effective file systems offer robust file organization, rapid access, and efficient space management. Allocation methods like contiguous, linked, and indexed influence access speed and space wasted. Free space management impacts fragmentation levels, whereas file directories structure determines search efficiency. Well-designed systems balance these factors to facilitate quick data retrieval, reduce latency, and optimize storage utilization .

You might also like