| Κωδικός Μαθήματος | 321-4100 |
|---|---|
| Εξάμηνο | 4 |
| ECTS | 5.00 |
| Ώρες (Θεωρία) | 3 |
| Ώρες (Εργαστήριο) | 2 |
| Διδάσκοντας | Νομικός Νικόλαος |
Εισαγωγή στα Λειτουργικά Συστήματα (ΛΣ): βασικές έννοιες, ιστορία ΛΣ, δομή ΛΣ. Διεργασίες: μοντέλο και υλοποίηση διεργασιών, διαδιεργασιακή επικοινωνία (συνθήκες ανταγωνισμού, κρίσιμες περιοχές, αμοιβαίος αποκλεισμός), χρονοπρογραμματισμός διεργασιών. Νήματα: μοντέλο και χρήση νημάτων, υλοποίηση νημάτων στο χώρο του χρήστη και στον πυρήνα, υβριδικές υλοποιήσεις, αναδυόμενα νήματα, μετατροπή μονονηματικού κώδικα σε πολυνηματικό, χρονοπρογραμματισμός νημάτων. Αδιέξοδα: ανίχνευση και επανόρθωση, αποφυγή, πρόληψη. Διαχείριση μνήμης: εναλλαγή, ιδεατή μνήμη, αλγόριθμοι αντικατάστασης σελίδων, θέματα σχεδιασμού για τα συστήματα σελιδοποίησης, ζητήματα υλοποίησης, τμηματοποίηση. Είσοδος/Έξοδος (Ε/Ε): αρχές του υλικού Ε/Ε, αρχές του λογισμικού Ε/Ε, επίπεδα λογισμικού Ε/Ε, δίσκοι. Συστήματα αρχείων: αρχεία και κατάλογοι, υλοποίηση συστήματος αρχείων, ασφάλεια και μηχανισμοί προστασίας.
Σκοπός αυτού του μαθήματος είναι οι φοιτητές:
- να κατανοήσουν την πολυπλοκότητα των σύγχρονων υπολογιστικών συστημάτων καθώς και τη χρησιμότητα των λειτουργικών συστημάτων.
- να έχουν γνώση των βασικότερων ζητημάτων που αφορούν τη διαχείριση των πόρων ενός υπολογιστικού συστήματος.
- να μάθουν τις πιο διαδεδομένες λύσεις που υιοθετούνται από τα σύγχρονα Λειτουργικά Συστήματα.
- να μπορούν να περιγράφουν τις βασικές αρχές που χρησιμοποιούνται στο σχεδιασμό ενός σύγχρονου λειτουργικού συστήματος.
Πιο συγκεκριμένα οι φοιτητές:
- θα μπορούν να αναλύουν τα tradeoffs που υπάρχουν στο σχεδιασμό ενός λειτουργικού συστήματος.
- θα μπορούν να διακρίνουν διαφορετικά μοντέλα σχεδίασης λειτουργικών συστημάτων.
- θα κατανοήσουν τις βασικές αρχές και τεχνικές που χρησιμοποιούνται στην υλοποίηση διεργασιών και νημάτων, καθώς και τους διαφορετικούς αλγορίθμους χρονοδρομολόγησης διεργασιών.
- θα κατανοήσουν τους βασικούς μηχανισμούς διαδιεργασιακής επικοινωνίας.
- θα μπορούν να συγκρίνουν την κατάσταση πυρήνα με την κατάσταση χρήστη σε ένα λειτουργικό σύστημα.
- θα μπορούν να εξηγήσουν την ιεραρχία της μνήμης και το tradeoff κόστους – απόδοσης.
- θα μπορούν να περιγράψουν την έννοια της εικονικής μνήμης στα λειτουργικά συστήματα.
- θα κατανοήσουν την οργάνωση του δίσκου και τη δομή του συστήματος αρχείων.
- θα μπορούν να περιγράψουν πως οι υπολογιστικοί πόροι χρησιμοποιούνται από το λογισμικό μιας εφαρμογής και πως γίνεται η διαχείρισή τους από το λογισμικό του συστήματος.
- θα κατανοήσουν την εσωτερική δομή ενός λειτουργικού συστήματος και θα μπορούν να γράφουν προγράμματα χρησιμοποιώντας κλήσεις συστήματος.
- θα κατανοήσουν τους βασικούς μηχανισμούς των τρεχόντων λειτουργικών συστημάτων γενικού σκοπού, όπως για παράδειγμα το Linux.
- θα έχουν δεξιότητες βασικού προγραμματισμού προσανατολισμένου στο σύστημα και θα μπορούν να παρέχουν μικρές επεκτάσεις σε ένα λειτουργικό σύστημα.
Δεν απαιτούνται.
Διαλέξεις, επίλυση ασκήσεων με υποδειγματικό τρόπο, εργαστηριακές ασκήσεις.
| Δραστηριότητα | Φόρτος Εργασίας Εξαμήνου |
|---|---|
| Διαλέξεις | 39 ώρες |
| Εργαστηριακές Ασκήσεις | 26 ώρες |
| Προσωπική μελέτη | 54 ώρες |
| Εξέταση εργαστηρίου | 3 ώρες |
| Τελική εξέταση | 3 ώρες |
| Σύνολο Μαθήματος | 125 ώρες (5 ECTS) |
Εργασίες, πρακτική εξάσκηση στο εργαστήριο, εξέταση εργαστηρίου, τελική γραπτή εξέταση.
Ελληνικά (Αγγλικά αν υπάρχουν φοιτητές/φοιτήτριες ERASMUS)

