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

Operating Systems Course Overview

The document outlines the syllabus for the B. Tech II Year II Semester course on Operating Systems, detailing course objectives, unit topics, and expected outcomes. Key areas of study include operating system structures, process management, synchronization, memory management strategies, and file systems. Students will learn practical skills such as writing shell scripts, creating processes and threads, and implementing scheduling techniques.

Uploaded by

hkumar92504
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)
30 views2 pages

Operating Systems Course Overview

The document outlines the syllabus for the B. Tech II Year II Semester course on Operating Systems, detailing course objectives, unit topics, and expected outcomes. Key areas of study include operating system structures, process management, synchronization, memory management strategies, and file systems. Students will learn practical skills such as writing shell scripts, creating processes and threads, and implementing scheduling techniques.

Uploaded by

hkumar92504
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

Dept.

of Computer Science & Engineering (Cyber Security)

B. Tech II Year II Semester


23CSC105 OPERATING SYSTEMS
L T P C
3 0 0 3
Course Objectives:
1. To describe the operating system structures, services and system call.
2. To illustrate the process management concepts and threads
3. To demonstrate about scheduling algorithms and process synchronization.
4. To explain the concept of deadlocks.
5. To illustrate the file system and protection techniques.
UNIT I INTRODUCTION 9 hours

Concept of Operating Systems, OS Services, System Calls, Structure of an OS - Layered, Monolithic,


Microkernel Operating Systems, Case study on UNIX and Windows Operating System.
Korn Shell Programming: Basic Script Concepts, Expressions, Decisions: Making Selections, Repetition,
Special Parameters and Variables, Changing Positional Parameters, Argument Validation, Debugging
Scripts.
UNIT II PROCESS CONCEPTS 9 hours

Processes: Definition, Process Relationship, Different states of a Process, Process State transitions, Process
Control Block (PCB), Context switching Thread: Definition, Various states, Benefits of threads, Types of
threads, Concept of multithreads
Process Scheduling: Foundation and Scheduling objectives, Types of Schedulers, Scheduling criteria: CPU
utilization, Throughput, Turnaround Time, Waiting Time, Response Time; Scheduling algorithms: Pre-
emptive and Non-pre-emptive, FCFS, SJF, RR; Multiprocessor scheduling.
UNIT III PROCESS SYNCHRONIZATION AND DEADLOCKS 9 hours

Critical Section, Race Conditions, Mutual Exclusion, Hardware Solution, Strict Alternation, Peterson’s
Solution, The Producer Consumer Problem, Semaphores, Event Counters, Monitors, Message Passing,
Classical IPC Problems: Reader’s & Writer Problem, Dinning Philosopher Problem etc. Deadlocks:
Definition, Necessary and sufficient conditions for Deadlock, Deadlock Prevention, Deadlock Avoidance:
Banker’s algorithm, Deadlock detection and Recovery.

UNIT IV MEMORY MANAGEMENT STRATEGIES 9 hours

Memory Management: Basic concept, Logical and Physical address map, Memory allocation: Contiguous
Memory allocation, Fixed and variable partition, Internal and External fragmentation and Compaction;
Paging: Principle of operation, Page allocation, Hardware support for paging, Protection and sharing,
Disadvantages of paging. Virtual Memory: Basics of Virtual Memory, Hardware and control structures,
Locality of reference, Page fault, Working Set, Dirty page/Dirty bit, Demand paging, Page Replacement
algorithms: Optimal, First in First Out (FIFO), Second Chance (SC), Not recently used (NRU) and Least
Recently used (LRU).

82 | P a g e
Dept. of Computer Science & Engineering (Cyber Security)

UNIT V FILE SYSTEM 9 hours

File Management: Concept of File, Access methods, File types, File operation, Directory structure, File
System structure, Allocation methods (contiguous, linked, indexed), Free-space management (Bit vector,
linked list, grouping), directory implementation (linear list, hash table), efficiency and performance. Disk
Management: Disk structure, Disk scheduling - FCFS, SSTF, SCAN, C-SCAN, Disk reliability, Disk
formatting, Boot-block, Bad blocks.
Protection: Goals of protection, Principles of protection, Protection Rings, Domain of protection, Access
matrix.
Course Outcomes:
At the end of this course students will demonstrate the ability to
CO1: Write shell scripts using KornShell.
CO2: Create processes & threads and implement the various process scheduling techniques.
CO3: Analyze the concurrent processing and deadlock situations.
CO4: Design algorithmic solutions to solve memory management problems.
CO5: Implement the file protection techniques.

