CSE342_Operating+_Systems

= = =Reference Course Outline for:** __CSE342: Operating Systems__ **=

**Course Lead:**
Dr. Sajjad Haider

Course Description:
The objective of this course is to introduce the organization of operating systems. Topics included are process management and scheduling, interaction of concurrent processes, interrupts, I/O, device handling, memory and virtual memory management and file management. A survey of the design and implementation of distributed operating systems, both by introducing basic concepts and considering examples of current systems: (UNIX) and recently developed operating systems such as Linux, Window NT are presented. Students are required to implement the concepts using a programming language of their choice (preferably C or Java).

Prerequisite(s):
Computer Architectures & Assembly Language ( Suggested )

Course Objectives:
One para description of the Course objectives.

Primary Coure Outline Link:
Primary Course Outline.

Typical Semester in which this course is offered:
Fall

Programs in which course is offered:
BS(CS)

Course Outline

 * 1) OS Overview: Need, Responsibilities, Role and History.
 * 2) Revision of Computer Architecture Concepts
 * 3) Study of early Operating Systems and revision of Computer Systems.
 * 4) Process: Introduction, states, description, IPC mechanisms.
 * 5) Scheduling: Types, scheduling algorithms etc.
 * 6) Memory Management: Requirements, Partitioning, Paging, Segmentation etc.
 * 7) Virtual Memory: Concept and details.
 * 8) Threads
 * 9) Concurrency: Mutual Exclusion and Synchronization, Deadlock and Starvation.
 * 10) I/O and File Management

Text Books
Operating Systems, Internals and Design Principles (Fifth Edition) By William Stallings

**Grading**
Quizzes 10% Term Exams 40% (20% + 20%) Final exam 40% Assignments 10%