Περιεχόμενο μαθήματος

Περιεχόμενο μαθήματος

Ορισμός, ιστορία και δομή Λειτουργικών Συστημάτων (ΛΣ). Βασικές έννοιες ΛΣ. Κλήσεις συστήματος. Διεργασίες και νήματα. Διαδιεργασιακή επικοινωνία. Χρονοπρογραμματισμός επεξεργαστή. Χώροι διευθύνσεων και εικονική μνήμη. Υλοποίηση εικονικής μνήμης με σελιδοποίηση και τμηματοποίηση. Αρχεία και κατάλογοι. Υλοποίηση και βελτιστοποίηση συστημάτων αρχείων. Αρχές υλικού και λογισμικού εισόδου-εξόδου. Διακοπές, οδηγοί συσκευών και παραδείγματα διαχείρισης συσκευών. Πόροι, αδιέξοδα πόρων και αντιμετώπισή τους. Ασφάλεια και κρυπτογραφία. Προστασία ΛΣ και ταυτοποίηση χρηστών. Είδη επιθέσεων, κακόβουλο λογισμικό και τρόποι άμυνας. Linux και UNIX, υλοποίηση των βασικών συστατικών του Linux. Microsoft Windows, υλοποίηση των βασικών συστατικών των Windows. Διαχείριση διεργασιών και νημάτων POSIX στο Linux, επικοινωνία και συγχρονισμός διεργασιών και νημάτων. Αρχές σχεδίασης λειτουργικών συστημάτων.

Διδάσκοντες

Διδάσκοντες

Γεώργιος Ξυλωμένος

Αναπληρωτής Καθηγητής, Τμήμα Πληροφορικής

 

Σπουδές

  • Πτυχιούχος του τμήματος Εφαρμοσμένης Πληροφορικής, Οικονομικό Πανεπιστήμιο Αθηνών (1993)
  • Μεταπτυχιακό δίπλωμα Επιστήμης Υπολογιστών, University of California, San Diego (1996)
  • Διδακτορικό δίπλωμα Επιστήμης Υπολογιστών, University of California, San Diego (1999)

 

Επικοινωνία

Πτέρυγα Αντωνιάδου, 4ος όροφος, τηλέφωνο +30 2108203115, email xgeorge AT aueb.gr

 

Ιστοσελίδα

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

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

  • Προγραμματισμός Υπολογιστών με C++
  • Οργάνωση Συστημάτων Υπολογιστών

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

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

Κάθε φοιτητής θα πρέπει να παραδώσει δύο εργασίες, οι οποίες θα υλοποιηθούν χωρίς εποπτεία και θα παραδοθούν μέσω eclass. Οι εργασίες θα εκπονηθούν σε ομάδες των δύο ή τριών φοιτητών. Οι εργασίες θα εξεταστούν προφορικά στο εργαστήριο μετά την παράδοσή τους. Η παράδοση των εργασιών δεν είναι υποχρεωτική για συμμετοχή στις εξετάσεις και ένας φοιτητής δεν είναι απαραίτητο να παραδώσει όλες τις εργασίες. Οι εργασίες θα συμμετέχουν στη διαμόρφωση του τελικού βαθμού ως εξής:

  • Πρώτη εργασία: 15% του τελικού βαθμού
  • Δεύτερη εργασία: 15% του τελικού βαθμού

Ο τελικός βαθμός του μαθήματος θα υπολογίζεται ως εξής:

  • 30% εργασίες
  • 70% τελικές εξετάσεις

Αν κάποιος φοιτητής βαθμολογηθεί λιγότερο από τρία (με άριστα το επτά) στις εξετάσεις, θα βαθμολογηθεί με αυτόν το βαθμό (δεν θα προστεθούν οι βαθμοί εργασιών). Όποιος φοιτητής δεν παραδώσει εργασίες θα βαθμολογηθεί πάλι με άριστα το επτά. Ο παραπάνω τρόπος υπολογισμού της βαθμολογίας ισχύει για όλους τους φοιτητές, χωρίς καμία εξαίρεση. Παλαιότεροι φοιτητές δεν έχουν δικαίωμα κατοχύρωσης βαθμού εργασιών.

Ομάδα στόχος

Ομάδα στόχος

Προπτυχιακοί φοιτητές του τμήματος Πληροφορικής.

Μαθησιακοί στόχοι

Μαθησιακοί στόχοι

  • Κατανόηση της δομής των Λειτουργικών Συστημάτων
  • Εξοικείωση με διάφορες σχεδιαστικές προσεγγίσεις
  • Κατανόηση των βασικών προβλημάτων υλοποίησης
  • Εξοικείωση με την προσέγγιση του UNIX (μέσω του Linux)

Προτεινόμενα συγγράμματα

Προτεινόμενα συγγράμματα

