Λειτουργικα Συστηματα (ΗΥ321)
Προπτυχιακο Μαθημα
|
I do know everything, just not all at once. It's a virtual memory problem...
Περιεχομενο
Στoχοι
Βασικός στόχος του μαθήματος είναι να παρέχει στους φοιτητές την δυνατότητα να κατανοήσουν το ρόλο και τις υπηρεσίες των σύγχρονων λειτουργικών συστημάτων, να εμβαθύνουν στη σχεδίαση και λειτουργία τους, να αντιληφθούν τα διλήμματα που αντιμετωπίζουν οι σχεδιαστές λειτουργικών συστημάτων και να μπορούν να εκτιμήσουν τα πλεονεκτήματα και μειονεκτήματα κάθε σχεδιαστικής επιλογής.
Το μάθημα συνοδεύεται από σειρά πρακτικών ασκήσεων, στις οποίες οι φοιτητές θα έχουν την ευκαιρία να εργασθούν σε πραγματικό λειτουργικό σύστημα, να κατανοήσουν πώς υλοποιούνται πρακτικά οι βασικές αρχές που θα διδαχθούν στο μάθημα και να ενσωματώσουν δικό τους κώδικα στο λειτουργικό.
Συνοπτικά, τα κύρια αντικείμενα που θα καλυφθούν είναι τα ακόλουθα:
- Εισαγωγή στα λειτουργικά συστήματα, γενιές λειτουργικών συστημάτων, ειδικές κατηγορίες λειτουργικών συστημάτων
- Δομή και οργάνωση λειτουργικών συστημάτων, μηχανισμοί και πολιτικές
- Η έννοια της διεργασίας και του νήματος, κύκλος ζωής διεργασίας/νήματος, μεταγωγή περιβάλλοντος
- Αλγόριθμοι χρονοδρομολόγησης διεργασιών/νημάτων στον επεξεργαστή
- Συγχρονισμός: ανάγκη, αλγόριθμοι και υλοποιήσεις, διάσημα προβλήματα
- Η έννοια του αδιεξόδου, συνθήκες αδιεξόδου, αποφυγή / εντοπισμός και άρση αδιεξόδων
- Τμηματοποίηση μνήμης (1 ή πολλαπλά τμήματα), μηχανισμοί υλοποίησης, το πρόβλημα του εξωτερικού κατακερματισμού
- Σελιδοποίηση μνήμης, μηχανισμοί σελιδοποίησης, το πρόβλημα του εσωτερικού κατακερματισμού, επιλογή μεγέθους σελίδας, πίνακες σελίδων (επίπεδοι και ιεραρχικοί), η χρήση του Translation Lookaside Buffer (TLB)
- Χρήση δίσκου ως επίπεδο της ιεραρχίας μνήμης (swapping), μηχανισμός swapping, σφάλματα σελίδας
- Πολιτικές αντικατάστασης σελίδων, το παράδοξο Belady, επίδοση cache, λυγισμός, η έννοια του λειτουργικού συνόλου, σχέση χρονοδρομολόγησης και πολιτικών διαχείρισης μνήμης
- Διαχείριση ιδεατής μνήμης σε επίπεδο χρήστη, πολιτικές, πρότυπα χρήσης μνήμης από προγράμματα, διαφορές διαχείρισης μνήμης σε επίπεδο χρήστη και πυρήνα, επιστροφή μνήμης και garbage collection
- Οργάνωση δίσκων, καθυστερήσεις στους δίσκους, αλγόριθμοι δρομολόγησης του βραχίονα δίσκου
- Δίσκοι SSD
- Οργάνωση συστημάτων αρχείων, caching συστήματος αρχείων, πολιτικές αντικατάστασης στην cache του συστήματος αρχείων, προμεταφορές στην cache, αστοχίες, συστήματα αρχείων με ημερολόγιο, το σύστημα αρχείων Unix FFS, το εικονικό σύστημα αρχείων VFS
- Βασικές αρχές κωδικοποίησης, οργάνωση συστημάτων αποθήκευσης RAID
- Χειρισμός εισόδου/εξόδου, polling, διακοπές, η έννοια και η χρήση DMA
- Μηχανισμοί και πολιτικές προστασίας, ταυτοποίηση, authorization, επιβολή, διάσημες επιθέσεις
- Κρυπτογράφηση (με μυστικό κλειδί, δημόσιου κλειδιού), ψηφιακή υπογραφή, checksums, διαμοίραση κλειδιού, trusted servers, trusted computing base, κίνδυνοι διαμοίρασης κλειδιού
- Εικονικές μηχανές (virtualization) και ζητήματα διαχείρισης πόρων σε εικονικές μηχανές
- Ζητήματα διαχείρισης ισχύος από το λειτουργικό σύστημα
Το μάθημα συμμετέχει στο
10Κ Students Challenge. Στόχος του 10Κ students challenge είναι η βελτίωση της κυβερνοασφάλειας, μέσω τις διδασκαλίας των βασικών αρχών των αδυναμιών λογισμικού και του ασφαλούς προγραμματισμού σε δέκα χιλιάδες φοιτητές.
Συγγραμματα
Τα βασικά συγγράμματα του μαθήματος είναι τα:
- "Λειτουργικά Συστήματα", Abraham Silberschatz, Peter Baer Galvin, Greg Gagne, Ελληνική μετάφραση 7ης αμερικανικής έκδοσης, Επιμέλεια ελληνικής μετάφρασης Κωνσταντίνος Αντωνής, Πέτρος Λάμψας. Εκδοτικός οίκος Ίων.
- «Λειτουργικά Συστήματα. Αρχές Σχεδίασης» (4η έκδοση), William Stallings, Εκδόσεις Τζιόλα.
- «Σύγχρονα Λειτουργικά Συστήματα», Andrew Tanenbaum, Μετάφραση 2ης Αμερικανικής Έκδοσης, Εκδόσεις Κλειδάριθμος.
`Aλλα συγγράματα:
- «Operating Systems Design and Implementation», Andrew Tanenbaum, 3η έκδοση, Prentice Hall.
- «Linux Kernel Development» (2η έκδοση),Robert Love, εκδόσεις Novell Press.
Συνδεση Με Αλλα Μαθηματα
- Προαπαιτούμενα
- Προγραμματισμός 2 (ΗΥ 121).
- Συνιστώμενα
- Ταυτόχρονος Προγραμματισμός (ΗΥ 326).
Υλη
Σε περίπτωση που κάποιος διαθέτει βιβλίο διαφορετικής έκδοσης από αυτά που περιγράφονται παρακάτω, παρακαλώ να επικοινωνήσει μαζί μου.
Στην εξεταστέα ύλη συμπεριλαμβάνονται:
- Όλες οι διαφάνειες
- Οτιδήποτε έχει ειπωθεί στην τάξη και στα φροντιστήρια
- Από το "Λειτουργικά Συστήματα". Abraham Silberschatz, Peter Baer Galvin, Greg Gagne, 2η ελληνική έκδοση, Εκδόσεις Ίων.:
- Κεφάλαιο 1
- Κεφάλαιο 2
- Κεφάλαιο 3 έως και 3.3
- Κεφάλαιο 4 έως και 4.2
- Κεφάλαιο 5 έως και 5.4, παράγραφος 5.6.3, 5.7 έως και 5.7.1
- Κεφάλαιο 6 έως και 6.7, παράγραφος 6.9
- Κεφάλαιο 7
- Κεφάλαιο 8 έως και 8.6, εκτός η παράγραφος 8.5.3
- Κεφάλαιο 9 έως και 9.6, 9.7.3, 9.8, 9.9.2, 9.9.3
- Κεφάλαιο 10 έως και 10.3, παράγραφος 10.6
- Κεφάλαιο 11 έως και 11.8
- Κεφάλαιο 12 έως και 12.5, παράγραφος 12.7
- Κεφάλαιο 13 έως και 13.3
- Κεφάλαιο 14 έως και 14.2, παράγραφοι 14.4 έως και 14.6
- Κεφάλαιο 15 έως και 15.4.1, παράγραφος 15.5
- Από το "Λειτουργικά Συστήματα". Abraham Silberschatz, Peter Baer Galvin, Greg Gagne, ελληνική μετάφραση 9ης έκδοσης, Εκδόσεις Γκιούρδας:
- Κεφάλαιο 1
- Κεφάλαιο 2
- Κεφάλαιο 3 έως και 3.3
- Κεφάλαιο 4 έως και 4.3
- Κεφάλαιο 5 έως και 5.7
- Κεφάλαιο 6 έως και 6.5
- Κεφάλαιο 7
- Κεφάλαιο 8 έως και 8.6
- Κεφάλαιο 9 έως και 9.6, 9.8
- Κεφάλαιο 10 έως και 10.5, παράγραφος 10.7 - 10.8
- Κεφάλαιο 11 έως και 11.3, 11.5-11.6
- Κεφάλαιο 12 έως και 12.5, παράγραφος 12.7
- Κεφάλαιο 13 έως και 13.3
- Κεφάλαιο 14 έως και 14.2, παράγραφοι 14.4 - 14.6, 14.8
- Κεφάλαιο 15 έως και 15.4.1, παράγραφος 15.5
- Κεφάλαιο 16
- Από το "Λειτουργικά Συστήματα. Αρχές Σχεδίασης» (8η έκδοση), William Stallings, Εκδόσεις Τζιόλα.:
- Κεφάλαιο 1
- Κεφάλαιο 2 έως και 2.6
- Κεφάλαιο 3 έως και 3.6
- Κεφάλαιο 4 έως και 4.3
- Κεφάλαιο 5 έως και 5.4, παράγραφος 5.6
- Κεφάλαιο 6 έως και 6.6
- Κεφάλαιο 7 έως και 7.4
- Κεφάλαιο 8 έως και 8.2
- Κεφάλαιο 9 έως και 9.2 (εκτός υψηλότερος λόγος απόκρισης μετά, εκτός σύγκριση απόδοσης)
- Παράγραφος 10.1
- Κεφάλαιο 11 έως και 11.7
- Κεφάλαιο 12 έως και 12.2, 12.4 έως και 12.9
- Κεφάλαιο 14 έως και 14.6
- Κεφάλαιο 15 έως και 15.4
- Από το "Λειτουργικά Συστήματα. Αρχές Σχεδίασης» (6η έκδοση), William Stallings, Εκδόσεις Τζιόλα.:
- Κεφάλαιο 1
- Κεφάλαιο 2 έως και 2.4
- Κεφάλαιο 3 έως και 3.6
- Κεφάλαιο 4 έως και 4.3 (εκτός Adobe PageMaker στο 4.1)
- Κεφάλαιο 5 έως και 5.4, παράγραφος 5.6
- Κεφάλαιο 6 έως και 6.6
- Κεφάλαιο 7 έως και 7.5
- Κεφάλαιο 8 έως και 8.2
- Κεφάλαιο 9 έως και 9.2 (εκτός υψηλότερος λόγος απόκρισης μετά, εκτός σύγκριση απόδοσης)
- Παράγραφος 10.1
- Κεφάλαιο 11 έως και 11.7
- Κεφάλαιο 12 έως και 12.6, παράγραφος 12.8
- Κεφάλαιο 14 έως και 14.5
- Κεφάλαιο 15 έως και 15.2
- Από το «Σύγχρονα Λειτουργικά Συστήματα», Andrew Tanenbaum, Μετάφραση 3ης Αμερικανικής Έκδοσης, Εκδόσεις Κλειδάριθμος.:
- Κεφάλαιο 1
- Κεφάλαιο 2 έως και 2.2.8, παράγραφοι 2.3 έως και 2.4.3, παράγραφοι 2.4.5 έως και 2.4.6, παράγραφος 2.5
- Κεφάλαιο 3 έως και 3.5.6, παράγραφεοι 3.5.8 έως και 3.7
- Κεφάλαιο 4 έως και 4.4, παράγραφος 4.5.3
- Κεφάλαιο 5 έως και 5.4.1 (εκτός CD, CD-RW, DVD), παράγραφοι 5.4.2 έως και 5.5, παράγραφος 5.8
- Κεφάλαιο 6 έως και 6.7.4
- Παράγραφος 8.1.4, παράγραφος 8.3
- Κεφάλαιο 9 έως και 9.3.6, παράγραφοι 9.4 έως και 9.7.4, παράγραφος 9.8.3