Course Title Operating Systems
Course Code SEng2032
CP 5(2hr Lecture, 3hr Lab)
Module Title Computer Systems
Module Number 03
Pre-requisites None
Year II
Semester II
Status of Course Compulsory
Course Description
What is an Operating System, history of operating system, operating system zoo; process
concept, process scheduling, inter-process communication; threads; CPU scheduling, basic
concepts, scheduling criteria, scheduling algorithms; process synchronization, the critical section
problem, semaphores, monitors, classical synchronization problems; deadlocks, avoidance,
prevention, detection; memory management, physical and virtual memory, swapping, allocation,
paging, segmentation; file systems, access methods, directory structure, file sharing and
protection; security, authentication, intrusion detection, encryption.
Course Goals or Learning Outcomes
By the end of this course, students will be able to:
Explain the objectives and functions of modern operating systems
Describe the functions of a contemporary operating system with respect to convenience,
efficiency, and the ability to evolve.
Explain the different states that a task may pass through and the data structures needed to
support the management of many tasks.
Explain conditions that lead to deadlock.
Compare and contrast the common algorithms used for both preemptive and non-preemp-
tive scheduling of tasks in operating systems, such as priority, performance comparison,
and fair-share schemes.
Explain the concept of virtual memory and how it is realized in hardware and software
Course contents
Week/Date TOPIC TO BE DISCUSSED
Week 1 Overview
Role and purpose of operating systems
History of operating system development
Types of operating systems
Week 2 Processes and process management
The process concepts
The threads concept
Week 3 Processes and process management (Cont.)
Inter-process communication
Week 4 Processes and process management
Process scheduling
Week 5 Processes and process management
Deadlock
Week 6 Memory management
Review of physical memory and memory management hardware
Overlays, swapping, and partitions
Week 7 Memory management
Paging and segmentation
Page placement and replacement policies
Week 8 Memory management
Working sets and thrashing
Caching
Week 9 Device management
Characteristics of serial and parallel devices
Abstracting device differences
Week 10 Device management
Buffering strategies
Direct memory access
Recovery from failures
Week 11 File systems
Fundamental concepts (data, metadata, operations, organization, buffering,
sequential vs. non-sequential files)
Content and structure of directories
Week12 File systems
File system techniques (partitioning, mounting and unmounting, virtual file
systems)
Memory-mapped files
Week 13 File systems
Special-purpose file systems
Naming, searching, and access
Week 14 Security and protection
Overview of system security
Policy/mechanism separation Security methods and devices
Week 15 Security and protection
Protection, access, and authentication
Models of protection
Memory protection
Encryption
Recovery management
Week 16 FINAL EXAM
Summary of Teaching Learning Methods
The learning–teaching methodology will be student-centered with appropriate guidance from the
instructor/s during the students ‘activities. There will be Lecture, Demonstrations, Lab work
Tutorials, Reading assignments, and Group Discussions
Summary of Assessment Methods
The course will be assessed using different assessment methods like Quizzes, Reading
assessments, Assignments, Projects, Lab exams, and Final exam
References
Andrew Tanenbaum, Modern Operating Systems, 2nd Edition, USA, Prentice Hall, 2001
William Stallings, Operating Systems: Internals and Design Principles,5th Edition, Pren-
tice-Hall,2005