Το μάθημα «Εισαγωγή στα Κατανεμημένα Συστήματα» έχει ενταχθεί στο δεύτερο επίπεδο μαθημάτων. 

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

Διδακτικές ενότητες: Οι διδακτικές ενότητες του μαθήματος φαίνονται στον ακόλουθο πίνακα: 

     Ενότητα 1

Η έννοια του κατανεμημένου συστήματος, λειτουργικά συστήματα δικτύου, λειτουργικά συστήματα κατανεμημένων συστημάτων, πλεονεκτήματα και μειονεκτήματα κατανεμημένων συστημάτων και σύγκριση με κεντρικοποιημένα συστήματα

     Ενότητα 2
  • Ζητήματα υλικού

  • Ζητήματα λογισμικού

    • Δικτυακά συστήματα αρχείων - NFS, πρωτόκολλο προσάρτησης, πραγματικά κατανεμημένα συστήματα

  • Ζητήματα σχεδίασης

     Ενότητα 3
  • Η επικοινωνία στα κατανεμημένα συστήματα

    • Μεταβίβαση μηνυμάτων, ονοματολογία και ανάλυση ονομάτων, στρατηγικές δρομολόγησης, στρατηγικές σύνδεσης, το πρωτόκολλο ISO/OSI

  • Παραδείγματα κατανεμημένων συστημάτων : Internet, Intranets, Κινητός και Πανταχού παρών υπολογισμός

     Ενότητα 4
  • Κατηγοριοποίηση διεργασιών

  • Αρχιτεκτονικά μοντέλα: το μοντέλο πελάτη - εξυπηρετητή

    • Διευθυνσιοδότηση, σύγχρονες/ασύγχρονες κλήσεις, αποθηκευόμενες/μη αποθηκευόμενες κλήσεις, αξιόπιστες/μη αξιόπιστες κλήσεις

  • Κλήση απομακρυσμένων διαδικασιών (RPC)

    • Χαρακτηριστικά βασικής λειτουργίας RPC, πέρασμα παραμέτρων

     Ενότητα 5
  • Επικοινωνία σε ομάδες (κλειστές - ανοικτές ομάδες, ομότιμες - ιεραρχημένες ομάδες, διαχείριση ομάδας, διευθυνσιοδότηση ομάδας, κλήσεις αποστολής/λήψης μηνυμάτων προς ομάδα,διάταξη μηνυμάτων).

  • Παραλλαγές στο  μοντέλο πελάτη - εξυπηρετητή.

  • Κινητοί πράκτορες, δικτυακοί υπολογιστές, συστήματα thin client, κινητές συσκευές και αυτοφθής δικτύωση

     Ενότητα 6
  • Η έννοια του κατανεμημένου αλγορίθμου

  • Το πρόβλημα του συγχρονισμού - Λογικά ρολόγια Lamport - Συγχρονιστές

     Ενότητα 7

     Αλγόριθμοι εκλογής αρχηγού

     Ενότητα 8
  • Αλγόριθμοι δρομολόγησης

  • Αλγόριθμοι wave και traversal

     Ενότητα 9
  • Αλγόριθμοι ελέγχου τερματισμού

  • Αλγόριθμοι συμφωνίας (consencus)

     Ενότητα 10
  • Αλγόριθμοι αντοχής σε σφάλματα

  • Σταθεροποιούμενοι αλγόριθμοι

Προαπαιτούμενες γνώσεις: λειτουργικά συστήματα, δίκτυα υπολογιστών, προγραμματισμός.

 

Επιθυμητές γνώσεις: λειτουργικά συστήματα, δίκτυα υπολογιστών, προγραμματισμός.

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

  1. “Introduction to Distributed Algorithms”, Gerard Tel, Cambridge University press, 2000.

  2. Modern Operating Systems (Distributed Systems), Volume Β’, Andrew Tanenbaum, Prentice Hall, 1992.