Department of Information & Communication Systems Engineering
University of the Aegean

Department of Information
& Communication Systems Engineering

Information & Communication Systems Security
Information Systems
Artificial Intelligence
Computer & Communication Systems
Geometry, Dynamical Systems & Cosmology
Operating Systems

Title: Operating Systems
Lesson Code: 321-4103
Semester: 2
Theory Hours: 3
Lab Hours: 2
Faculty: Karybali Eirini
Content outline

Introduction to Operating Systems: basic concepts, history, operating system structure. Processes: the process model and implementation of processes, interprocess communication (race conditions, critical regions, mutual exclusion), process scheduling. Threads: the thread model and thread usage, implementation of threads in user space and in the kernel, hybrid implementations, pop-up threads, making single-threaded code multithreaded, thread scheduling. Deadlocks: detection and recovery, deadlock avoidance, deadlock prevention. Memory management: swapping, virtual memory, page replacement algorithms, design issues for paging systems, implementation issues, segmentation. Input/Output (I/O): principles of I/O hardware, principles of I/O software, I/O software layers, disks. File systems: files and directories, file system implementation, security and protection mechanisms.

Learning outcomes

It is the intent of this course that students will:
- understand the modern computer systems' complexity and the usefulness of operating systems.
- know the most important resource-utilization issues arising in a computer system.
- learn the most popular solutions adopted by modern operating systems.
- be able to describe the basic principles used in the design of modern operating systems.
In particular, the students will:
1. be able to analyze the tradeoffs inherent in operating system design.
2. be able to distinguish different styles of operating system design.
3. understand the main principles and techniques used to implement processes and threads as well as the different algorithms for process scheduling.
4. understand the main mechanisms used for inter-process communication.
5. be able to contrast kernel and user mode in an operating system.
6. be able to explain memory hierarchy and cost-performance tradeoffs.
7. be able to give the rationale for virtual memory abstractions in operating systems.
8. have an understanding of disk organization and file system structure.
9. be able to describe how computing resources are used by application software and managed by system software.
10. understand the internal structure of an operating system and be able to write programs using system calls.
11. understand the major mechanisms of current general-purpose operating systems exemplified by Linux.
12. are capable of basic system-oriented programming and providing simple extensions to an operating system.

Not required.
Basic Textbooks

1. Σύγχρονα λειτουργικά συστήματα, Andrew S. Tanenbaum.
2. Λειτουργικά Συστήματα 9η Εκδ., Abraham Silberschatz, Peter Baer Galvin, Greg Gagne.

Learning Activities and Teaching Methods

Lab exercises, written examination.

Assessment/Grading Methods

Lectures, επίλυση ασκήσεων με υποδειγματικό τρόπο, εργαστηριακές ασκήσεις.

Activity Semester workload
Lectures 39 hours
Laboratory Exercises 26 hours
Personal study 54 hours
Εξέταση εργαστηρίου 3 hours
Final exams 3 hours
Course total 125 hours (5 ECTS)


Language of Instruction
Greek, English (for Erasmus students)
Μode of delivery


Home | Contact

University Of The Aegean

Department of Information & & Communications Systems Engineering

© Copyright ICSD :: 2008 - 2017