Course Outline
Course Code Course Title ECTS Credits
COMP-354 Operating Systems 6
Prerequisites Department Semester
COMP-211, COMP-335 Computer Science Spring
Type of Course Field Language of Instruction
Required Computer Science English
Level of Course Lecturer(s) Year of Study
1st Cycle Prof. Harald Gjermundrød 3rd
Mode of Delivery Work Placement Corequisites
Face-to-face N/A None
Course Venue Course Day and Time Telephone
B205 Mo/We 12:00 – 13:30 22-841729
B220 Mo 18:00 – 21:00
Office Email Student Consultation
B224 gjermundrod.h@unic.ac.cy Hours
By appointment
Course Objectives:
The main objectives of the course are to:
• 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 non-preemptive
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, condition
variables, rendezvous).
Page 1|5
• explain in detail physical memory, memory management hardware, paging, and virtual
memory.
Learning Outcomes:
After completion of the course students are expected to be able to:
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.
Course Content:
1. Introduction. History of operating systems, computer-system organization and
architecture, operating system structure and operation.
2. Operating system structures. Operating system services and interfaces, system
programs, operating system design and implementation.
3. Processes. Process concepts, process scheduling, operations on processes, and
cooperating processes.
4. Threads. Motivation, user and kernel threads, multithreading models, thread scheduling.
5. Processor (CPU) scheduling. Preemptive vs. non-preemptive, FIFO, SJF, Priority, RR,
and multilevel queue.
6. Process Synchronization. Producer-consumer problem, mutual exclusion, Peterson
solution, lock-based solution, and semaphores.
7. Deadlocks. System model, prevention, avoidance, detection, and recovery.
Page 2|5
8. Memory Management. Logical and physical address space, swapping, and memory
allocation.
9. Virtual Memory. Paging, segmentation, page replacement strategies.
10. File System: Interface and Implementation.
Learning Activities and Teaching Methods:
Lectures, Practical Exercises, Project Work, and Assignments
Assessment:
Assessment Type Weight (Percentage)
Final Examination 60%
Midterm Examination (1) 30%
Project (1) 5%
Quizzes (5) 5%
Attendance:
”The University believes that faculty members make a significant contribution to the development
of students and, as a result, a student who is not consistent in class attendance is missing a major
part of the educational experience. Students are therefore strongly encouraged to maintain regular
class attendance. Being late to class may be recorded as absence. Absence is also recorded for
laboratory or practical sessions as well as for other required work such as trips. Furthermore, if a
course has a percentage of the in-course assessment dedicated to student participation, student
absences may result in a low mark in that component.
International students are required by law to attend classes regularly.
A student who has not been attending regularly, has not presented himself to the Final
Examination and, has not completed the major part of his in-course assessment, will be given a
“W” by the lecturer when final grades are submitted after the examination period”. (2.18.1.
Attendance Policy)
You are responsible for all information during lecture time.
Page 3|5
Course Requirements:
• Updated information about this course can be found on the class website:
https://courses.unic.ac.cy/
• You are responsible for all information and/or announcements provided during lecture time (face-
2-face and/or online).
• The Final Examination will be comprehensive. In case face-2-face final exam will not be possible
then the final exam may be delivered using online proctoring.
• No late homework/projects/courseworks will be accepted and no make-up tests/exams will be
given unless there is a serious reason. Documented evidence is required to support such cases.
• Essays homework and projects should include a bibliography and a list of reference material
consulted. This reference material should be clearly cited in the work presented by the student.
• Plagiarism in all assessment work is a serious offense, which leads to severe punishment.
• Wherever deemed necessary, an oral examination will supplement any assessment (midterm, final
exam, project, HW).
• Please consult the relevant reading material before coming to the lecture.
Grading Scale:
Numerical Grades Grade Points
Letter Grade Meaning
0-100 0-4
A Excellent 93-100 4.0
A- 90-92 3.7
B+ Very Good 87-89 3.3
B 83-86 3.0
B- 80-82 2.7
C+ Good 77-79 2.3
C 73-76 2.0
C- 70-72 1.7
D+ Poor but Acceptable 67-69 1.3
D 63-66 1.0
D- 60-62 0.7
F Failure 0-59 0.0
Required Textbooks / Readings:
Title Author(s) Publisher Year ISBN
Operating Systems Silberschatz, Gavin, Wiley 2018 978-1-119-
Concepts, 10th Ed. and Gagne 32091-3
Page 4|5
Recommended Textbooks / Readings:
Title Author(s) Publisher Year ISBN
Remzi H. Arpaci-
Operating Systems: Arpaci-Dusseau Version 1.10
Dusseau and Andrea 2023
Three Easy Pieces Books Online
C. Arpaci-Dusseau
Operating Systems: William Stallings Prentice 2017 978-
Internals and Design Hall 0134670959
Principles, 9th Ed.
Modern Operating Andrew S. Prentice 2014 978-
Systems, 4th Ed. Tanenbaum, Herbert Hall 0133591620
Bos
Weekly Schedule:
Week Topic Assigned Readings
1 Syllabus Ch. 1.1 – 1.12
Introduction to Operating Systems
2 Introduction to Operating Systems, Part 2 Ch. 1.1 – 1.12
3 Operating Systems Structures Ch. 2.1 – 2.11
4 Processes Concepts Ch. 3.1 – 3.6, and 3.9
5 Multithreaded Programming Ch. 4.1 – 4.8
6 Process Scheduling, Part 1 Ch. 5.1 – 5.5
7 Process Scheduling, Part 2 Ch. 5.7 – 5.9
8 Review and Midterm
9 Process Synchronization Ch. 6.1 – 6.6, and 6.10
10 Deadlock Ch. 8.1 – 8.9
11 Memory-Management Strategies Ch. 9.1 – 9.5, and 9.8
12 Virtual-Memory Management Ch. 10.1 – 10.6, and 10.11
13 Study Week
14 -15 Final Exam
Page 5|5