Σχεδίαση Λειτουργικών Συστημάτων

Γενικά

Μαθησιακά Αποτελέσματα

Σκοπός του μαθήματος είναι να καλύψει το θεωρητικό υπόβαθρο που απαιτείται για την κατανόηση των γενικών αρχών και των δομικών στοιχείων των Λειτουργικών Συστημάτων. Με την επιτυχή ολοκλήρωση του μαθήματος ο φοιτητής θα είναι σε θέση:

  • Να εξηγούν τις θεμελιώδεις έννοιες και αρχές λειτουργίας των λειτουργικών συστημάτων
  • Να διακρίνουν τους στόχους καθώς και τα βασικά και επιθυμητά χαρακτηριστικά των λειτουργικών συστημάτων
  • Να περιγράφουν τα στοιχεία της αρχιτεκτονικής των λειτουργικών συστημάτων
  • Να διακρίνουν τα βασικά ζητήματα και να αναγνωρίζουν λύσεις για προβλήματα συγχρονισμού και αμοιβαίου αποκλεισμού διεργασιών
  • Να εξηγούν τη διαχείριση και χρονοδρομολόγηση Εισόδου-Εξόδου και των μονάδων ενός υπολογιστικού συστήματος
  • Να προσδιορίζουν, να διακρίνουν και να εξηγούν τους αλγόριθμους χρονοδρομολόγησης μονού επεξεργαστή και πολυεπεξεργαστή
  • Να διακρίνουν και να προσδιορίζουν τις τεχνικές διαχείρισης της κύριας και της ιδεατής μνήμης
Γενικές Ικανότητες
  • Αναζήτηση, ανάλυση και σύνθεση δεδομένων και πληροφοριών, με τη χρήση και των απαραίτητων τεχνολογιών
  • Σχολιασμός στην τάξη συνηθισμένων περιπτώσεων λαθών στις ασκήσεις του μαθήματος
  • Άσκηση κριτικής και αυτοκριτικής
  • Προαγωγή της ελεύθερης, δημιουργικής και επαγωγικής σκέψης

Περιεχόμενο Μαθήματος

Εισαγωγή: Ιστορική Εξέλιξη, Ανασκόπηση Υπολογιστικών Συστημάτων: Εισαγωγή στα Λειτουργικά Συστήματα, στόχοι, βασικά και επιθυμητά χαρακτηριστικά Λειτουργικών Συστημάτων.
Αρχιτεκτονικές Λειτουργικών Συστημάτων: Αρχιτεκτονική Λειτουργικών Συστημάτων, πυρήνας Λειτουργικού Συστήματος.
Διεργασίες, Αμοιβαίος Αποκλεισμός και Αδιέξοδα: Εισαγωγή στις διεργασίες, Διακοπές, Καταστάσεις διεργασίας, αναπαράσταση διεργασιών με γράφους (συμβολισμοί AND, parbegin-parend, fork-join). Βασικά ζητήματα (αμοιβαίος αποκλεισμός, συγχρονισμός, αδιέξοδα) και το πρόβλημα του Κρίσιμου Τμήματος. Επικοινωνία μεταξύ διεργασιών. Χρήση σημαφόρων για λύση προβλημάτων συγχρονισμού και αμοιβαίου αποκλεισμού διεργασιών. Κλασσικά προβλήματα επικοινωνίας-συγχρονισμού διεργασιών (πρόβλημα αναγνωστών-συγγραφέων, πρόβλημα παραγωγού-κατανα-λωτή, πρόβλημα των φιλοσόφων που γευματίζουν).
Διαχείριση Εισόδου-Εξόδου (Ε/Ε) και μονάδων Δίσκων: Αρχές υλικού και λογισμικού Ε/Ε, διαχείριση και χρονοδρομολόγηση μονάδων δίσκων. Αλγόριθμοι χρονοδρομολόγησης (Πρώτη Εισερχόμενη, Πρώτη Εξερχόμενη, Συντομότερη Αναζήτηση Πρώτη (SSTF), Σάρωση Προς την Ίδια Κατεύθυνση (SCAN, LOOK), Κυκλική Σάρωση (C-SCAN, C-LOOK), Σάρωση N Βημάτων, F-SCAN), Τεχνολογία RAID.
Διαχείριση και οργάνωση Κεντρικής και Ιδεατής μνήμης: Ιεράρχηση της μνήμης. Εισαγωγή και βασικά ζητήματα στη διαχείριση της Κεντρικής Μνήμης (ΚΜ), ανταλλαγή, στατική και δυναμική κατανομή. Στρατηγικές διαχείρισης μνήμης (στρατηγική μεταφοράς, στρατηγική τοποθέτησης, στρατηγική αντικατάστασης), Σελιδοποίηση, κατάτμηση και συνδυασμός σελιδοποίησης και κατάτμησης. Αλγόριθμοι αντικατάστασης σελίδων (FIFO, LRU, Clock, Optimal), Προστασία μνήμης. Δέσμευση μνήμης βάσει τους συστήματος των φίλων (buddy system)
Διαχείριση Κεντρικής Μονάδας Επεξεργασίας (ΚΜΕ): Εισαγωγή και αρχές χρονοδρομολόγησης μονού επεξεργαστή. Αλγόριθμοι χρονοδρομολόγησης ΚΜΕ (Πρώτη ήρθε, Πρώτη εξυπηρετήθηκε (FCFS), Εξυπηρέτηση εκ περιτροπής (RR), Συντομότερη διεργασία μετά (SPN), Με βάση το συντομότερο εναπομένων χρόνο μίας διεργασίας (SRT), Υψηλότερος λόγος απόκρισης μετά (HRRN), Ανάδραση (Πολλαπλές ουρές ανατροφοδότησης)). Αξιολόγηση αλγορίθμων χρονοδρομολόγησης (Υπολογισμός χρόνου απόκρισης και επιστροφής). Αρχές χρονοδρομολόγησης πολυεπεξεργαστή και πραγματικού χρόνου.
Οργάνωση και διαχείριση αρχείων: Περιγραφή, προσπέλαση και τρόποι οργάνωσης αρχείων. Διαχείριση συστήματος αρχείων. Λογική οργάνωση και κατάλογοι αρχείων. Μέθοδοι αποθήκευσης αρχείων. Ασφάλεια συστήματος αρχείων. Κατανεμημένα Συστήματα Αρχείων: Απαιτήσεις κατανεμημένου συστήματος αρχείων (διαφάνεια, concurrency, ασφάλεια, αποδοτικότητα, ανοχή σε σφάλματα), Αρχιτεκτονική υπηρεσίας αρχείων, έλεγχος πρόσβασης.
Ειδικά θέματα Λειτουργικών Συστημάτων: Ενσωματωμένα λειτουργικά συστήματα, Εισαγωγή, αρχές και χαρακτηριστικά Ενσωματωμένων ΛΣ. Παραδείγματα ενσωματωμένων λειτουργικών συστημάτων, Αρχές και βασικά χαρακτηριστικά των λειτουργικών συστημάτων Windows, Linux, Chrome OS, Mac OSX καθώς και αυτών για κινητές συσκευές Android, iOS Windows Phone, Firefox OS, Tizen.

