Λειτουργικά Συστήματα Ι

Λειτουργικά Συστήματα Ι

Κωδικός:
Εξάμηνο:
Κατηγορία:
Ροή:

ICE-3005
3ο
Υποχρεωτικό (Υ)

Ώρες:
Διδάσκοντες:

Σύνδεσμοι:

Περιγραφή

ΘΕΩΡΗΤΙΚΟ ΜΕΡΟΣ:

Εισαγωγή στα λειτουργικά συστήματα (ορισμός, ιστορία, βασικές έννοιες, δομή, διαστρωμάτωση, κατηγορίες,  κ.α.). Επικοινωνία και συγχρονισμός διεργασιών (ορισμός, συνθήκες ανταγωνισμού, κρίσιμα τμήματα, αμοιβαίος αποκλεισμός, μηχανισμοί κλειδώματος, ουρές αναμονής, σημαφόροι, παρακολουθητές κ.α.). Διαχείριση ΚΜΕ (απαιτήσεις και κριτήρια χρονοπρογραμματισμού της ΚΜΕ, αλγόριθμοι χρονοδρομολόγησης διεργασιών στην ΚΜΕ για συστήματα ομαδικής επεξεργασίας και συστήματα αλληλεπίδρασης, μέτρα απόδοσης κ.α.). Διαχείριση νημάτων (διαφορές μεταξύ νημάτων και διεργασιών, υποστήριξη νημάτων σε επίπεδο χρήστη και σε επίπεδο πυρήνα, χρονοπρογραμματισμός, συγχρονισμός και επικοινωνία, βιβλιοθήκες κ.α.). Διαχείριση μνήμης (εναλλαγή, οργάνωση φυσικής μνήμης, μεταβλητές διαιρέσεις, ιδεατή μνήμη, σελιδοποίηση, τμηματοποίηση, μετάφραση διευθύνσεων, αλγόριθμοι αντικατάστασης σελίδας, υβριδικά σχήματα). Βασικές αρχές διαχείρισης εισόδου-εξόδου (είδη συσκευών, αλγόριθμοι χρονοπρο-γραμματισμού κ.α.) και συστήματος αρχείων. Μελέτες περίπτωσης (η υποστήριξη των παραπάνω εννοιών και μηχανισμών σε σύγχρονα λειτουργικά συστήματα τύπου Windows και Unix/linux).

ΕΡΓΑΣΤΗΡΙΑΚΟ ΜΕΡΟΣ:

Unix/Linux: εγκατάσταση, αρχιτεκτονική, εντολές χρηστών, φίλτρα, προγραμματισμός στο κέλυφος, διαχείριση συστήματος, βασικοί μηχανισμοί ασφάλειας και προστασίας, συγγραφή και χρήση απλών και σύνθετων scripts, προγραμματισμός με τη γλώσσα awk. Ασκήσεις προσομοίωσης βασικών εννοιών. Εισαγωγή στον προγραμματισμό  ταυτόχρονων διεργασιών (διεργασίες παιδιά κ.α.).