Παρουσίαση/Προβολή

Εικόνα επιλογής

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ

(ICE1-4003) -  ΒΑΣΙΛΕΙΟΣ ΜΑΜΑΛΗΣ

Περιγραφή Μαθήματος

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

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

ΑΣΚΗΣΕΙΣ ΠΡΑΞΗΣ - ΕΡΓΑΣΤΗΡΙΟ:

Unix/Linux: Προγραμματισμός συστήματος και ταυτόχρονων διεργασιών (διεργασίες παιδιά, χρήση fork, wait, exec, signals/traps κλπ). Ειδικοί μηχανισμοί υποστήριξης επικοινωνίας και συγχρονισμού διεργασιών (shared memory segments, semaphores, message queues κ.α.). Προγραμματισμός και διαχείριση νημάτων/threads με χρήση της βιβλιοθήκης των Posix threads. Διαδιεργασιακή επικοινωνία και προγραμματισμός με χρήση σωληνώσεων (pipes) και υποδοχών (sockets).

ΒΙΒΛΙΟΓΡΑΦΙΑ:

  1. Silberschatz A., Galvin P., Gagne G., Λειτουργικά Συστήματα, 9η έκδοση, Εκδόσεις Μ. Γκιούρδα (μετάφραση), 2013.
  2. Stallings W., Λειτουργικά Συστήματα, 9η έκδοση, Εκδόσεις Α. Τζιόλα & Υιοί ΑΕ (μετάφραση), 2017.
  3. Tanenbaum Α., Bos H., Σύγχρονα Λειτουργικά Συστήματα, 4η έκδοση, Εκδόσεις Κλειδάριθμος (μετάφραση), 2018.
  4. Καρολίδης Δ., Βουτσινάς Σ., Πρεντάκης Π., Linux - Χρήση και Προγραμματισμός, Εκδόσεις Άβακας, 2023.
  5. Κάβουρας I., Λειτουργικά Συστήματα, 5η έκδοση, Εκδόσεις Κλειδάριθμος, 2000.
  6. Gary Nutt, Operating Systems, 3η έκδοση, Addison-Wesley, 2003.
  7. Robert Love, Linux Kernel Development, 3η έκδοση, Addison-Wesley, 2010.
  8. Robert Love, Linux System Programming, 2η έκδοση, O'Reilly Media, 2013.
  9. Kernighan B., Pike R., The Unix Programming Environment, Prentice Hall, 1985.
  10. Glass G., Ables K., Unix for Programmers and Users, Prentice Hall, 1998.
  11. Stevens W.R., Unix Network Programming, Vol. 2: Interprocess Communications, 2nd ed., Prentice Hall, 2000.
  12. Butenhof D.R., Programming with POSIX Threads, Addison-Wesley, 2000.
  13. Robbins K., Robbins S., Unix Systems Programming: Communication, Concurrency and Threads, 2nd ed., Prentice Hall, 2003.

Ημερομηνία δημιουργίας

Δευτέρα 22 Σεπτεμβρίου 2014