Cs f372 Operating Systems l1
Cs f372 Operating Systems l1
In addition to part-I (General Handout for all courses appended to the time table) this portion gives further specific details regarding the course.
Course No. : CS F372
Course Title : Operating Systems
Instructor-In-Charge: Prof. Barsha Mitra ([email protected])
Instructors : Alekhya gorrela, Chavali Lalitha, S RasagnaVakkalanka
Scope of the Course:
An operating system (OS) is a set of softwares that manages the computer hardware resources and provides common services for all computer programs that are executed on it. Alternatively
stated, an OS acts as a manager of resources. OS provides an established, convenient, and efficient interface between user programs and the bare hardware of the computer on which it runs. It
provides relatively uniform interfaces to access the extremely wide variety of devices that a computer interacts with, ranging from input/output devices such as printers and digital cameras, to
multiple processors that are available on a single board. OS is responsible for sharing resources (e.g., disks, and processors), providing common services needed by many different programs
(e.g., access to the printer), and protecting individual programs from interfering with one another. There is a huge range and variety of computer systems for which operating systems are
being designed: from embedded devices like on-board computers for the space shuttle or a luxury sedan and cellphones to PCs, workstations, and mainframes, to supercomputers. The intent
of this course is to provide a thorough discussion of the fundamentals of operating system concepts and to relate these to contemporary design issues and current directions in the development
of operating systems.
Objectives of the Course:
● To learn about how process management is carried out by the OS. This will include process creation, thread creation, CPU scheduling, process synchronization and deadlocks.
● To learn about memory management carried out by OS. This will include the concepts of paging, segmentation, swapping, and virtual memory.
● To learn how permanent storage like files and disks are managed by OS. This will include topics related to access methods, mounting, disk scheduling, and disk management.
● To gain hands-on experience on the above-mentioned topics through the Linux operating system.
Text Book:
T1. Silberschatz, Galvin, and Gagne, “Operating System Concepts”, 9th edition, John Wiley & Sons, 2012.
Reference Books:
R1. W. Stallings, “Operating Systems: Internals and Design Principles”, 6th edition, Pearson, 2009.
R2. Tanenbaum, Woodhull, “Operating Systems Design & Implementation”, 3rd edition, Pearson, 2006.
R3. Dhamdhere, “Operating Systems: A Concept based Approach”, 2nd edition, McGrawHill, 2009.
R4. Robert Love, “Linux Kernel Development”, 3rd edition, Pearson, 2010.
R5. Russ Cox, Frans Kaashoek, Robert Morris, “xv6 a simple, Unix-like teaching operating system”. Online Draft, 2021. https://pdos.csail.mit.edu/6.828/2021/xv6/book-riscv-rev2.pdf
R6. Daniel P. Bovet, Marco Cesati “Understanding the Linux Kernel”, 3rd Edition.
R7. Jonathan Corbet, Alessandro Rubini, Greg Kroah-Hartman “Linux Device Drivers”, 3rd Edition.
Course Plan:
1-3 To understand the various components of a computer and Introduction: What OS does? Computer System Organization & T1: Ch. 1
the role OS plays to control them. Architecture, OS Operations, Computing environments.
4-6 To learn how a system boots and what functions and OS Structures: OS Services, Interfaces, System calls, OS structure, OS T1: Ch. 2
services an OS provides Debugging, System boot.
7-10 To learn how processes are created and handled by the OS Processes: Process Control Block (PCB), Process states, Operations on T1: Ch. 3
and how they communicate with each other. processes, Inter Process Communication (IPC), Scheduling queues,
Types of schedulers, Context switch.
11-13 To understand how threads are created and managed by OS Threads: Motivation, Benefits, Multicore programming, Multithreading T1: Ch. 4
and differences between processes & threads models, Thread library, Threading issues.
14-17 To learn how multiple processes are executed by OS CPU Scheduling: Scheduling Criteria, Scheduling Algorithms, Thread T1: Ch. 6
scheduling, Algorithm evaluation.
18-21 To understand how OS manages the concurrent resource Process Synchronization: Critical section problem, Peterson’s solution, T1: Ch. 5
access requests Hardware solutions, Semaphores, Classical synchronization problems.
22-25 To identify how two or more processes can wait indefinitely Deadlocks: Resource Allocation Graphs, Cycle and Knot, Solutions to T1: Ch. 7
for accessing resources and how to resolve the situation deadlock: Prevention, Avoidance, Detection, and Recovery from
deadlocks.
26-29 To learn how main memory is divided into different parts Main Memory Management: Address binding, Logical vs physical T1: Ch. 8
and allocated to the processes so that degree of address space, Dynamic loading, Swapping, Contiguous memory
multiprogramming can be increased. allocation, Paging: Hardware support, Structure of Page table,
Segmentation.
30-33 To understand how to combine RAM and Hard disk to get a Virtual Memory: Demand paging, Page replacement algorithms, T1: Ch. 9
Virtual memory so that larger programs can be run. Allocation of frames, Thrashing,Allocating Kernel memory.
34-35 To learn how secondary storage structures are implemented Mass Storage: Disk structure, disk scheduling, disk management, and T1: Ch. 10
and managed RAID.
36-37 To identify what abstraction OS provides to access contents File System Interface: File system, Access methods, and directory T1: Ch. 11
from a hard disk structures.
38-39 To understand how file system implementation helps to File System Implementation: Structure and Implementation, Allocation T1: Ch. 12
improve the efficiency of storage space methods and Free space management.
40-41 To understand how OS manages various I/O devices I/O Systems: I/O hardware, I/O Interface, Kernel I/O subsystem. T1: Ch. 13
Evaluation:
Mid Semester Examination 90 minutes 35% 11/03 - 4.00 - 5.30PM Closed Book
To be announced in class.
Notices:
Make-up Policy:
● Prior permission of the Instructor-in-Charge is required to get make-up for Mid-Sem. Only on producing documentary proof of possible absence, which proves that the student
will be physically unable to appear for the exam due to medical emergencies, the decision to grant the make-up will be taken. Medical documents provided by campus doctors are only
permissible. The documentary proof should be submitted before the examination. Any document submitted after the examination will not be acceptable. The above-mentioned conditions also
apply for comprehensive examination.