Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

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)

You might also like