Διδακτικές και Μαθησιακές Μέθοδοι - Αξιολόγηση

Τρόπος Παράδοσης
  • Πρόσωπο με πρόσωπο θεωρητική διδασκαλία (παράδοση, συζήτηση, επίλυση προβλημάτων).
Χρήση Τεχνολογιών Πληροφορίας και Επικοινωνιών
  • Χρήση λογισμικού παρουσιάσεων διαφανειών.
  • Χρήση ηλεκτρονικής πλατφόρμας μάθησης (moodle).
  • Ηλεκτρονική επικοινωνία με τους φοιτητές.
Οργάνωση Διδασκαλίας
Δραστηριότητα Φόρτος εργασίας εξαμήνου
Διαλέξεις52
Ατομική Μελέτη και ανάλυση βιβλιογραφίας128
Σύνολο 180
Αξιολόγηση φοιτητών

Γραπτή τελική εξέταση (ΤΕ) (100%) η οποία περιλαμβάνει:
Περίπου το 40%:
- Ερωτήσεις πολλαπλής επιλογής, σωστού λάθους, αντιστοίχισης
- Ερωτήσεις σύντομης απάντησης
Περίπου το 60%:
- Ασκήσεις

Συνιστώμενη Βιβλιογραφία

Συγγράμματα μέσω του συστήματος "Εύδοξος"
  1. A. S. Tanenbaum, “Σύγχρονα Λειτουργικά Συστήματα”, 4η έκδοση, Εκδόσεις ΚΛΕΙΔΑΡΙΘΜΟΣ ΕΠΕ, 2018, ISBN: 978-960-461-853-8, Κωδικός Βιβλίου στον Εύδοξο: 77108683.
  2. W. Stallings, “Λειτουργικά Συστήματα”, 9η έκδοση, Εκδόσεις Α. ΤΖΙΟΛΑ & ΥΙΟΙ Α.Ε., 2017, ISBN: 978-960-418-715-7, Κωδικός Βιβλίου στον Εύδοξο: 68374433.
  3. A. Silberschatz, P. B. Galvin and G. Gagne, “Λειτουργικά Συστήματα”, 9η έκδοση, Εκδόσεις Χ. ΓΚΙΟΥΡΔΑ & ΣΙΑ ΕΕ, 2013, ISBN: 978-960-512-6513, Κωδικός Βιβλίου στον Εύδοξο: 33154660.
Συμπληρωματική ελληνόγλωσση βιβλιογραφία
  1. Α. Σιδηρόπουλος, “Εισαγωγή στα Λειτουργικά Συστήματα”, Ηλεκτρονικό Βιβλίο, Εκδόσεις Ελληνικά Ακαδημαϊκά Ηλεκτρονικά Συγγράμματα και Βοηθήματα, 2016, ISBN: 978-960-603-108-3.
  2. Andrew S. Tanenbaum & Maarten van Steen, “Distributed Systems: Principles and Paradigms”, 2nd edition, Pearson Prentice Hall, 2007.
  3. Abraham Silberschatz, Peter Baer Galvin and Greg Gagne, “Λειτουργικά Συστήματα”, Εκδόσεις ΙΩΝ, 2007.
  4. Ιωάννης Κάβουρας, “Λειτουργικά Συστήματα”, 7η έκδοση, Εκδόσεις Κλειδάριθμος, 2009.
Συμπληρωματική ξενόγλωσση βιβλιογραφία
  1. George Coulouris, Jean Dollimore and Tim Kindberg, “Distributed Systems: Concepts and Design”, 5th edition, Addison-Wesley, 2005.