Text Books:
1. “Operating System Concepts”, Abraham Silberschatz, Peter Baer Galvin and Greg Gagne, 10th
Edition, John Wiley and Sons Inc., 2018
2. "Modern Operating Systems", Andrew S Tanenbaum, Pearson, 5th Edition, 2022 New Delhi.
Reference Books:
1. “Operating Systems – A Spiral Approach”, RamazElmasri, A. Gil Carrick, David Levine, Tata McGraw
Hill Edition, 2010.
2. "Operating Systems: Internals and Design Principles", William Stallings, 7th Edition,
Prentice Hall, 2018.
3. “Operating Systems”, [Link], AtulKahate, McGraw Hill Education, 2016.

Mode of Evaluation: Assignments, Mid Term Tests and End Semester Examination.

83 | P a g e

Common questions

Powered by AI

Processes undergo states such as new, ready, running, waiting, and terminated. Effective process management relies on transitions between these states to optimize CPU usage and throughput. The operating system uses process state transitions to execute scheduling strategies, manage resources, and control the execution flow, thereby ensuring fair CPU time allocation and efficient process synchronization .

Protection rings enforce operating system security by segregating processes into different levels of privileges. Ring 0 represents the most privileged, allowing unrestricted system access for the OS kernel, whereas higher rings like user applications have limited access. This mechanism prevents unauthorized access to critical system resources, ensuring that user processes cannot maliciously alter kernel operations .

Deadlocks are avoided by ensuring that the necessary conditions for deadlock do not hold. The Banker’s algorithm prevents deadlocks by simulating allocation for given resource states and workloads, ensuring resources are available to finish all processes safely. However, in real-world systems, implementing the Banker’s algorithm can be infeasible due to its complexity and the dynamic nature of process requests, requiring a priori knowledge of maximum resource needs .

Multithreading offers benefits such as improved system responsiveness, resource sharing within processes, and efficient CPU utilization due to concurrent execution of threads. However, it introduces challenges like synchronization issues, potential race conditions, and increased complexity in programming due to the need for effective thread management and communication .

Scheduling algorithms significantly influence system performance by determining the order of process execution. FCFS (First-Come-First-Served) is simple and fair but can lead to poor turnaround times in high-load scenarios due to the convoy effect. SJF (Shortest Job First) optimizes turnaround by prioritizing shorter processes but risks starvation of longer processes. Round Robin (RR) provides time-sharing by assigning time slices to processes, enhancing fairness and responsiveness but potentially increasing context-switching overhead .

Different file allocation methods impact file system performance and reliability in varied ways. Contiguous allocation offers high performance for sequential access but suffers from external fragmentation. Linked allocation eliminates fragmentation but complicates random access due to pointer chains. Indexed allocation supports both random and sequential access effectively but requires additional space for index blocks, influencing performance when accessing large files .

Operating systems can be structured as layered, monolithic, or microkernel systems, each with distinct impacts on functionality. Layered systems break down the OS into a hierarchy of operations, promoting modularity and easier debugging but may suffer from inefficiencies due to layer-to-layer communication. Monolithic systems encompass all functionalities in one kernel, often leading to better performance but at the cost of complexity and difficulty in maintenance. Microkernel structures minimize the kernel size by running most services in user space, improving reliability and security but sometimes resulting in performance overhead due to increased context switching .

An access matrix broadly defines the permissions that processes have over system resources, supporting the principle of least privilege. Domains of protection extend this by grouping processes/tasks under specific access capabilities. Together, these concepts form a robust framework that dynamically adapts resource access rights, ensuring security and operational integrity within the system .

Classical synchronization problems like the Producer-Consumer, Reader-Writer, and Dining Philosopher problems arise from concurrent processes requiring shared resources. Solutions include semaphores, which signal resource availability and enforce mutual exclusion, the use of monitors for condition synchronization, and message-passing systems to ensure orderly process communication and avoid deadlock and race conditions .

Virtual memory allows systems to extend physical memory onto disk storage, improving program execution efficiency and system responsiveness by using techniques like demand paging. Challenges in implementation include managing page faults, ensuring effective page replacement strategies such as LRU or FIFO to minimize overhead, and maintaining sufficient hardware support to address the increased complexity in memory address translation and protection .

You might also like