Συντρέχοντα και Κατανεμημένα Συστήματα
Στόχοι:
Δεξιότητες:
Προαπαιτήσεις:
Περιεχόμενο μαθήματος:
Λειτουργικά συστήματα και θεμελιώδη ζητήματα διαδιεργασιακής επικοινωνίας: Διεργασίες, Νήματα, Διαδιεργασιακή Επικοινωνία, Βασικές Έννοιες και Τεχνικές, (Αμοιβαίος Αποκελισμός, Κλειδώματα, Σημαφόροι, Επόπτες, Αδιέξοδα, Λιμοκτονία), Μηνύματα και Ουρές Μηνυμάτων, Μοντέλο Πελάτη-Διακομιστή και Υπηρεσίες στα λειτουργικά συστήματα. Επέκταση των βασικών εννοιών στα Κατανεμημένα Συστήματα (Αμοιβαλιος Αποκλεισμός, Κατανεμημένα Αδιέξοδα, Εκλογή Αρχηγού, Λογικός Χρόνος, Κατανέμημένα Συστήματα Αρχείων, Κατανεμημένοι Συστήματα Ονομασίας κλπ). Αρχές Εικονικοποίησης.
Διαδικτυακές υποδομές και βασικό διαλογισμικό: Διαδίκτυο και Κατανεμημένα Συστήματα, Στοίβα TCP/IP – Υπηρεσίες, Υποδοχές και Μοντέλο Πελάτη-Διακομιστή, Βασικά Πρωτόκολλα και Υπηρεσίες, Αρχιτεκτονική 3-Επιπέδων, Κλήση Απομακρυσμένης Διαδικασίας, Κατανεμημένα Αντικείμενα, Ετερογενή Συστήματα, Στοίβα Πρωτοκόλλων, Εφαρμογών και Υπηρεσιών Ιστού, Ομότιμα Συστήματα, Εισαγωγή στο Υπολογιστικό Νέφος.
Γλώσσες, Περιβάλλοντα και Τεχνικές προγραμματισμού: Πολυνηματικός Προγραμματισμός, Συντρέχουσες Δομές Δεδομένων, Δομές και Υποδείγματα Ανωτέρου Επιπέδου, Προγραμματισμός Υποδοχών, Προγραμματισμός Κατανεμημένων Αντικειμένων, Ετερογενείς Κατανεμημένοι Υπολογισμοί, Προγραμματισμός Ομοτίμων Συστημάτων, Προγραμματισμός Εφαρμογών και Υπηρεσιών Ιστού, Εφαρμογές Map-Reduce, Προγραμματισμός Εφαρμογών Νέφους.
Προτεινόμενη βιβλιογραφία:
Distributed Systems: Concepts and Design (5th edition)
George Coulouris, Jean Dollimore, Tim Kindberg and Gordon Blair
Addisson Wesley, 2011, ISBN 0-13-214301-1
Concurrency - State Models & Java Programs, J. Magee, J. Kramer, Wiley, 1999, ISBN: 0471987107
Distributed and Cloud Computing: From Parallel Processing to the Internet of Things Kai Hwang, Jack Dongarra and Geoffrey C. Fox.
Morgan Kaufmann, 2011, ISBN 9780123858801
Κατανεμημένα Συστήματα με Java, (3η εκδοση)
Κάβουρας ΙΚ, κ.α
Εκδ Κλειδαριθμος, 2011, ISBN 978-960-461-463-9
Παράλληλα και Κατανεμημένα Συστήματα σε Java
Μιχαηλίδης Π. Μαργαρίτης Κ.
Πανεπιστημιακές Παραδόσεις, 2009
Μέθοδοι αξιολόγησης:
50% 6 Εργαστηριακές ασκήσεις (1 ανά 15 ημέρες)
50% Τελική γραπτή εξέταση