ADMAS UNIVERSITY
FACULTY OF INFORMATICS
DEPARTMENT OF COMPUTER SCIENCE
COURSE OUTLINE
Course Title Operating Systems
Course Code CoSc3023
Credit Hours 3
Lecture Hours 2
Laboratory Hours 3
Prerequisites CoSc2022
Program BSc Degree in Computer Science
Academic Year
Instructors’ Name
Course Coordinator
Department Head
Course Description What is an Operating System, history of operating system, operating
system zoo; process concept, process scheduling, inter-process
communication; threads; CPU scheduling, basic concepts, scheduling
criteria, scheduling algorithms; process synchronization, the critical
section problem, semaphores, monitors, classical synchronization
problems; deadlocks, avoidance, prevention, detection; memory
management, physical and virtual memory, swapping, allocation, paging,
segmentation; file systems, access methods, directory structure, file
sharing and protection; security, authentication, intrusion detection,
encryption.
Course Objective At the end of this course, students will be able to:
Explain the concepts and principles of data communications and
computer networks
Determine data transmission and transmission media
Explain the objectives and functions of modern operating systems
Describe the functions of a contemporary operating system with
respect to convenience, efficiency, and the ability to evolve.
Explain the different states that a task may pass through and the data
structures needed to support the management of many tasks.
Explain conditions that lead to deadlock.
Compare and contrast the common algorithms used for both
preemptive and non-preemptive
Scheduling of tasks in operating systems, such as priority,
performance comparison, and fair-share schemes.
Explain the concept of virtual memory and how it is realized in
hardware and software
Course Contents
Chapter TOPIC Time
Allotted
1. Introduction 6hrs.
1.1. Role and purpose of operating systems
1.2. History of operating system development
1.3. Types of operating systems
Processes and process management
2. 12hrs.
2.1. Process and Thread
2.2. The concept of multi-threading
2.3. Inter process communication
2.3.1. Race conditioning
2.3.2. Critical Sections and mutual exclusion
2.4. Process Scheduling
2.4.1. Preemptive and Computer organization and
Architecture non preemptive scheduling
2.4.2. Scheduling policies
2.5. Dead lock
2.5.1. Deadlock prevention
2.5.2. Deadlock detection
2.5.3. Deadlock avoidance
3. Memory Management 10hrs.
3.1. Over view of physical memory and memory management
3.1.1. Hardware overlays
3.1.2. Swapping
3.1.3. Partitioning
3.2. Paging and Segmentation
3.2.1. Page replacement and replacement policies
3.3. Working sets and thrashing
3.4. Caching
Device Management
4. 6hrs.
4.1. Characteristics of parallel and serial devices
4.2. Buffering strategies
4.3. Direct memory access
4.4. recovery from failure
5. File Systems 8hrs.
5.1. Fundamental concepts on file
5.1.1. Data and meta data
5.1.2. Operations, organization and buffering in file
5.1.3. Sequential Vs Consequential data
5.1.4. Content and structure of directories
5.2. File system techniques
5.2.1. Partitioning
5.2.2. Mounting and unmounting
5.2.3. Virtual file system
5.2.4. Memory-mapped files
5.3. Special purpose file systems
5.3.1. Naming, searching and backup strategies
Security and protection
6.1. Overview of system security
6.1.1. Policies and mechanism of system security
6.2. System protection, authentication
6.2.1. Models of protection
6.2.2. Memory protection
6.2.3. Encryption
6.3. Recovery management
Roles of the Instructor He/she will come to the class regularly on time and deliver the lecture and/or
laboratory class in a well-organized manner. Besides, at the end of each class
he/she gives reading assignment for the next class. He/she will make sure that a
proper assessment is given. He/she is also responsible to give feedback for each
assessment
The success of this course depends on the students‟ individual and collective
Roles of the students contribution to the class discussions. Students are expected to participate
voluntarily, or will be called upon, to contribute to set exercises and problems.
Students are also expected to read the assigned readings and prepare the cases
before each class so that they could contribute effectively to class discussions.
Students must attempt assignments by their own. Proficiency in this course
comes from individual knowledge and understanding. Copying the works of
others is considered as serious offence and leads to disciplinary actions
Teaching & Learning Methods
Lectures
Practical classes (Lab sessions)
Interactive platforms
Cooperative Learning
Individual/Group project works
Presentation
Assessment Methods:
Assessment Methods Points
Assessment 1 (Test 1) 10
Assessment 2(Test 2/Practical Test) 10
Assessment 3(Individual Assignment) 10
Assessment 4 Group Assignment/Project 10
Presentation of Group Assignment/Project 10
Final Exam 50%
Grand total 100%
Text books:
Andrew S. Tanenbaum Herbert Bos, Modern Operating Systems, 4th Edition, Vrije
Universiteit Amsterdam, The Netherlands, 2015
References
William Stallings, Operating Systems - Internals and Design Principles, 7th Edition,
Prentice-Hall, 2012
Abraham Silberschatz, P.B. Galvin and G. Gagne, Operating Systems Concepts, 8th
Edition, John Wiley &Sons ,2009