Feleke Operating System Course Plan 2025
Feleke Operating System Course Plan 2025
Course description
This course is designed to acquaint students with the basic design principles and
implementation issues of Computer Operating Systems (OS). Course topics include:
Functions and evolution of OS, Process management (processes, threads, process
synchronization, CPU-scheduling, deadlock), memory management (paging, segmentation,
virtual memory), input-output-device management, hard-disk management, managing file
systems, security and protection issues in a computer system.
Course objectives
After completing this course, the student will be able to:
Describe the functions of modern operating systems (OSs;
Explain the evolution of OS;
Differentiate different OS services;
Compare various types of OS design structures;
Describe process-state and process-context-switching; Compare process and thread;
Discuss about inter-process communication;
Differentiate various CPU-Scheduling algorithms;
Discuss about Deadlocks(conditions, detection, prevention, avoidance);
Explain various memory management techniques (including virtual memory);
Describe how to manage input-output devices ;
Compare various hard-disk scheduling algorithms;
Explain File systems and explain different file allocation methods;
Describe protection and security issues in a computer system.
Course contents
1. Introduction to Operating System (OS)
1.1 Definition and functions of an operating system
1.2 Evolution of Operating Systems (from 1st generation to modern OS)
1.3 Major Computer hardware components (review)
1.4 OS major software components
1.5 OS design structures (monolithic, layered, virtual machine, micro-kernel)
1.6 OS services, system calls, system programs
1.7 Operating system design goals and implementation
5. Deadlocks
5.1 Deadlock definition, system model
5.2 Deadlock conditions and Modeling using RAG
5.3 Methods for handling deadlocks
5.4 Deadlock prevention, avoidance, detection, recovery
6. Memory management
6.1 Role of OS in relation to memory management
6.2 Logical versus physical address space
6.3 Contiguous memory allocation (fixed size, variable size)
6.4 Memory allocation algorithms (Best-fit, first-fit, worst-fit)
6.5 Non-Contiguous memory allocation
6.5.1 Paging concept, paging hardware
6.5.2 Segmentation concept, segmentation hardware
6.5.3 Paging with segmentation combined
7. Virtual memory
7.1 Need for virtual memory technique
7.2 Virtual memory (using demand paging, demand segmentation, page table)
7.3 Page replacement algorithms (Optimal, NRU, FIFO, LRU)
7.4 Thrashing (causes, effects of thrashing, how to avoid it)
Text book:
Abraham Silberschatz; Peter Baer Galvin; Greg Gagne;
“Operating System Concepts”; John Wiley & Sons Inc. , USA, 10th Edition, 2018.
Reference books
1. Andrew S. Tanenbaum ; Herbert Bos ;
“Modern Operating Systems”; Pearson Education Inc., USA, Fourth Edition, 2015.
The End!