Λειτουργικά Συστήματα
Εισαγωγή. Ιστορικά στοιχεία. Υπολογιστικά συστήματα μιας διεργασίας και πολλών διεργασιών, ενός ή περισσοτέρων χρηστών. Διαλογικά συστήματα. Στοιχεία αρχιτεκτονικής ενός επεξεργαστή. Χειρισμός διακοπών (interrupts). Λειτουργίες ενός Λειτουργικού Συστήματος (ΛΣ). Η έννοια της διαδικασίας (process). Ο χειρισμός των διαδικασιών. Χρονοπρογραμματισμός διαδικασιών - αλγόριθμοι. Ασύγχρονες ταυτόχρονες διαδικασίες. Ο αλγόριθμος του Dekker. Σημαφόροι, monitors. Προβλήματα αμοιβαίου αποκλεισμού. Αδιέξοδα, συνθήκες αδιεξόδου, αλγόριθμος του Τραπεζίτη. Η διαχείριση της μνήμης. Η δευτερεύουσα μνήμη. Ο χρονοπρογραμματισμός του δίσκου. Η κεντρική μνήμη. Τεχνικές τοποθέτησης διαδικασιών στη μνήμη, συνεχής/μη-συνεχής τοποθέτηση. Εικονική μνήμη. Μη συνεχής τοποθέτηση στη μνήμη, τμηματοποίηση-σελιδοποίηση. Διαχείριση της εικονικής μνήμης. Συσχετιστική μνήμη. Τεχνικές αντικατάστασης σελίδων. Το σύνολο εργασίας.
Μελέτη περίπτωσης: σύστημα Linux και εργαστήρια πάνω στις αναπτυσσόμενες στην θεωρία έννοιες.