Λειτουργικά Συστήματα

Academic Semester:
Course TypeReference NumberSubprogram
Υποχρεωτικό (Υ)Theory: TΠ30K1
Lab: TΠ31K1
SemesterAcademic YearHours per week
Χειμερινό2oTheory: 3 Lab: 2
ExamsECTSWorkload
Γραπτή 611
PrerequisitesTeaching methodTeaching Language
Διαλέξεις, εργαστήρια Ελληνικά, Αγγλικά

Ακαδημαϊκό Προσωπικό

Ακαδημαϊκός Υπεύθυνος: 
mdgramma's picture
γραμματικάκης μίλτιάδης
Grammatikakis Miltiadis
Professor
Καθηγητής
+30 - 2810379706

ΠΕΡΙΕΧΟΜΕΝΟ ΜΑΘΗΜΑΤΟΣ

Εισαγωγή

  • Τι είναι το λειτουργικό σύστημα
  • Βασικοί τύποι λειτουργικών συστημάτων
  • Βασικές έννοιες λειτουργικών συστημάτων
  • Δομή των λειτουργικών συστημάτων

Διεργασίες

  • Το μοντέλο των διεργασιών (processes, multi-programming)
  • Διαδιεργασιακή επικοινωνία (busy waiting, sleep/wakeup, semaphores)
  • Χρονοπρογραμματισμός (scheduling)
  • Νήματα (threads)

Διαχείριση Μνήμης

  • Βασική διαχείριση μνήμης (memory allocation, dynamic address relocation)
  • Eναλλαγή (swapping)
  • Εικονική μνήμη (virtual memory, paging)
  • Αλγόριθμοι αντικατάστασης σελίδων (page replacement algorithms)

 
Διαχείριση Αρχείων

  • Αρχεία και κατάλογοι (files & directories)
  • Υλοποίηση συστήματος αρχείων και καταλόγων (file system implementation)
  • Διαχείριση και αξιοπιστία των συστημάτων αρχείων (file system management and optimisation/consistency/performance)
  • Παραδείγματα συστημάτων αρχείων

 
Αδιέξοδα

  • Υπολογιστικοί πόροι (resources)
  • Ανταγωνισμός στην χρήση κοινών πόρων και αδιέξοδα (deadlocks)
  • Μοντελοποίηση αδιεξόδων (dedalock modelling)
  • Αλγόριθμοι ανίχνευσης, ανάκαμψης και αποφυγής αδιεξόδων (deadlock detection/avoidance/prevention algorithms)

Στο εργαστηριακό μέρος του μαθήματος οι φοιτητές έχουν τη δυνατότητα της πρακτικής εφαρμογής των εννοιών της θεωρίας. Με την επιτυχή ολοκλήρωση του εργαστηρίου ο φοιτητής Γνωρίζει την δομή και οργάνωση ενός UNIX like λειτουργικού συστήματος, Αξιοποιεί και συνδυάζει τις βασικές εντολές και είναι σε θέση να γράφει απλά προγράμματα στο κέλυφος. Επίσης αποκτά πρακτική εμπειρία στη χρήση system calls που αναφέρονται στη διαχείριση linux και posix threads, τη χρονο-δρομολόγηση, τη χρήση κοινής μνήμης και τους πιο σημαντικούς τρόπους συγχρονισμού για inter-process communication (atomic operations, barriers, locks, pipes, signals, semaphores, condition variables) μέσα από την επίλυση πρακτικών υπολογιστικών προβλημάτων. Τέλος ασχολείται με τη διαδικασία ανάπτυξης και βελτιστοποίησης linux drivers.

ΣΥΝΙΣΤΩΜΕΝΗ-ΒΙΒΛΙΟΓΡΑΦΙΑ

  • Avi Silberschatz, Peter Baer Galvin and Greg Gagne, “Operating System Concepts”, 9th  Edition, Wiley (2013), ISBN 978-1118093757, http://os-book.com/
  • W.R. Stevens and S.A. Rago, "Advanced Programming in the UNIX Environment", 3rd edition, Addison-Wesley (2013), ISBN 978-0321637734

Πρόεδρος Τμήματος Μηχανικών Πληροφορικής 
Μαλάμος Αθανάσιος, Αναπληρωτής Καθηγητής, amalamos@hmu.gr

Αναπληρωτής Πρόεδρος Τμήματος Μηχανικών Πληροφορικής
Μαριάς Κώστας, Αναπληρωτής Καθηγητής, kmarias@hmu.gr

Γραμματεία
Τμήμα Μηχανικών Πληροφορικής, ΣΤΕΦ, Ελληνικό Μεσογειακό Πανεπιστήμίο, Ηράκλειο, Κρήτη 71500
Τηλ: 2810-379853, 2810-379716, 2810-379795, Fax: 2810-379717
E-mail: secretariat@hmu.gr
Website: http://www.ie.teicrete.gr