ProgrammesModule: Operating Systems
Course Title: Operating Systems
Course Code: UU-COM-3003
Programme: Bachelor of Science (BSc) in Computer Science - MW - BL
Objectives of the Course:
• introduce Operating System structuring methods like monolithic, layered, modular, micro-kernel models
• provide deep knowledge of abstractions, processes, and resources
• make aware the concept of protection through the transition between user and system(kernel) mode
• thoroughly discuss OS structures like ready list, process control blocks, and so forth
• provide deep knowledge of the concept of processes and threads
• thoroughly discuss dispatching, context switching, preemptive, and nonpreemptive scheduling
• cover in detail the “mutual exclusion” problem and some solutions
• provide knowledge of deadlock including: causes, conditions, and prevention
• provide knowledge of synchronization models and mechanisms (semaphores, monitors, condition variables, rendezvous)
• explain in detail physical memory, memory management hardware, paging, and virtual memory.
1. describe how computing resources are used by application software and managed by system software
2. compare and contrast the various ways of structuring an operating system such as object-oriented, modular, micro-kernel, and layered
3. contrast kernel and user mode in an operating system
4. describe the difference between processes and threads
5. compare and contrast the common algorithms used for both preemptive and non-preemptive scheduling of tasks in operating systems, such as priority, shortest job first,round robin, and multi-layer schemes
6. describe reasons for using interrupts, dispatching, and context switching to support concurrency in an operating system.
7. describe the need for concurrency within the framework of an operating system
8. demonstrate the potential run-time problems arising from the concurrent operation of many separate tasks.
9. summarize the various approaches to solving the problem of mutual exclusion in an operating system.
10. explain memory hierarchy and cost-performance trade-offs.
11. explain the concept of virtual memory and how it is realized in hardware and software.
Prerequisites: UU-ACG-1000, UU-MKT-2000, UU-MAN-2010, UU-BBA-2000, UU-ENG-1000, UU-ENG-1001, UU-ENG-1005, UU-COM-1000, UU-MTH-1000, UU-MTH-1005, UU-MTH-2000, UU-MTH-3000, UU-COM-1100, UU-COM-2000, UU-COM-2003, UU-BA-IND100, UU-FNT-103