Operating Systems
CS222 • Spring 2025 • University of Cyprus
An Operating System (OS) is a fundamental software layer that manages and coordinates computer hardware and software resources, providing common services for user applications. The course teaches the basic principles that underpin the design and operation of modern operating systems, including concurrency, synchronization, and resource management (CPU, memory, I/O).
Lectures: Tuesday and Friday, 12:00 pm - 1:30 pm (Group 1), 1:30 pm - 3:00 pm (Group 2), Room CTF 02 B05
Recitations: , 3:00 pm - 4:00 pm (Group 1), 4:00 pm - 5:00 pm (Group 2), Room CTF 01 108
Labs: Monday and Thursday, 3:00 pm - 7:30 pm, Room FST 01 103
Schedule
Date | Lecture | Readings | Logistics | |
---|---|---|---|---|
Fri 24/01 |
Lecture #1
:
Introduction [ slides ] |
|||
Tue 28/01 |
Lecture #2
:
Processes [ slides ] |
|||
Fri 31/01 |
Lecture #3
:
Scheduling [ slides ] |
|||
Tue 04/02 |
Lecture #4
:
Virtualizing Memory [ slides ] |
|||
Fri 07/02 |
Lecture #5
:
Paging [ slides ] |
|||
Tue 11/02 |
Lecture #6
:
TLB [ slides ] |
|
||
Fri 14/02 |
Lecture #7
:
Smaller Tables [ slides ] |
|
||
Tue 18/02 |
Lecture #8
:
Memory Policy [ slides ] |
|||
Fri 21/02 |
Lecture #9
:
Slack [ slides ] |
|
||
Tue 25/02 |
Lecture #10
:
Threads [ slides ] |
|||
Fri 28/02 |
Lecture #11
:
Synchronization: Mutual Exclusion [ slides ] |
|||
Tue 04/03 |
Lecture #12
:
Synchronization: Semaphores, Monitors, and Condition Variables [ slides ] |
|||
Fri 07/03 |
Lecture #13
:
Synchronization: Semaphores, Monitors, and Condition Variables (continue) [ slides ] |
|||
Tue 11/03 | Midterm Exam | |||
Fri 14/03 |
Lecture #14
:
Deadlock [ slides ] |
|
||
Tue 18/03 |
Lecture #15
:
Synchronization: Classical Problems [ slides ] |
|||
Fri 21/03 |
Lecture #16
:
Synchronization: Classical Problems [ slides ] |
|||
Fri 28/03 |
Lecture #17
:
I/O Devices and Drivers [ slides ] |
|
||
Fri 04/04 |
Lecture #18
:
Storage Devices [ slides ] |
|
||
Tue 08/04 |
Lecture #19
:
File Systems [ slides ] |
|||
Fri 11/04 |
Lecture #20
:
File Layout and Directories [ slides ] |
|
||
Tue 29/04 |
Lecture #21
:
TBD [ slides ] |
|||
Fri 02/05 |
Lecture #22
:
Wrap Up [ slides ] |
About
Objectives
Introduction to the basic principles of the design and operation of modern operating systems. Familiarization with the various operation levels and mechanisms, case studies involving typical operating systems like UNIX and Windows as well as the dual role of the operating system, as manager of the various parts of the computer hardware and supplier of offered services to the user.
Content
Introduction, history and evolution of operating systems. General structure, operations and characteristics of an operating system. Concurrency. Process management. Scheduling and dispatch. Real and virtual memory management. I/O management and disk scheduling. File management.
Target Audience
The course is aimed at sophomore undergraduate students of computer science. The language of instruction is greek.
Prerequisites
Basic understanding of computer organization through undergraduate course equivalent to CS221 (Computer Organization) and advanced programming concepts through undergraduate course equivalent to CS232 (Programming Techniques and Tools).
Labs
Through lab exercises, students get practical experience and reinforce the basic concepts covered in the lectures.
Homework Assignments
Homeworks are assignments that are designed to help students develop an in-depth understanding of both the theoretical and practical aspects of ideas presented in lecture.
Bibliography
-
Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau, Operating Systems: Three Easy Pieces, Version 1.00 (Available free online!)
-
W. Stallings, ‘Operating Systems: Internals and Design Principles’, Prentice Hall, 9th edition, 2015, ISBN-10: 1-292-21429-5, ISBN-13: 978-1-292-21429-0 (Global edition).
Grading
Student progress is evaluated continuously through homework assignments, lab exercises, midterm and final exams. The final grade is based on the following formula:
- Assignments: 15%
- Lab exercises: 15%
- Midterm exam: 20%
- Final exam: 50%