CS-2105

Operating Systems

Course ID
CS-2105
Department
Software Engineering
Campus
Chella Campus
Level
Undergraduate
Semester
3rd
Credit
3 + 1
Method
Lecture + Lab

Course Outlines:

Basic Elements: Evolution of the Microprocessor, Instruction Execution

Interrupts: Interrupts and the Instruction Cycle, Interrupt Processing, Multiple Interrupts.

Memory: The Memory Hierarchy, Cache Memory, Direct Memory Access.

Memory: The Memory Hierarchy, Cache Memory, Direct Memory Access.

Operating System: Objectives and Functions, The Evolution of Operating Systems, Developments Leading to Modern Operating Systems

Virtual Machines: Virtual Machine Architecture.

Multiprocessor and Multicore Organization: OS Design Considerations for Multiprocessor and Multicore

Processes and Threads: Types of Threads, Multicore and Multithreading.

Principles of Concurrency.

Mutual Exclusion, Hardware Support, Semaphores.

Multi-Process Synchronization: Producer/Consumer Problem.

Message Passing: Readers/Writers Problem.

Deadlocks: Principles of Deadlock, Deadlock Prevention, Detection and Avoidance, An Integrated Deadlock Strategy.

Memory Management: Memory Partitioning, Paging, Segmentation, Virtual Memory, Hardware and Control Structures for Virtual Memory.

Fetch Policy, Placement Policy, Replacement Policy, Resident Set Management, Cleaning Policy, Load Control.

Course Learning Outcomes

Understand the characteristics of different structures of the Operating Systems and identify the core functions of the Operating Systems.

Be able to analyse and evaluate the algorithms of the core functions of the Operating Systems and explain the major performance issues with regard to the core functions.

Be able to develop parallel applications using techniques and tools available in modern systems (such as threads, system calls, semaphores, etc.)

Practice the commands of DOS and Linux distribution.(Lab)

Construct programs in C/C++ to implement algorithms related to Operating Concepts.(Lab)

Teaching Methodology (Proposed as applicable):

Lectures (audio/video aids), Written Assignments/ Quizzes, Tutorials, Case Studies relevant to engineering disciplines, Semester Project, Guest Speaker, Industrial/ Field Visits, Group discussion, Report Writing

Assessment:

Mid Term, Report writing/ Presentation, Assignments, Project Report, Quizzes, Final Term

Suggested Books:

Silberschatz, P. B. Galvin and G. Gagne, “Operating System Concepts, Internals & Design Principles”, latest Ed., Wiley.

William Stallings “Operating Systems: Internals & Design Principles”, latest Ed., Prentice Hall

S. Tanenbaum and A. S. Woodhull “Modern Operating Systems”, latest Ed., Prentice Hall.

There are 133 total credit hours to complete the Software Engineering degree.