Μαθησιακά Αποτελέσματα:
- Η παρουσίαση των βασικών εννοιών και της δομής των λειτουργικών συστημάτων, των προβλημάτων που καλούνται να επιλύσουν καθώς και των αρχών που διέπουν τη σχεδίαση τους.
- Η παρουσίαση των στοιχείων του λειτουργικού συστήματος που το καθιστούν μια ιδεατή μηχανή καθώς και των εργαλείων του που επιτρέπουν την αξιοποίηση των πόρων του υλικού.
- Η κατανόηση εκ μέρους των φοιτητών των ζητημάτων που άπτονται της εισαγωγής θεμελιωδών εννοιών των λειτουργικών συστημάτων (διεργασία, διαχείριση της μνήμης, διαχείριση αρχείων, λειτουργίες εισόδου / εξόδου).
- Η κατανόηση της διαφοροποίησης των εννοιών αυτών ανάλογα με τον τύπο του Η/Υ και τη χρήση του. Η απόκτηση της δυνατότητας χειρισμού των εννοιών σε επίπεδο προγραμματισμού του λειτουργικού συστήματος (system programming).
- Η κατανόηση ειδικών θεμάτων που αφορούν στις λειτουργίες εισόδου/εξόδου, της διαχείρισης συσκευών υλικού (device drivers), της λειτουργίας σε περιβάλλον δικτύου, σε συνθήκες πραγματικού χρόνου ή/και αυξημένων αναγκών πολυεπεξεργασίας κλπ.
- Η ευαισθητοποίηση στο ζήτημα εξειδίκευσης των χαρακτηριστικών του λειτουργικού συστήματος ανάλογα με το περιβάλλον λειτουργίας του Η/Υ και το είδος των εφαρμογών που θα υποστηρίζει.
Γενικές ικανότητες:
- Αυτόνομη εργασία.
- Ομαδική εργασία.
- Εργασία σε διεθνές περιβάλλον.
- Εργασία σε διεπιστημονικό περιβάλλον
Περιεχόμενο μαθήματος:
- Εισαγωγή στις διεργασίες και πολυεπεξεργασία.
- Ειδικά ζητήματα όπως επεξεργασία πολλαπλών νημάτων (πολυνηματική, multithreading), συμμετρική πολυεπεξεργασία (symmetric multiprocessing) και μικροπυρήνες (microkernels).
- Διαδιεργασιακή επικοινωνία.
- Συνθήκες ανταγωνισμού και συνύπαρξης (concurrency) διεργασιών.
- Αμοιβαίος αποκλεισμός (mutual exclusion).
- Ενεργός αναμονή και αδιέξοδα (deadlock).
- Σημαφόροι και μεταβίβαση μηνύματος.
- Ζητήματα και τεχνικές διαχείρισης της μνήμης (εναλλαγή, σελιδοποίηση, ιδεατή μνήμη, αλγόριθμοι αντικατάστασης σελίδων και κατάτμηση).
- Χρονοπρογραμματισμός διεργασιών: Λειτουργίες Εισόδου/Εξόδου.
- Διαχείριση Αρχείων.
- Λειτουργία σε περιβάλλον δικτύου.
- Απαιτήσεις για επεξεργασία σε πραγματικό χρόνο.
- Εγκατάσταση και διαχείριση συσκευών.
- Εργαστήριο Μαθήματος: Εμπεριστατωμένη μελέτη των θεωρητικών εννοιών και των μεθόδων με εφαρμογή τους στο περιβάλλον του λειτουργικού συστήματος UNIX. Εκτός της εξοικείωσης με το περιβάλλον και τις βασικές λειτουργίες του UNIX η πρακτική εξάσκηση στοχεύει να δείξει τις δυνατότητες «επέμβασης» στο λειτουργικό σύστημα μέσω του κελύφους (Bourne shell ή C-shell) και του περιβάλλοντος προγραμματισμού του.
- Αυτόνομη εργασία.
- Ομαδική εργασία.
- Εργασία σε διεθνές περιβάλλον.
- Εργασία σε διεπιστημονικό περιβάλλον
- Εισαγωγή στις διεργασίες και πολυεπεξεργασία.
- Ειδικά ζητήματα όπως επεξεργασία πολλαπλών νημάτων (πολυνηματική, multithreading), συμμετρική πολυεπεξεργασία (symmetric multiprocessing) και μικροπυρήνες (microkernels).
- Διαδιεργασιακή επικοινωνία.
- Συνθήκες ανταγωνισμού και συνύπαρξης (concurrency) διεργασιών.
- Αμοιβαίος αποκλεισμός (mutual exclusion).
- Ενεργός αναμονή και αδιέξοδα (deadlock).
- Σημαφόροι και μεταβίβαση μηνύματος.
- Ζητήματα και τεχνικές διαχείρισης της μνήμης (εναλλαγή, σελιδοποίηση, ιδεατή μνήμη, αλγόριθμοι αντικατάστασης σελίδων και κατάτμηση).
- Χρονοπρογραμματισμός διεργασιών: Λειτουργίες Εισόδου/Εξόδου.
- Διαχείριση Αρχείων.
- Λειτουργία σε περιβάλλον δικτύου.
- Απαιτήσεις για επεξεργασία σε πραγματικό χρόνο.
- Εγκατάσταση και διαχείριση συσκευών.
- Εργαστήριο Μαθήματος: Εμπεριστατωμένη μελέτη των θεωρητικών εννοιών και των μεθόδων με εφαρμογή τους στο περιβάλλον του λειτουργικού συστήματος UNIX. Εκτός της εξοικείωσης με το περιβάλλον και τις βασικές λειτουργίες του UNIX η πρακτική εξάσκηση στοχεύει να δείξει τις δυνατότητες «επέμβασης» στο λειτουργικό σύστημα μέσω του κελύφους (Bourne shell ή C-shell) και του περιβάλλοντος προγραμματισμού του.