OS Course Outline AASTU
OS Course Outline AASTU
Synopsis
This course deals with the fundamental theories and principles that lay the ground for the
functionality of traditional and modern operating systems. It examines basic issues in
operating system design and implementation. It also covers the tradeoffs that can be made
between performance and functionality during the design and implementation of an
operating system. Particular emphasis will be given to the major subsystems: process
management, memory management, file and I/O. Moreover, the course will have a series
of laboratory sessions based on the Linux kernel. The sessions involve, among other
things, implementing and testing of operating system concepts using the C programming
language.
Course Learning Outcome (CLO): At the end of the course the student will be able to do:
CLO1 Relate how operating systems as system software are vital in computing systems.
CLO2 Demonstrate a deep understanding of how operating systems work internally.
CLO3 Experiment with the various tools and algorithms used in both popular and
emerging operating systems.
CLO4 Make use of existing operating systems to solve common computing problems
based on ethics and professionalism.
CLO5 Identify emerging operating systems trends and utilize professional platforms to
keep abreast with new developments.
1
Chapter Outline
1. Overview of Computer system
1.1 Introduction to operating systems
✓ History
✓ Definition
✓ Basics of operating systems
✓ Types of operating systems/Classification
✓ Functions of operating systems
✓ Components of operating systems
1.2 Operating System Structures
✓ System calls
✓ Virtual machines OS
2. Process Management
2.1 Introduction to Processes
2.2 Introduction to Threads
2.3 Interprocess Communication
✓ Classical IPC problems
2.4 Process scheduling
2.5 Deadlock
3. Memory Management
3.1 Basics of memory management
3.2 Swapping
3.3 Virtual Memory
✓ Demand Paging
✓ Page Replacement Algorithms
3.4 Segmentation
4. File systems
4.1 Files and directories
✓ File Concept
✓ Directory Structure
4.2 File System Implementation
✓ File System Structure
✓ Disk Block Allocation Methods
5. I/O Systems
5.1 Principles of I/O hardware
5.2 Principles of I/O software
5.3 I/O software layers
2
Teaching and learning method
Lectures supported by tutorials, Assignments, and projects.
Assessment
Continuous Assessment Percentage F2F NF2F SLT
Total-50(%)
1 Test 10 1 1 2
2 Quiz 5 1 1 2
3 Project 30 6 6
4 Assignment 15 3 3
Total 13
Final Exam Percentage 50 F2F NF2F SLT
(%)
Final Exam 40 3 6 9
Grand Total SLT 120
L = Lecture, T = Tutorial, P = Practical, O = Others, F2F = Face to Face, NF2F = Non Face to
Face
Note: indicates the CLO based on the CLO’s numbering in item 9.
12 Special 1 Software
requirements and 2 Computer lab
resources to deliver
the course
13 Textbook and 1 Abraham Silberschatz, Operating System Concepts 10e, Wiley
reference: (WileyPLUS Products); 10 edition (May 2, 2018), ISBN-
10: 1119456339, ISBN-13: 978-1119456339
2 William Stallings, Operating Systems Internals and Design
Principles,8th ed, Pearson; 8 edition (February 2, 2014), ISBN-
10: 0133805913, ISBN-13: 978-0133805918
3 K. C. Wang, Design and Implementation of the MTX Operating System,
Springer; 1st ed. 2015 edition (July 16, 2015), ISBN-10: 3319175742
ISBN-13: 978-3319175744