Ηλεκτρονική Διάθεση Μαθήματος
Μαθησιακά Αποτελέσματα
Γνωστικά: Βασική επιδίωξη του μαθήματος είναι η κατανόηση των προκλήσεων σχεδίασης λογισμικού με ταυτοχρονισμό και επικοινωνία μεταξύ πολλών διεργασιών, των προβλημάτων και των μηχανισμών ασφάλειας για την αντιμετώπισή τους.
Δεξιότητες: Οι φοιτητές αναμένεται ότι θα μπορούν να αναπτύσσουν προγράμματα ταυτοχρονισμού, να τα επαληθεύουν ως προς την ορθότητά τους και να διατυπώνουν αλγόριθμους επίλυσης προβλημάτων σε κατανεμημένα συστήματα με βάση θεμελιώδη κριτήρια ορθότητας.
Περιεχόμενο Μαθήματος
Ταυτοχρονισμός στις γλώσσες προγραμματισμού (ατομικές εντολές, παρεμβολή, ορθότητα), Πρόβλημα του Κρίσιμου Τομέα, Επαλήθευση προγραμμάτων ταυτοχρονισμού, Προηγμένοι αλγόριθμοι για το πρόβλημα του Κρίσιμου Τομέα, Σηματοφορείς, Επιτηρητές, Κανάλια, Χώροι πλειάδων, Κατανεμημένοι αλγόριθμοι, Καθολικές ιδιότητες, Κοινή συναίνεση, Συστήματα πραγματικού χρόνου
Βιβλιογραφία μαθήματος (Εύδοξος)
1. M. Ben-Ari, "Αρχές Προγραμματισμού με Ταυτοχρονισμό και Κατανομή Λογισμικού", 2η έκδοση/2015, Εκδόσεις Τζιόλας, ISBN: 978-960-418-591-7
Κωδικός Βιβλίου στον Εύδοξο: 50655947
2. S. Ghosh, "Κατανεμημένα Συστήματα: μία αλγοριθμική προσέγγιση", 2η έκδοση/2023, Εκδόσεις Κλειδάριθμος, ISBN: 9789606454721
Κωδικός Βιβλίου στον Εύδοξο: 122075001
Επιπρόσθετη βιβλιογραφία για μελέτη
1. M. Herlihy and N. Shavit, "The art of multiprocessor programming", Morgan Kauffman, 2008
2. G. Taubenfeld, "Synchronization Algorithms and Concurrent Programming", Pearson / Prentice Hall, 2006
3. N.Lynch, "Distributed Algorithms", Morgan Kauffman, 1996
4. S. Oaks,"Java Security", O'Reilly, 1998