Studies

Course catalogue

Operating Systems
Course Code 321-4100
Semester 4
ECTS 5.00
Hours (Theory) 3
Hours (Lab) 2
Instructor Nomikos Nikolaos
Course Content

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.

Prerequisites

Not required.

Teaching and Learning Methods

Lectures, resolving exercises, Laboratory Exercises.

Activity Semester workload
Lectures 39 hours
Laboratory Exercises 26 hours
Personal study 54 hours
Laboratory Exams
3 hours
Final exams 3 hours
Course total 125 hours (5 ECTS)

 

Assessment Methods / Grading

Lab exercises, written examination.

Teaching Language

Greek (English for Erasmus students)

Contact
  • President: Skoutas Dimitrios
  • Secretariat Head: Karagianni Kalliopi
  • Undergraduate Secretariat: ICS Eng. Department
  • Postgraduate Secretariat: ICS Eng. Department
  • Email: dicsd [at] aegean [dot] gr
  • Phone: 2273082000
  • Address: Κτήριο Λυμπέρη, Παλαμά 2 & Γοργύρας, Τ.Κ. 83200
  • Website: www.icsd.aegean.gr
  • Office Hours: Δευτέρα - Παρασκευή: 8:00 - 16:00
Στατιστικά Σπουδών
Μέσος Όρος Βαθμού Πτυχίου

7.76

Μέσος χρόνος Απόκτησης Πτυχίου

6.5 έτη

Μαθήματα με εργαστήριο

46

Κύκλοι Σπουδών

6

Μαθήματα Υποχρεωτικά

36

Μαθήματα Κύκλου

8

Σύνολο μαθημάτων για πτυχίο

55

Διπλωματική Εργασία

Υποχρεωτική