Learning Outcomes
The objectives of this course are:
• To present the concepts, structure and mechanisms of the modern‐day operating systems and the way it interacts with the hardware, other system and
application programs.
• To acquaint the student with the design principles and implementation issues of contemporary operating
systems
• to tie the concepts to real world design choices by studying and using as running example the UNIX/LINUX
multiuser operating system.
Attending this course the student is expected:
• to familiarize himself with the services that an operating system offers for application program creation
and execution, access to I/O devices and files, multitasking and multiprogramming, protection of resources
from unauthorized use, error detection and accounting and the algorithms for efficient management of the
computer resources
• learn to write UNIX scripts and programming in multiprogramming environment
Course Content (Syllabus)
• Computer system overview
• Operating system objectives and overview
• Process description and control
• Threads
• Mutual exclusion and synchronization
• Deadlock and Starvation
• Memory Management
• Virtual Memory
• Uniprocessor Scheduling
• Real time scheduling
• I/O management and disk scheduling
• File management
• Computer security
Course Bibliography (Eudoxus)
1. W. Stallings, “Λειτουργικά Συστήματα – Αρχές Σχεδίασης”, 6η έκδοση, Εκδόσεις Τζιόλα, 2009
2. Andrew Tanenbaum, “Σύγχρονα Λειτουργικά Συστήματα”, Εκδόσεις Κλειδάριθμος, 2009
3. Abraham Silberschatz, Peter Galvin , Greg Gagne, “Λειτουργικά Συστήματα”, 9η , Εκδόσεις Μ. Γκιούρδας, 2014.