Τίτλος Μαθήματος Λειτουργικά Συστήματα
Κωδικός Μαθήματος 321-4100
Εξάμηνο 4
ECTS 5
Ώρες (Θεωρία) 3
Ώρες (Εργαστηρίο) 2
Διδάσκοντας Μαλιάτσος Κωνσταντίνος

Ύλη μαθήματος

Εισαγωγή στα Λειτουργικά Συστήματα (ΛΣ): βασικές έννοιες, ιστορία ΛΣ, δομή ΛΣ. Διεργασίες: μοντέλο και υλοποίηση διεργασιών, διαδιεργασιακή επικοινωνία (συνθήκες ανταγωνισμού, κρίσιμες περιοχές, αμοιβαίος αποκλεισμός), χρονοπρογραμματισμός διεργασιών. Νήματα: μοντέλο και χρήση νημάτων, υλοποίηση νημάτων στο χώρο του χρήστη και στον πυρήνα, υβριδικές υλοποιήσεις, αναδυόμενα νήματα, μετατροπή μονονηματικού κώδικα σε πολυνηματικό, χρονοπρογραμματισμός νημάτων. Αδιέξοδα: ανίχνευση και επανόρθωση, αποφυγή, πρόληψη. Διαχείριση μνήμης: εναλλαγή, ιδεατή μνήμη, αλγόριθμοι αντικατάστασης σελίδων, θέματα σχεδιασμού για τα συστήματα σελιδοποίησης, ζητήματα υλοποίησης, τμηματοποίηση. Είσοδος/Έξοδος (Ε/Ε): αρχές του υλικού Ε/Ε, αρχές του λογισμικού Ε/Ε, επίπεδα λογισμικού Ε/Ε, δίσκοι. Συστήματα αρχείων: αρχεία και κατάλογοι, υλοποίηση συστήματος αρχείων, ασφάλεια και μηχανισμοί προστασίας.

Επιδιωκόμενα μαθησιακά αποτελέσματα

Σκοπός αυτού του μαθήματος είναι οι φοιτητές:

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

Πιο συγκεκριμένα οι φοιτητές:

  1. θα μπορούν να αναλύουν τα tradeoffs που υπάρχουν στο σχεδιασμό ενός λειτουργικού συστήματος.
  2. θα μπορούν να διακρίνουν διαφορετικά μοντέλα σχεδίασης λειτουργικών συστημάτων.
  3. θα κατανοήσουν τις βασικές αρχές και τεχνικές που χρησιμοποιούνται στην υλοποίηση διεργασιών και νημάτων, καθώς και τους διαφορετικούς αλγορίθμους χρονοδρομολόγησης διεργασιών.
  4. θα κατανοήσουν τους βασικούς μηχανισμούς διαδιεργασιακής επικοινωνίας.
  5. θα μπορούν να συγκρίνουν την κατάσταση πυρήνα με την κατάσταση χρήστη σε ένα λειτουργικό σύστημα.
  6. θα μπορούν να εξηγήσουν την ιεραρχία της μνήμης και το tradeoff κόστους – απόδοσης.
  7. θα μπορούν να περιγράψουν την έννοια της εικονικής μνήμης στα λειτουργικά συστήματα.
  8. θα κατανοήσουν την οργάνωση του δίσκου και τη δομή του συστήματος αρχείων.
  9. θα μπορούν να περιγράψουν πως οι υπολογιστικοί πόροι χρησιμοποιούνται από το λογισμικό μιας εφαρμογής και πως γίνεται η διαχείρισή τους από το λογισμικό του συστήματος.
  10. θα κατανοήσουν την εσωτερική δομή ενός λειτουργικού συστήματος και θα μπορούν να γράφουν προγράμματα χρησιμοποιώντας κλήσεις συστήματος.
  11. θα κατανοήσουν τους βασικούς μηχανισμούς των τρεχόντων λειτουργικών συστημάτων γενικού σκοπού, όπως για παράδειγμα το Linux.
  12. θα έχουν δεξιότητες βασικού προγραμματισμού προσανατολισμένου στο σύστημα και θα μπορούν να παρέχουν μικρές επεκτάσεις σε ένα λειτουργικό σύστημα.

Προαπαιτούμενα

Δεν απαιτούνται.

Εγχειρίδια του μαθήματος

1. Σύγχρονα λειτουργικά συστήματα, Andrew S. Tanenbaum.
2. Λειτουργικά Συστήματα 9η Εκδ., Abraham Silberschatz, Peter Baer Galvin, Greg Gagne.

Διδακτικές και μαθησιακές μέθοδοι

Διαλέξεις, επίλυση ασκήσεων με υποδειγματικό τρόπο, εργαστηριακές ασκήσεις.

Δραστηριότητα Φόρτος Εργασίας Εξαμήνου
Διαλέξεις 39 ώρες
Εργαστηριακές Ασκήσεις 26 ώρες
Προσωπική μελέτη 54 ώρες
Εξέταση εργαστηρίου 3 ώρες
Τελική εξέταση 3 ώρες
Σύνολο Μαθήματος 125 ώρες (5 ECTS)

 

Μέθοδοι αξιολόγησης / βαθμολόγησης

Εργασίες, πρακτική εξάσκηση στο εργαστήριο, εξέταση εργαστηρίου, τελική γραπτή εξέταση.

Γλώσσα διδασκαλίας

Ελληνικά (Αγγλικά αν υπάρχουν φοιτητές/φοιτήτριες ERASMUS)

Τρόπος παράδοσης μαθήματος

Φυσική Παρουσία.