Παρουσίαση/Προβολή

Αρχές Λειτουργικών Συστημάτων
(MSCICT108) - ΒΑΣΙΛΕΙΟΣ ΜΑΜΑΛΗΣ - ΚΩΝΣΤΑΝΤΙΝΟΣ ΜΑΥΡΟΜΜΑΤΗΣ - ΓΕΩΡΓΙΟΣ ΜΕΛΕΤΙΟΥ
Περιγραφή Μαθήματος
ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ
- Εισαγωγή στα λειτουργικά συστήματα (ορισμός, ιστορία, βασικές έννοιες, δομή, διαστρωμάτωση, κατηγορίες, κ.α.).
- Διαχείριση ΚΜΕ (απαιτήσεις και κριτήρια χρονοπρογραμματισμού της ΚΜΕ, αλγόριθμοι χρονοδρομολόγησης διεργασιών στην ΚΜΕ για συστήματα ομαδικής επεξεργασίας και συστήματα αλληλεπίδρασης, μέτρα απόδοσης κ.α.). Διαχείριση νημάτων (διαφορές μεταξύ νημάτων και διεργασιών, υποστήριξη νημάτων σε επίπεδο χρήστη και σε επίπεδο πυρήνα, μέθοδοι χρονοπρογραμματισμού, συγχρονισμός και επικοινωνία, βιβλιοθήκες κ.α.).
- Επικοινωνία και συγχρονισμός διεργασιών (ορισμός, συνθήκες ανταγωνισμού, κρίσιμα τμήματα, αμοιβαίος αποκλεισμός, μηχανισμοί κλειδώματος, ουρές αναμονής, σημαφόροι, παρακολουθητές, θεωρία πρόληψης και αποφυγής αδιεξόδων κ.α.). Προχωρημένες έννοιες και μηχανισμοί επικοινωνίας διεργασιών (διαδιεργασιακή επικοινωνία μέσω σωληνώσεων και υποδοχών κ.α.).
- Διαχείριση μνήμης (εναλλαγή, σταθερές και μεταβλητές διαιρέσεις, ιδεατή-εικονική μνήμη, σελιδοποίηση, τμηματοποίηση, μετάφραση διευθύνσεων, κατακερματισμός και τεχνικές συμπίεσης, αλγόριθμοι αντικατάστασης σελίδας, υβριδικά σχήματα, σύγχρονα σχήματα οργάνωσης μνήμης για πολύ μεγάλα εύρη διευθύνσεων).
- Βασικές αρχές διαχείρισης εισόδου-εξόδου (είδη συσκευών, αλγόριθμοι χρονοπρογραμματισμού κ.α.) και συστήματος αρχείων.
- Λειτουργικά συστήματα πολυεπεξεργαστών (ειδικές απαιτήσεις και θέματα σχεδίασης λειτουργικών συστημάτων για περιβάλλοντα πολλαπλών πυρήνων-επεξεργαστών κ.α.). Διαχείριση νημάτων και συγχρονισμός σε πολυεπεξεργαστικά περιβάλλοντα (ειδικές απαιτήσεις και αλγόριθμοι χρονοπρογραμματισμού, ειδικές απαιτήσεις και μηχανισμοί συγχρονισμού-επικοινωνίας κ.α.).
- Λειτουργικά συστήματα πραγματικού χρόνου (βασικές έννοιες και σχεδιαστικά ζητήματα, ειδικοί αλγόριθμοι χρονοδρομολόγησης ΚΜΕ και δίσκων, οργάνωση-διαχείριση μνήμης, εφαρμογή σε ενσωματωμένα συστήματα και συστήματα πολυμέσων κ.α.).
- Εικονικές μηχανές – εικονικοποίηση (ορισμοί, κατηγοριοποίηση, τεχνικές εικονικοποίησης κ.α.).
- Λειτουργικά συστήματα πολυυπολογιστών, δικτύου και κατανεμημένα λειτουργικά συστήματα (ορισμοί, κατηγοριοποίηση κ.α.).
- Μελέτες περίπτωσης (η υποστήριξη των παραπάνω εννοιών και μηχανισμών σε σύγχρονα ΛΣ τύπου Windows και Unix/linux).
- Πρακτική άσκηση (Unix/Linux): Διαστρωμάτωση-αρχιτεκτονική, προγραμματισμός στο κέλυφος, διαχείριση συστήματος, μηχανισμοί ασφάλειας και προστασίας, συγγραφή απλών και σύνθετων scripts, προγραμματισμός με τη γλώσσα awk. Προγραμματισμός συστήματος και ταυτόχρονων διεργασιών (διεργασίες παιδιά, χρήση fork, wait, exec, signals/traps κλπ). Ειδικοί μηχανισμοί υποστήριξης επικοινωνίας και συγχρονισμού διεργασιών (shared memory segments, semaphores, message queues κ.α.). Προγραμματισμός και διαχείριση νημάτων με χρήση της βιβλιοθήκης των Posix threads. Διαδιεργασιακή επικοινωνία και προγραμματισμός με χρήση σωληνώσεων (pipes) και υποδοχών (sockets). Εικονικές μηχανές με χρήση KVM.
Βιβλιογραφία
- Silberschatz A., Galvin P., Gagne G., Λειτουργικά Συστήματα, 9η έκδοση, Εκδόσεις Μ. Γκιούρδα (μετάφραση), 2013.
- Stallings W., Λειτουργικά Συστήματα, 9η έκδοση, Εκδόσεις Α. Τζιόλα & Υιοί ΑΕ (μετάφραση), 2017.
- Tanenbaum Α., Bos H., Σύγχρονα Λειτουργικά Συστήματα, 4η έκδοση, Εκδόσεις Κλειδάριθμος ΕΠΕ (μετάφραση), 2018.
- Κάβουρας I., Λειτουργικά Συστήματα, 5η έκδοση, Εκδόσεις Κλειδάριθμος, 2000.
- Gary Nutt, Operating Systems, 3η έκδοση, Addison-Wesley, 2003.
- Robert Love, Linux Kernel Development, 3η έκδοση, Addison-Wesley, 2010.
- Robert Love, Linux System Programming, 2η έκδοση, O'Reilly Media, 2013.
- Kernighan B., Pike R., The Unix Programming Environment, Prentice Hall, 1985.
- Glass G., Ables K., Unix for Programmers and Users, Prentice Hall, 1998.
- Stevens W.R., Unix Network Programming, Vol. 2: Interprocess Communications, 2nd ed., Prentice Hall, 2000.
- Butenhof D.R., Programming with POSIX Threads, Addison-Wesley, 2000.
- Robbins K., Robbins S., Unix Systems Programming: Communication, Concurrency and Threads, 2nd ed., Prentice Hall, 2003.
Ημερομηνία δημιουργίας
Σάββατο 16 Μαρτίου 2019
-
Δεν υπάρχει περίγραμμα