Στα πλαίσια του μαθήματος διανέμονται τρία εναλλακτικά συγγράμματα μέσω του συστήματος ΕΥΔΟΞΟΣ:

  • A.S. Tanenbaum, «Σύγχρονα Λειτουργικά Συστήματα», 3η έκδοση, Κλειδάριθμος, 2009.
  • Ι. Κ. Κάβουρας, «Λειτουργικά Συστήματα», 7η έκδοση, Κλειδάριθμος, 2009.
  • A. Silberschatz, P. Galvin, G. Gagne, «Λειτουργικά Συστήματα», 9η έκδοση, Μ. Γκιούρδας, 2013.

Βιβλιογραφία

Βιβλιογραφία

  • Ιστοσελίδες συγγραμμάτων
    • Ιστοσελίδα βιβλίου Modern Operating Systems
      • Εικόνες και παρουσιάσεις από το βιβλίο, κώδικας των προγραμμάτων και επίδειξη στεγανογραφίας.
    • Ιστοσελίδα βιβλίου Λειτουργικά Συστήματα
      • Εικόνες και παρουσιάσεις από το βιβλίο, κώδικας των προγραμμάτων.
    • Ιστοσελίδα βιβλίου Operating System Concepts
      • Εικόνες και παρουσιάσεις από το βιβλίο.
  • Παρόμοια ανοιχτά μαθήματα                        
    • Μάθημα Operating System Engineering (MIT)
      • Ανοιχτό υλικό μαθήματος με ανάλογο περιεχόμενο.
    • Μάθημα Advanced Operating Systems (Udacity)
      • Ανοιχτό δικτυακό μάθημα από το Georgia Tech.
    • Μάθημα Operating Systems (Virginia Tech)
      • Ανοιχτό υλικό μαθήματος με ανάλογο περιεχόμενο.
    • Διαλέξεις μαθήματος Operating Systems and Systems Programming (UC Berkeley)
      • Βιντεοσκοπημένες διαλέξεις μαθήματος με ανάλογη ύλη.
  • Υλικό εργαστηρίων και εργασιών                          
    • Εικονική μηχανή Lubuntu 12.10 32 bit
      • Η εικονική μηχανή που χρησιμοποιείται για τις εργασίες του μαθήματος είναι ένα αρχείο vdi, συμπιεσμένο σε μορφή 7z. Μετά το κατέβασμα πρέπει να το μετονομάσετε σε cslab.7z. Το όνομα χρήστη και το συνθηματικό του είναι csuser, μπορείτε να το αλλάξετε μετά την πρώτη εκκίνηση.
    • Ιστοσελίδα προγράμματος 7-zip
      • Για να αποσυμπιέσετε την εικονική μηχανή αφού την κατεβάσετε, θα χρειαστείτε αυτό το πρόγραμμα.
    • Πρόγραμμα εκτέλεσης εικονικών μηχανών VirtualBox
      • Το αρχείο vdi που προκύπτει μετά την αποσυμπίεση της εικονικής μηχανής που κατεβάσετε, εκτελείται μέσα στο πρόγραμμα VirtualBox, σε οποιαδήποτε πλατφόρμα και αν το εγκαταστήσετε.
    • Ιστοσελίδα προσομοιωτή απλού λειτουργικού συστήματος
      • Το απλό λειτουργικό σύστημα περιγράφεται στο σύγγραμμα Λειτουργικά Συστήματα - Συστήματα Υπολογιστών Τόμος ΙΙ.
  • Ηλεκτρονικές πηγές βιβλιοθήκης ιδρύματος                            
    • ACM SIGOPS Operating Systems Review
      • Επιστημονικό περιοδικό για τα λειτουργικά συστήματα της ACM.
    • ASPLOS: Architectural Support for Programming Languages and Operating Systems
      • Σειρά πρακτικών συνεδρίων με θέμα την υποστήριξη γλωσσών προγραμματισμού και λειτουργικών συστημάτων από την αρχιτεκτονική υπολογιστών.
    • NOSSDAV: International Workshop on Network and Operating System Support for Digital Audio and Video
      • Σειρά πρακτικών συνεδρίων με θέμα την υποστήριξη ψηφιακού ήχου και εικόνας από το λειτουργικό σύστημα και το δίκτυο.
    • OSDI: Operating Systems Design and Implementation
      • Σειρά πρακτικών συνεδρίων με θέμα την σχεδίαση και υλοποίηση λειτουργικών συστημάτων.
    • SOSP: ACM symposium on operating systems principles
      • Σειρά πρακτικών συνεδρίων με θέμα τις αρχές σχεδίασης λειτουργικών συστημάτων.

Μέθοδοι διδασκαλίας

Μέθοδοι διδασκαλίας

Διδασκαλία με διαλέξεις και φροντιστήρια.

Πρακτική άσκηση στο εργαστήριο υπολογιστών.