Παράκαμψη προς το κυρίως περιεχόμενο

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

Μαθησιακά Αποτελέσματα: Μετά την επιτυχή ολοκλήρωση του μαθήματος, ο διδασκόμενος θα πρέπει να γνωρίζει την ιστορική εξέλιξη των ηλεκτρονικών υπολογιστών, και πως ένα Λ.Σ. διαχειρίζεται τις διεργασίες, την Μνήμη, τα Αρχεία, τις Συσκευές Εισόδου/Εξόδου.

Περιεχόμενο Μαθήματος: Η ύλη περιλαμβάνει 4 ενότητες: Ενότητα 1: Εισαγωγή: Εισαγωγικές  έννοιες,  ιστορική αναδρομή και εξέλιξη των λειτουργικών συστημάτων. Γενική δομή, λειτουργίες και χαρακτηριστικά ενός λειτουργικού συστήματος. Δομή του λειτουργικού συστήματος.  Βασικές λειτουργίες: χειρισμός συσκευών, παροχή υπηρεσιών στον χρήστη, αντιμετώπιση σφαλμάτων, συντονισμός διεργασιών. Ενότητα 2:  Διαχείριση διεργασιών – Process Management: A. Tι είναι διεργασία (process). Χρονοδρομολόγηση διεργασιών (process scheduling). Επικοινωνία μεταξύ διεργασιών (interprocess communication). Επικοινωνία σε Client-Server Systems. B. Νήματα (threads)  και Πολυνηματικές Διεργασίες (Multithreading Models) C. Χρονοδρομολόγηση (CPU Scheduling), Επίπεδα, στόχοι και κριτήρια των μηχανισμών χρονοδρομολόγησης. Πρόωρη (preemptive) και αποκλειστική (nonpreemptive) χρονοδρομολόγηση. Προτεραιότητες (priorities). Αλγόριθμοι χρονοδρομολόγησης D. Συγχρονισμός διεργασιών (process synchronization). Συνθήκες ανταγωνισμού (race conditions). Κρίσιμες περιοχές διεργασιών (critical regions). Αμοιβαίος αποκλεισμός (mutual exclusion). Επικοινωνία μεταξύ διεργασιών (interprocess communication). E. Tο πρόβλημα του αδιέξοδου (deadlock) και της συνεχούς αναβολής (indefinite postponement). Τρόποι χειρισμού του αδιέξοδου. Αιτίες δημιουργίας αδιέξοδου και παραδείγματα. Ικανές συνθήκες για δημιουργία αδιέξοδου. Ενότητα 3: Διαχείριση πραγματικής και ιδεατής μνήμης (real and virtual memory management). A.              Διαχείριση μνήμης (main memory). Αλγόριθμοι τοποθέτησης. Απλή σελιδοποίηση (paging) και swapping. B. Iδεατή μνήμη (virtual memory). Σελιδοποίηση ιδεατής μνήμης. Frames. Thrashing. Ενότητα 4: Διαχείριση Αποθήκευσης (Storage management) A. Διαχείριση αρχείων (file management). Διαδικασίες με αρχεία: δημιουργία, διάβασμα, γράψιμο, επαναφορά, διαγραφή. Σύστημα αρχείων και στόχοι: μέθοδοι προσπέλασης (access methods), διαχείριση αρχείων και περιφερειακής μνήμης, μηχανισμοί ακεραιότητας (integrity mechanisms). Οργάνωση αρχείων. Κατάλογος αρχείων (directory). Οργάνωση καταλόγων. Τρόποι παροχής μνήμης (memory allocation) για αποθήκευση αρχείων. B. Διαχείριση συσκευών Εισόδου-Εξόδου (Mass Storage Structure and  I/O Systems). Στόχοι της διαχείρισης συσκευών Ι/Ο: ανεξαρτησία από την κωδικοποίηση χαρακτήρων (character code independence), ανεξαρτησία από την συσκευή (device independence), αποδοτικότητα (efficiency) και ομοιόμορφος χειρισμός συσκευών (uniform treatment of devices). Χρήση ενδιάμεσης μνήμης (buffering). Παράμετροι απόδοσης εισαγωγής/εξαγωγής δεδομένων σε/από δίσκο: χρόνος αναζήτησης (seek), χρόνος μεταφοράς (latency), επιβράδυνση περιστροφής (rotational delay). Στρατηγικές βελτιστοποίησης χρόνου αναζήτησης. Χρήση κρυφής μνήμης (cache memory).