Course Title Operating Systems
Course Code HCT 201
Credits Lecture hrs: 36 Practical hrs: 6 Tutorial hrs: 6
Individual Study hrs: 53 Assessment: 19
Notional Hours: 120 Credits: 12
Course Description This course deals with the structure and mechanisms of operating systems its
purpose is to provide an understanding of the fundamentals of operating system
design, relating them to current directions in their development.
Learning Outcomes At the end of the course students should be able to:
Explain mechanisms and policies that enable the efficient illusion of
concurrent execution of multiple programs upon one (or more) CPUs
Implement security mechanisms and policies that protect processes from
unauthorized access to their memory or files
Implement data structures and algorithms used to organize persistant
storage
Explain how resources such as cpu time, memory, and persistent storage
are managed and allocated
Implement challenges in concurrency and approaches to avoiding race
conditions and deadlock
Explain the role of device drivers in providing generic programming
interfaces to i/o devices
Explain the intertwined role of interrupts, traps, paged and segmented
memory translation, and supervisor mode in enabling multi-tasking,
isolation, system calls, access to i/o devices, and timers
Core Synopsis Operating system services, file system organization, disk and CPU scheduling,
virtual memory management, concurrent processing and distributed systems,
protection and security. Aspects of the UNIX operating systems and the C
programming language.
Course Assessment Assessment comprises of continuous assessment and a written final examination
as follows.
1 Assignment 10%
Project 15%
Tests: 2 In- Class Tests 15%
Final Examination: 60%
Textbooks and References Abraham-Silberschatz-Operating-System-Concepts---9th edition 2012.
Crowley, C., Operating Systems: A Design-Oriented Approach. Irwin,
1997.
Software G++ compiler, GNC compiler , UNIX OS
Week Number Topic Subtopics( Areas to be covered)
Week 1&2 Introduction Overview, history of Operating Systems
System Calls
Operating System Structure
System calls in C
Linux Shell Scripting-1(Assignment 1)
Week 3 ,4&5 Introduction to processes Processes
Threads
Inter-process communication
Classical problems
Scheduling in C
critical sections
semaphores
Week 6&7 Synchronization (mostly Linux Shell Scripting-2(loops, shell-scripts)
deadlock prevention) Resources
Deadlock
Detection of deadlock
Stopping systems from entering deadlock (avoidance)
Designing systems that can not get to deadlock
(prevention)( Test 1)
Week 8&9 Memory Management address binding;
virtual memory;
address translation;
management policies for demand paged virtual memory
Week 10 Mass Storage Structure Disk Structure
Disk Attachment
Disk Scheduling
Swap space management
RAID
Week 11 Files characteristics of i/o devices
Files(Test 2)