Cs2201 Operating Systems Mahesh Jangid Coursehandout
Cs2201 Operating Systems Mahesh Jangid Coursehandout
A. Introduction: This course is offered by Dept. of Computer Science and engineering as a department core subject.
The course provides a comprehensive understanding of Operating System principles, techniques and approaches
used for designing the software. The focus of the course is to make the students understand how various components
of operating system interact and provides services for execution of application software. Student will be apprised of
process management, deadlock, concurrency control, memory management, file management and I/O management
in detail, which will be beneficial for software development.
B. Course Outcomes: At the end of the course, students will be able to:
[2201.1]. Discuss the objectives, structure, functionality, and types of operating systems.
[2201.2]. Apply skills to develop system programs using file and process system calls and PThread API.
[2201.3]. Judge various process scheduling algorithms as per scheduling criteria.
[2201.4]. Examine concepts related to process synchronization and various deadlock handling strategies to solve
resource allocation problems.
[2201.5]. Distinguish different memory management techniques and page replacement algorithms.
[2201.6]. Describe file concepts and compare various disk scheduling and storage strategies.
[PO.1] Engineering knowledge: Apply the knowledge of mathematics, science, engineering fundamentals, and an
engineering specialization to the solution of complex engineering problems
[PO.2] Problem analysis: Identify, formulate, research literature, and analyze complex engineering problems
reaching substantiated conclusions using first principles of mathematics, natural sciences, and engineering
sciences
[PO.3] Design/development of solutions: Design solutions for complex engineering problems and design system
components or processes that meet the specified needs with appropriate consideration for the public health
and safety, and the cultural, societal, and environmental considerations
[PO.4] Conduct investigations of complex problems: Use research-based knowledge and research methods
including design of experiments, analysis and interpretation of data, and synthesis of the information to
provide valid conclusions
[PO.5] Modern tool usage: Create, select, and apply appropriate techniques, resources, and modern engineering
and IT tools including prediction and modeling to complex engineering activities with an understanding of
the limitations
[PO.6] The engineer and society: Apply reasoning informed by the contextual knowledge to assess societal,
health, safety, legal, and cultural issues and the consequent responsibilities relevant to the professional
engineering practice
[PO.7] Environment and sustainability: Understand the impact of the professional engineering solutions in
societal and environmental contexts, and demonstrate the knowledge of, and need for sustainable
development
[PO.8] Ethics: Apply ethical principles and commit to professional ethics and responsibilities and norms of the
engineering practices.
[PO.9] Individual and teamwork: Function effectively as an individual, and as a member or leader in diverse
teams, and in multidisciplinary settings
[PO.10] Communication: Communicate effectively on complex engineering activities with the engineering
community and with society at large, such as, being able to comprehend and write effective reports and
design documentation, make effective presentations, and give and receive clear instructions
[PO.11] Project management and finance: Demonstrate knowledge and understanding of the engineering and
management principles and apply these to one’s own work, as a member and leader in a team, to manage
projects and in multidisciplinary environments.
[PO.12] Life-long learning: Recognize the need for, and have the preparation and ability to engage in independent
and life-long learning in the broadest context of technological change
[PSO.1] Will be able to design, develop and implement efficient software for a given real life problem.
[PSO.2] Will be able to apply knowledge of AI, Machine Learning and Data Mining in analyzing big data for
extracting useful information from it and for performing predictive analysis.
[PSO.3] Will be able to design, manage and secure wired/ wireless computer networks for transfer and sharing of
information.
D. ASSESSMENT PLAN:
E. SYLLABUS
Introduction: Definition of operating systems, Single and multi-processor systems, Operating system Services, System commands and
system calls, Interrupt, System boot. OS Structure: Simple, Layered, Microkernel, Hybrid, Modules, Types of OS, Multi-user,
Multitasking, Embedded, Real-time, Network, Distributed. Virtualization: Introduction, Hypervisor, Data center, Virtual data center,
VMware virtualization products. Process and Thread: Process concept, Operations on processes, Inter-process communication, UNIX
pipes, Multithreading, Multithreaded models, PThread API. Process Scheduling: Basic concepts, Scheduling criteria, Scheduling
algorithms. Synchronization: Critical section problem, Peterson solution, Synchronization hardware, Semaphores, Classical problems of
synchronization, Deadlock, Methods for handling deadlock. Memory Management: Swapping, Contiguous memory allocation, Paging,
Structure of Page Table, Segmentation, Demand Paging, Page Replacement Policies, Allocation of Frames, Thrashing. File System
Interface and Implementation: File Concept, Access Methods, Directory and Disk Structure, File System Mounting, File System
Structure, File System Implementation, Allocation Methods, Free Space Management. Disk Management: Disk Scheduling Algorithms,
Disk Management, Swap Space Management.
References:
1. A. Silberschatz, P. B. Galvin, G. Gagne, Operating System Concepts, (9e), Wiley, 2014.
2. A.S. Tanenbaum, H. Bos, Modern Operating Systems, (4e), Pearson, 2015.
3. W. Stallings, Operating Systems: Internals and Design Principles, (9e), Pearson, 2018.
F. Lecture Plan:
Lecture No Topics Session Outcome Mode of Corresponding Mode of Assessing
Delivery CO the Outcome
1 Introduction and Course To acquaint and clear Lecture NA NA
Hand-out briefing teachers’ expectations and
understand student
expectations
2,3 Introduction: Definition of Discuss the objectives of Lecture 2201.1 Quiz
operating systems, Single OS, dual mode CPU MTE-1
and multi-processor systems, operation, execution of End Term
Operating system Services, system calls, interrupts, and
System commands and booting process.
system calls, Interrupt,
System boot.
4,5 OS Structure: Simple, Distinguish various Lecture 2201.1 Quiz
Layered, Microkernel, operating system structures MTE-1
Hybrid, Modules, Types of and types of operating End Term
OS, Multi-user, Multitasking, systems.
Embedded, Real-time,
Network, Distributed.
6 Tutorial
32, 33, 34, Memory Management: Distinguish between Lecture 2201.5 Quiz
35, 36 Background, Swapping, different memory Tutorial MTE-2
Contiguous Memory management techniques. End Term
Allocation, Paging, Structure
of Page Table, Segmentation,
37, 38, 39, Demand Paging, Page Describe the concept of Lecture 2201.5 Quiz
40, 41 Replacement Policies, virtual memory, and Tutorial End Term
Allocation of Frames, compare various page MTE-2
Thrashing. replacement algorithms
42, 43, 44, File System Interface and Compare various file Lecture 2201.6 Quiz
46, 47, 48 Implementation: File allocation methods and free Tutorial End Term
Concept, Access Methods, space management MTE-2
Directory and Disk Structure, techniques.
File System Mounting, File
System Structure, File
System Implementation,
Space Allocation Methods
for Files, Free Space
Management.
49, 50, 51 Disk Management: Disk Compare various disk Lecture 2201.6 Quiz
Scheduling Algorithms, Disk scheduling algorithms. Tutorial End Term
Management, Swap Space
Management.
G. Course Articulation Matrix: (Mapping of COs with POs)