Πληροφορίες. E-03: Λειτουργικά Συστήµατα ΙΙ 6. Εαρινό Εξάµηνο 2005-06. Εισαγωγή. Στόχοι Κατανεµηµένων Συστηµάτων. ιαφάνεια



Σχετικά έγγραφα
Εισαγωγή. Κατανεµηµένα Συστήµατα 01-1

Τεχνολογικά Επιτεύγµατα. Πλεονεκτήµατα. Ορισµός Κατανεµηµένου Συστήµατος. Μειονεκτήµατα. E-03: Λειτουργικά Συστήµατα ΙΙ 6. Εαρινό Εξάµηνο

Κατανεμημένα Συστήματα: Θεωρία και Προγραμματισμός. Ενότητα # 1: Εισαγωγή Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

ΚΕΦΑΛΑΙΟ 1.7. Πρωτόκολλα και Αρχιτεκτονική Δικτύου

Κατανεµηµένασυστήµατα αρχείων

Αποµακρυσµένη κλήση διαδικασιών

Πληροφορίες. E-03: Λειτουργικά Συστήµατα ΙΙ 6. Εαρινό Εξάµηνο Ζητήµατα Επικοινωνίας Πελάτη-Εξυπηρετητή. Εξυπηρετητής

Δίκτυα Υπολογιστών Firewalls. Χάρης Μανιφάβας

Γενικές Αρχές. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ. Παράδοση Ασκήσεων Κεφάλαιο 2 Ασκήσεις 3,6,8,9,15,22,24,26. Γεωργόπουλος Άλκης Α.Μ.: 39 Κοντογιώργης Αναστάσιος A.M.

Νήµατα. ιεργασίες και νήµατα Υλοποίηση νηµάτων Ελαφριές διεργασίες Αξιοποίηση νηµάτων. Κατανεµηµένα Συστήµατα 10-1

Εισαγωγή. E-03: Λειτουργικά Συστήµατα ΙΙ 6. Εαρινό Εξάµηνο Κατανεµηµένα συστήµατα αρχείων. Μέρη κατανεµηµένου συστήµατος αρχείων

Η Υλοποίηση της Επικοινωνίας. Κατανεµηµένα Συστήµατα

7.3 Πρωτόκολλο TCP. 1. Το TCP πρωτόκολλο παρέχει υπηρεσίες προσανατολισµένες σε σύνδεση. Σ Λ

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων

7.11 Πρωτόκολλα Εφαρµογής Βασικές και Προηγµένες Υπηρεσίες ιαδικτύου. Ηλεκτρονικό Ταχυδροµείο. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

Επίπεδο Δικτύου: Διαδικτύωση

Οργάνωση επεξεργαστών και διεργασιών

Επικοινωνία με μηνύματα. Κατανεμημένα Συστήματα 1

Ε-85: Ειδικά Θέµατα Λογισµικού

Λειτουργικά Συστήματα Η/Υ

Μάθημα 5: To Μοντέλο Αναφοράς O.S.I.

7.2 Τεχνολογία TCP/IP

ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. ίκτυα Υπολογιστών Ι. To Μοντέλο OSI. Αναπλ. Καθηγ. Π. εμέστιχας

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο

Μετακινούμενος Κώδικας (Mobile Code) Κατανεμημένα Συστήματα 1

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 7ο ΚΕΦΑΛΑΙΟ

Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα Πρωτόκολλα και Αρχιτεκτονική Δικτύου)

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

ΤρόποςΑξιολόγησης: α) Εργαστήρια (Προαιρετικάµε 20% - 35% βαρύτητα µόνοθετικά) β) Τελική Γραπτή Εξέταση

ΔΙΑΓΩΝΙΣΜΑ ΤΕΛΙΚΗΣ ΕΠΑΝΑΛΗΨΗΣ ΣΤΙΣ ΕΝΟΤΗΤΕΣ

Συνεχής ροή πολυµέσων

Λιβανός Γιώργος Εξάμηνο 2017Β

Ιόνιο Πανεπιστήµιο Τµήµα Αρχειονοµίας Βιβλιοθηκονοµίας. Μοντέλο TCP/IP. Ενότητα E. Συστήµατα Επικοινωνίας

Λειτουργικά Συστήματα (Λ/Σ)

ίκτυα - Internet Μάθηµα 3ο Ενότητα Β: Το Πρότυπο ΤCP/IP Eισαγωγή - Επικοινωνία µεταξύ δύο Υπολογιστών Παρασκευή 10 NOE 2006 ιευθύνσεις

Μάθημα 4: Πρότυπα, Πρωτόκολλα & Υπηρεσίες

Αξιόπιστη μεταφορά δεδομένων πάνω από αναξιόπιστο δίκτυο. Κατανεμημένα Συστήματα 1

ΤΕΧΝΟΛΟΓΙΑ ΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

Αξιόπιστη μεταφορά δεδομένων πάνω από αναξιόπιστο δίκτυο. Κατανεμημένα Συστήματα 1

7.9 ροµολόγηση. Ερωτήσεις

Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που

Ενότητα 3. Στρώµα Ζεύξης: Αρχές Λειτουργίας & Το Υπόδειγµα του Ethernet

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 1 ο ΚΕΦΑΛΑΙΟ

AEI Πειραιά Τ.Τ. Τμ. Μηχ/κων Αυτοματισμού ΤΕ. Δίκτυα Μετάδοσης Δεδομένων. Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές

Επικοινωνία με μηνύματα. Κατανεμημένα Συστήματα 1

ιαδίκτυα & Ενδοδίκτυα Η/Υ

Νέες Επικοινωνιακές Τεχνολογίες

ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Ασκήσεις για το φυσικό στρώμα. λ από τον ρυθμό μετάδοσής της. Υποθέτοντας ότι ο κόμβος A

Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού

6.1 Επεκτείνοντας το δίκτυο 6.2 Επιλεγόμενες τηλεφωνικές γραμμές modems Πλεονεκτήματα Μειονεκτήματα Βασική χρήση

Κεφάλαιο 5: Τοπικά ίκτυα

Εισαγωγή Middleware. Χάρης Μανιφάβας Τμήμα Εφ. Πληροφορικής & Πολυμέσων ΤΕΙ Κρήτης. Κατανεμημένα Συστήματα (Ε) Εισαγωγή: Θέματα S/W 1

Βασικές έννοιες. Κατανεμημένα Συστήματα 1

Δίκτυα Επικοινωνιών ΙΙ: Frame Relay

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

ιαδίκτυα & Ενδοδίκτυα Η/Υ

ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ. Ιωάννης Σταυρακάκης, Καθηγητής Password: edi

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ / ΕΠΑΛ(Α & Β ΟΜΑΔΑ) ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 11/12/2011 ΑΠΑΝΤΗΣΕΙΣ

Κατανεµηµένα Αντικείµενα 16-1

AEI Πειραιά Τ.Τ. Τμ. Μηχ/κων Αυτοματισμού ΤΕ. Δίκτυα Υπολογιστών. Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές

Λύση: Λύση: Λύση: Λύση:

7.11 Πρωτόκολλα εφαρµογής

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι

ίκτυα υπολογιστών Στόχοι κεφαλαίου ίκτυα

Εφαρµογές των πολυµέσων

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΣΤΑ ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ Γ Τάξη Ε.Π.Α.Λ.

Ιόνιο Πανεπιστήµιο Τµήµα Πληροφορικής Συστήµατα Επικοινωνίας. Μοντέλο TCP/IP. Ενότητα E. Πόσοι εµπλέκονται σε ένα Σύστηµα Επικοινωνίας

Δροµολόγηση (Routing)

7.7 Πρωτόκολλο ARP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

Σύστηµα CORBA. Κατανεµηµένα Συστήµατα 18-1

4.1.1 Πρωτόκολλο TCP - Δομή πακέτου

Επαναληπτικές Ασκήσεις Μαθήματος

Βασικές έννοιες. Κατανεμημένα Συστήματα 1

Εγγυημένη ποιότητα υπηρεσίας

Αρχές Δικτύων Επικοινωνιών. Επικοινωνίες Δεδομένων Μάθημα 4 ο

Τεχνολογίες & Εφαρμογές Πληροφορικής Ενότητα 7: Τοπικά δίκτυα

Χαρακτηρισµός Κατανεµηµένων Συστηµάτων

a. b. c. d ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

J. Glenn Brookshear. Copyright 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

Κατανεμημένα Συστήματα: Θεωρία και Προγραμματισμός. Ενότητα # 6: Κατανομή φόρτου Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία

ιαδίκτυα & Ενδοδίκτυα Η/Υ

Ενότητα 1. Εισαγωγή στις βασικές έννοιες των ικτύων ΗΥ

α. Συνόδου β. Μεταφοράς γ. Δικτύου δ. Διασύνδεσης δεδομένων ε. Φυσικού Επιπέδου (Μονάδες 5)

Αρχιτεκτονικές κατανεμημένων συστημάτων. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 12

Δίκτυα Θεωρία

//009 Βασικές εργασίες του επιπέδου ζεύξης ηµιουργία πλαισίων Έλεγχος σφαλµάτων Έλεγχος ροής Σχέση µεταξύ πακέτων (επιπέδου δικτύου) και πλαισίων (επι

Σύστηµα Java RMI. Κατανεµηµένα Συστήµατα 17-1

Ο βασικός παράγοντας είναι ο χρόνος αξιοποίησης του επεξεργαστή Ελάχιστος αριθµός πράξεων και όχι µακρόχρονες αιτήσεις Ε/Ε

Α2. Να γράψετε τους αριθμούς 1-5 από τη Στήλη Α και δίπλα το γράμμα της Στήλης Β που δίνει τη σωστή αντιστοίχηση.

Εγχειρίδιο Φοιτητών. 1. Εισαγωγή

Λογισµικό (Software SW) Λειτουργικά Συστήµατα και ίκτυα

Δρομολόγηση (Routing)

Δίκτυα Θεωρία

Πρωτόκολλα Διαδικτύου

Τεχνολογία TCP/IP ΙΑ ΙΚΤΥΩΣΗ- INTERNET. Τεχνολογίες Τηλεκπαίδευσης & Εφαρµογές - Ιούλιος

ΤΕΙ Στερεάς Ελλάδας Τμ. Ηλ.γων Μηχ/κων ΤΕ. Δίκτυα Υπολογιστών. Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές

Transcript:

Πληροφορίες Ε-03: Λειτουργικά Συστήµατα ΙΙ Εαρινό Εξάµηνο 2005-06 «Επικοινωνία σε Κατανεµηµένα Συστήµατα» Σελίδα µαθήµατος http://www.cs.uoi.g/~phadjido/couss/e-03.htm Βιβλίο Κατανεµηµένα Συστήµατα µε JAVA. Ι. Κ. Κάβουρας. Εκδόσεις Κλειδάριθµος. 2005. ρ. Παναγιώτης Χατζηδούκας (Π..407/80) E-03: Λειτουργικά Συστήµατα ΙΙ 1 E-03: Λειτουργικά Συστήµατα ΙΙ 2 Εισαγωγή Στόχοι Κατανεµηµένων Συστηµάτων Κατανεµηµένα Συστήµατα Συλλογή ανεξάρτητων υπολογιστών που εµφανίζεται στους χρήστες του σαν ένα ενιαίο συνεπές σύστηµα Ζητήµατα Υλικού Πολυεπεξεργαστές, πολυυπολογιστές Πέρα από τα µονοεπεξεργαστικά ΛΣ Κατανεµηµένα ΛΣ ΛΣ ικτύου ΛΣ Ενδιάµεσου Λογισµικού (Middlwa) Ευελιξία Ευκολία αλλαγής ή επέκτασης του συστήµατος Ανοιχτή υλοποίηση Παροχή υπηρεσιών σύµφωνα µε ένα σύνολο αυστηρά προδιαγεγραµµένων κανόνων Επίδοση Υψηλή ταχύτητα διεκπεραίωσης διεργασιών ιαφάνεια Παρασκηνιακή επίτευξη της εικόνας ενός ενιαίου συστήµατος για τους χρήστες Κλιµάκωση υνατότητα αύξησης του πλήθους των επεξεργαστών Αξιοπιστία Υψηλή διαθεσιµότητα, ανοχή στις βλάβες, ασφάλεια E-03: Λειτουργικά Συστήµατα ΙΙ 3 E-03: Λειτουργικά Συστήµατα ΙΙ 4 ιαφάνεια Υπηρεσίες Κατανεµηµένων Συστηµάτων ιαφάνεια πρόσβασης (accss) ιαφάνεια τοποθέτησης (location) ιαφάνεια µετανάστευσης (migation) ιαφάνεια επανατοποθέτησης (location) ιαφάνεια οµοιοτυπίας (plication) ιαφάνεια ταυτοχρονισµού (concuncy) ιαφάνεια βλάβης (failu) ιαφάνεια διατήρησης (psistnc) ιαφάνεια παραλληλισµού (paalllism) Υπηρεσίες επικοινωνίας Υψηλότερου επιπέδου σε σχέση µε τα σύγχρονα λειτουργικά συστήµατα για την διευκόλυνση υλοποίησης εφαρµογών Υπηρεσία επικοινωνίας οµάδων Επικοινωνία µέσω ουρών µηνυµάτων (ασύγχρονα αξιόπιστα): διεργασίες Υπηρεσία ηλεκτρονικού ταχυδροµείου: χρήστες Υπηρεσίες εκτέλεσης Υπηρεσία αποµακρυσµένης εκτέλεσης: εκτέλεση εντολών φλοιού σε κάποιον εξυπηρετητή (sh) Υπηρεσία αποµακρυσµένου τερµατικού: σύνδεση Υπηρεσία αποµακρυσµένων διεργασιών: οποιαδήποτε διεργασία, µε δυνατότητα µετανάστευσης Κλήση αποµακρυσµένων διαδικασιών / αντικειµένων ή µεθόδων E-03: Λειτουργικά Συστήµατα ΙΙ 5 E-03: Λειτουργικά Συστήµατα ΙΙ 6 1

Υπηρεσίες Κατανεµηµένων Συστηµάτων Υπηρεσίες Κατανεµηµένων Συστηµάτων Υπηρεσίες ονοµασίας Υλοποίηση ενός κοινού χώρου ονοµάτων για τους πόρους ολόκληρου του συστήµατος ιεύθυνση πόρου: µηχανή όπου βρίσκεται ο πόρος και στοιχεία του Υπηρεσία ευρετηρίων: αναζήτηση πόρου µε βάση όχι το όνοµα του αλλά τον τύπο, γεωγραφική θέση, ιδιοκτήτη Υπηρεσία εντοπισµού: τρέχουσα θέση πόρου σε περίπτωση µετανάστευσης (φορητές µηχανές, διεργασίες) Υπηρεσίες αρχείων Κατανεµηµένο σύστηµα εξυπηρετητών αρχείων Ανάγνωση, εγγραφή αρχείων Συνεργασία χρηστών µέσω κοινών αρχείων και υποστήριξη κατανεµηµένου κλειδώµατος των αρχείων Υπηρεσία ευρετηρίων: δηµιουργία, διαγραφή και αναζήτηση αρχείου Υπηρεσίες συναλλαγών Συναλλαγή (tansaction): ακολουθία ενεργειών που πρέπει να εκτελεστούν µε ατοµικό τρόπο, δηλαδή όλες ή καµία Μεταφορά χρηµάτων µεταξύ τραπεζών Υπηρεσία κατανεµηµένων συναλλαγών: συγχρονισµός πελατών που επιθυµούν να εκτελέσουν ταυτόχρονα συναλλαγές µε τους ίδιους πόρους Υπηρεσίες αντικειµένων Είδη αντικειµένων Αποµακρυσµένο αντικείµενο: προσπέλαση από οπουδήποτε, κατάσταση σε µια µηχανή Κατανεµηµένο αντικείµενο: κατάσταση σε διάφορα µέρη του συστήµατος Υπηρεσία αντικειµένων: υποδοµή για κατασκευή κατανεµηµένων εφαρµογών προσανατολισµένων στα αντικείµενα ηµιουργία, µετανάστευση, αντιγραφή, διαγραφή, αποθήκευση E-03: Λειτουργικά Συστήµατα ΙΙ 7 E-03: Λειτουργικά Συστήµατα ΙΙ 8 Υπηρεσίες Κατανεµηµένων Συστηµάτων Κατηγορίες ΛΣ Υπηρεσίες αναπαραγωγής ιάθεση δεδοµένων σε πολλά αντίγραφα: αύξηση επίδοσης και αξιοπιστίας ιαχείριση αναπαραγωγής και συγχρονισµού αντιγράφων των δεδοµένων Παράδειγµα: καθρεπτισµένοι εξυπηρετητές (miod svs) Υπηρεσίες ασφάλειας Επαλήθευση ταυτότητας χρήστη, διαφύλαξη απορρήτου, έλεγχο πρόσβασης στους πόρους Κεντρικοποιηµένο σύστηµα: µηχανισµοί υλικού Κατανεµηµένο σύστηµα: χρήση κρυπτογραφικών µηχανισµών Η υπηρεσία ασφάλειας παρέχει έλεγχο πρόσβασης κι όχι πολιτικές, οι οποίες καθορίζονται από τους διαχειριστές του συστήµατος Κατανεµηµένο Λειτουργικό Σύστηµα (DOS) Στενά συνδεδεµένο ΛΣ για πολυεπεξεργαστές και οµοιογενείς πολυυπολογιστές Αποκρύβει και διαχειρίζεται τους πόρους υλικού Λειτουργικό Σύστηµα ικτύου (NOS) Χαλαρά συνδεδεµένο ΛΣ για ετερογενείς πολυυπολογιστές (LAN and WAN) Παρέχει τοπικές υπηρεσίες σε αποµακρυσµένους χρήστες Ενδιάµεσο λογισµικό Επιπρόσθετο επίπεδο σε ένα ΛΣ ικτύου που υλοποιεί υπηρεσίες γενικού σκοπού E-03: Λειτουργικά Συστήµατα ΙΙ 9 E-03: Λειτουργικά Συστήµατα ΙΙ 10 Σύγκριση µεταξύ των συστηµάτων Επικοινωνία µεταξύ διεργασιών Ζήτηµα Βαθµός ιαφάνειας Ίδιο ΛΣ σε όλους τους κόµβους Κατανεµηµένο ΛΣ Πολύεπεξεργαστέυπολογιστές Πολύ- Πολύ υψηλή Υψηλή Ναι Ναι ΛΣ ικτύου Χαµηλή Όχι ΛΣ βασισµένο σε ενδιάµεσο λογισµικό Υψηλή Όχι Αδόµητη επικοινωνία Χρήση διαµοιρασµένης µνήµης ή διαµοιρασµένων δοµών δεδοµένων οµηµένη επικοινωνία Χρήση ρητών µηνυµάτων (IPCs): snd, civ Αντίγραφα ΛΣ Βάση επικοινωνίας ιαχείριση πόρων 1 Κοινή Μνήµη Καθολική, Κεντρική N Μηνύµατα Καθολική, Κατανεµηµένη N Αρχεία Ανά κόµβο N Εξαρτάται από το µοντέλο Ανά κόµβο Κατανεµηµένα Συστήµατα: και οι δύο µορφές χρειάζονται υποστήριξη επικοινωνίας χαµηλού επιπέδου.. Ικανότητα κλιµάκωσης Όχι Μέτρια Ναι Ποικίλει Ανοιχτή σχεδίαση Κλειστή Κλειστή Ανοιχτή Ανοιχτή E-03: Λειτουργικά Συστήµατα ΙΙ 11 E-03: Λειτουργικά Συστήµατα ΙΙ 12 2

Πρωτόκολλα Επικοινωνίας Τα πρωτόκολλα είναι προκαθορισµένοι κανόνες που διέπουν το µορφότυπο, τα περιεχόµενα και τη σηµασία των µηνυµάτων που αποστέλλονται ή παραλαµβάνονται ύο γενικές κατηγορίες πρωτοκόλλων: 1. Προσανατολισµένα σε σύνδεση (connction-ointd): Εγκατάσταση σύνδεσης µεταξύ αποστολέα και παραλήπτη Αρχική διαπραγµάτευση ως προς το πρωτόκολλο ιακοπή σύνδεσης µετά την ανταλλαγή των δεδοµένων 2. Χωρίς σύνδεση (connctionlss): Ο αποστολέας στέλνει τα δεδοµένα όποτε είναι έτοιµος Το µήνυµα λαµβάνεται κάποια στιγµή Τα δεδοµένα πάντα συνοδεύονται από την διεύθυνση του παραλήπτη Τυποποίηση πρωτοκόλλων επικοινωνίας Το σύνολο των λειτουργιών ενός δικτύου διαιρείται σε 7 επίπεδα: φυσικό, ζεύξης, δικτύου, µεταφοράς, συνόδου, παρουσίασης, εφαρµογής (στοίβα πρωτοκόλλων) E-03: Λειτουργικά Συστήµατα ΙΙ 13 E-03: Λειτουργικά Συστήµατα ΙΙ 14 Φυσικό επίπεδο Οι υπηρεσίες του αφορούν στην αποστολή των bits στις επικοινωνιακές γραµµές. Ιδιαίτερα: πόσα volts είναι το 1 και το 0, πόσα bits/sc µπορούν να σταλούν, διπλής ή µονής κατεύθυνσης επικοινωνία Επίπεδο ζεύξης Το 1 ο επίπεδο αρκεί αν δεν υπάρχει η πιθανότητα λάθους. (π.χ. στέλνω"1" και λαµβάνει"0"). Ο µηχανισµός που ασχολείται µε την ανίχνευση και αντιµετώπιση λαθών είναι το κύριο µέρος του 2 ου επιπέδου. Τα bits οµαδοποιούνται σε fams και το επίπεδο διασφαλίζει ότι το κάθε fam καταφθάνει «σώο και αβλαβές» Χρησιµοποιείται ένα chcksum που στέλνεται µε το µήνυµα Μηνύµατα επιβεβαίωσης χρησιµοποιούνται για την αντιµετώπιση χαµένων µηνυµάτων/fams. Επίπεδο δικτύου Ασχολείται κυρίως µε τα προβλήµατα outing & congstion contol. ηλαδή ασχολείται κυρίως µε το να διαλέγει την καλύτερη διαδροµή που θα ακολουθήσει ένα µήνυµα για να φθάσει στον προορισµό του. Congstion contol είναι ένας έλεγχος ούτως ώστε να µην χρησιµοποιούνται πολύ µόνο µερικές γραµµές, δηµιουργώντας συµφόρηση, ενώ θα µπορούσαν να χρησιµοποιηθούν άλλες. Επίπεδο µεταφοράς Ασχολείται κυρίως µε την αξιόπιστη µεταφορά των πακέτων από τον αποστολέα στον αποδέκτη. ηµιουργεί δηλαδή αξιόπιστες συνδέσεις (liabl connction). Τα προβλήµατα κυρίως είναι: χαµένα πακέτα, αλλοιωµένα πακέτα, και πακέτα "εκτός σειράς". E-03: Λειτουργικά Συστήµατα ΙΙ 15 E-03: Λειτουργικά Συστήµατα ΙΙ 16 Επίπεδο συνόδου Συµπληρώνει το επίπεδο µεταφοράς, π.χ. διορθώνει σπασµένες συνδέσεις-µπορεί να χρησιµοποιεί chckpoints για ανάνηψη από cash. ιαλέγει επίσης το κατάλληλο πρωτόκολλο επιπέδου µεταφοράς. εν χρησιµοποιείται συχνά. Επίπεδο αναπαράστασης Τι σηµαίνουν τα bits π.χ. data ncoding (ASCII, EBCDIC για chas). Επίσης, data compssion & data ncyption / dcpytion. Επίπεδο εφαρµογής Μια συλλογή από πρωτόκολλα που προσφέρουν πολύ-ζητηµένες υπηρεσίες, π.χ. -mail, ftp, κ.τ.λ. Το µοντέλο OSI είναι πολύ βαρύ, δηλαδή κοστίζει πολύ για να χρησιµοποιηθεί σε πολλά Κ.Σ. Το µεγάλο κόστος προκύπτει από τα πολλά επίπεδα: δύο αντίστοιχα επίπεδα (σε αποστολέα κι αποδέκτη) επικοινωνούν µέσω ενός had. Καθώς το µήνυµα περνάει από το ένα επίπεδο στο αµέσως κατώτερο επίπεδο στον αποστολέα, το κάθε επίπεδο βάζει το δικό του had στο µήνυµα που στέλνεται. Αντίστοιχα, όπως το µήνυµα "ανεβαίνει" επίπεδα στον αποδέκτη, το κάθε επίπεδο αφαιρεί το κατάλληλο had από το µήνυµα πριν το περάσει στο ανώτερο επίπεδο. Η "επικοινωνία" των πρωτοκόλλων στο ίδιο επίπεδο γίνεται µέσω του had (π.χ. το πρωτόκολλο µετάδοσης βάζει ένα had µε τον αριθµό του µηνύµατος, τον αριθµό του πακέτου. Οι αριθµοί χρησιµοποιούνται από το πρωτόκολλο µετάδοσης στον αποδέκτη για αντιµετώπιση λαθών). E-03: Λειτουργικά Συστήµατα ΙΙ 17 E-03: Λειτουργικά Συστήµατα ΙΙ 18 3

Στρωµατοποιηµένα Πρωτόκολλα Ένα τυπικό µήνυµα όπως εµφανίζεται στο δίκτυο Πρωτόκολλα Ενδιάµεσου Λογισµικού Ενδιάµεσο λογισµικό: επίπεδο µεταξύ ΛΣ και εφαρµογής Μπορεί να υλοποιεί πρωτόκολλα γενικού σκοπού που δηµιουργούν τα δικά τους επίπεδα E-03: Λειτουργικά Συστήµατα ΙΙ 19 E-03: Λειτουργικά Συστήµατα ΙΙ 20 Μοντέλο Επικοινωνίας Πελάτη-Εξυπηρετητή Μοντέλο Επικοινωνίας Πελάτη-Εξυπηρετητή Το Κ.Σ. δοµείται σαν µια σειρά διεργασιών (πελατών & εξυπηρετητών). Η επικοινωνία τους βασίζεται στο απλό µοντέλο αίτησης-απόκρισης. Έτσι αποφεύγονται τα πολλά επίπεδα Απαιτούνται µόνο το φυσικό επίπεδο, το επίπεδο ζεύξης και το επίπεδο συνόδου που υλοποιεί το πρωτόκολλο αίτησης-απόκρισης Αφούτο υλικό υλοποιεί τα δύο πρώτα επίπεδα, από πλευράς λογισµικούµένει µόνο η υλοποίηση του πρωτοκόλλου αίτησηςαπόκρισης ύο κλήσεις συστήµατος: snd(dst,&msg), civ(add, &buf) το dst ορίζει τον αποδέκτη-διεργασία &msg είναι η διεύθυνση του µηνύµατος add είναι η διεύθυνση στην οποία ακούει ο αποδέκτης για µηνύµατα &buf είναι η διεύθυνση του buff όπου θέλει ο αποδέκτης να ληφθεί το µήνυµα οµή: σύνολο εξυπηρετητών που παρέχουν υπηρεσία σε πελάτες Βασίζεται στο παράδειγµα αίτησης απόκρισης Τεχνικές: Sockts, Rmot Pocdu Calls (RPC), Rmot Mthod Invocation (RMI) clint knl fil sv pocss sv tminal sv knl knl knl E-03: Λειτουργικά Συστήµατα ΙΙ 21 E-03: Λειτουργικά Συστήµατα ΙΙ 22 Ζητήµατα Επικοινωνίας Πελάτη-Εξυπηρετητή ιευθυνσιοδότηση Ανασταλτική και µη επικοινωνία Αποθηκευόµενη και µη επικοινωνία Αξιόπιστη και µη επικοινωνία Αρχιτεκτονική εξυπηρετητή Κλιµακωσιµότητα Ζητήµατα ιευθυνσιοδότησης Πως ορίζεται ο αποδέκτης του µηνύµατος; 1. Μπορούµε να δώσουµε την διεύθυνση στο δίκτυο της µηχανής όπου τρέχει ο αποδέκτης. Πως, όµως, ξέρουµε αυτή τη διεύθυνση; Τι γίνεται αν αλλάξει; Τι γίνεται αν τρέχουν πολλές διεργασίες στη µηχανή; 2. Μπορούµε να στείλουµε στη διεύθυνση pocss@machin (ή machin.svic_nam, όπου ο κάθε εξυπηρετητής µε µια κλήση συστήµατος ενηµερώνει τον πυρήνα για το δικό του svic_nam). Το βασικότερο πρόβληµα είναι η έλλειψη διαφάνειας. Ο χρήστης πρέπει να ξέρει σε ποια µηχανή τρέχει ο αποδέκτης. E-03: Λειτουργικά Συστήµατα ΙΙ 23 E-03: Λειτουργικά Συστήµατα ΙΙ 24 4

Ζητήµατα ιευθυνσιοδότησης Πως ορίζεται ο αποδέκτης του µηνύµατος; 3. Μπορούµε να αφήσουµε την κάθε διεργασία να διαλέξει τη διεύθυνσή της από ένα πολύ µεγάλο και αραιό χώρο διευθύνσεων, π.χ. 64-bit ακέραιοι. Ηπιθανότητα σύγκρουσης είναι αµελητέα. Χρειάζεται όµως πριν από κάθε επικοινωνία να σταλεί σε όλους (boadcast) ένα ειδικό πακέτο για να µάθει ο αποστολέας τη διεύθυνση της µηχανής που τρέχει η διεργασία. 4. Μια καλή λύση είναι να χρησιµοποιηθεί ένας nam sv ο οποίος συνδέει ASCII, υψηλού επιπέδου ονόµατα, µε χαµηλού επιπέδου διευθύνσεις (π.χ. "filsvic" machin: panoamix; pocss: 17). Έτσι πρώτα ρωτάται ο nam sv και µετά επικοινωνεί ο πελάτης µε την κατάλληλη διεργασία. Ηβασική ερώτηση είναι: όταν εκτελείται η εντολή snd() ή civ(), πότε θα εκτελεστεί η επόµενη εντολή της διεργασίας; (ή πότε θα επιστραφεί ο έλεγχος εκτέλεσης στη διεργασία χρήστη) Οι απόψεις για το πότε µια διεπαφή επικοινωνίας είναι blocking ή non-blocking διίστανται. E-03: Λειτουργικά Συστήµατα ΙΙ 25 E-03: Λειτουργικά Συστήµατα ΙΙ 26 snd(): Τρεις περιπτώσεις 1. Ο αποστολέας-διεργασία µπλοκάρει έως ότου το µήνυµα αποθηκευτεί σε έναν buff του πυρήνα και τότε ο πυρήνας επιστρέφει τον έλεγχο εκτέλεσης στον αποστολέα, ο οποίος συνεχίζει να εκτελεί εντολές παράλληλα µε την αποστολή του µηνύµατος. 2. Ο αποστολέας-διεργασία µπλοκάρει µόνο µέχρις ότου ο πυρήνας πάρει τις βασικές πληροφορίες (π.χ. σηµειώσει που είναι το µήνυµα, που πάει,...). Έτσι επιτυγχάνει ακόµα µεγαλύτερο παραλληλισµό. 3. Ο αποστολέας-διεργασία µπλοκάρει έως ότου ο αποδέκτηςπυρήνας να λάβει το µήνυµα και να στείλει τη σχετική επιβεβαίωση. Όλοι συµφωνούν ότι το 2 είναι non-blocking και ότι το 3 είναι blocking. Οι διαφωνίες αφορούν στο 1. Ο Tannbaum θεωρεί πως ουσιαστικό το 1 είναι "blocking". Ο λόγος είναι ότι ο αποστολέας του µπορεί µε ασφάλεια να ξαναχρησιµοποιήσει τον buff µιας και έχει αντιγραφθεί στον πυρήνα. Αντιθέτως, το 2 θεωρείται non-blocking γιατί ο αποστολέας δεν µπορεί να ξέρει πότε µπορεί µε ασφάλεια να ξαναχρησιµοποιήσει τον buff του. Πάντως, πρέπει ν' αναφερθεί ότι η επιλογή 1 είναι επικίνδυνη: σκεφτείτε τι θα γίνει αν πολλές διεργασίες στέλνουν µηνύµατα συνέχεια και πριν σταλούν τα προηγούµενά τους. Πολλές φορές προκύπτουν αδιέξοδα που είναι πολύ δύσκολο να λυθούν. E-03: Λειτουργικά Συστήµατα ΙΙ 27 E-03: Λειτουργικά Συστήµατα ΙΙ 28 civ() Blocking: η διεργασία που καλεί civ() αναστέλλεται µέχρι να φθάσει ένα µήνυµα (δηλ. να τοποθετηθεί στο buff που όρισε) Non-blocking: Αν δεν υπάρχει κάποιο µήνυµα για τη διεργασία που καλεί civ(), τότε η διεργασία δεν αναστέλλεται, αλλά συνεχίζει την εκτέλεση του προγράµµατός της και ειδοποιείται ασύγχρονα (π.χ. µε σήµα) όταν ένα µήνυµα καταφθάσει. Tad-offs: Παραλληλισµός: µπορώ να στέλνω / λαµβάνω µηνύµατα και παράλληλα να κάνω άλλα πράγµατα. Ευκολία προγραµµατισµού: ασύγχρονη συµπεριφορά είναι δύσκολο να προγραµµατιστεί σωστά. Απαιτήσεις για ενδιάµεσους αποθηκευτικούς χώρους Non-blocking: δύσκολα προγράµµατα, αλλά µε παραλληλισµό. Blocking: ευκολότερος προγραµµατισµός. Non-blocking µε knl buff: αρκετός παραλληλισµός αλλά προβλήµατα µε χώρους (dadlock & κόστος αντιγραφής). Συνήθως προτιµούνται blocking systm calls E-03: Λειτουργικά Συστήµατα ΙΙ 29 E-03: Λειτουργικά Συστήµατα ΙΙ 30 5

Αποθηκευόµενη και µη Επικοινωνία Θεωρείστε την κλήση συστήµατος: civ(add, &msg). ίνει την εντολή στον πυρήνα να τοποθετήσει ένα (επόµενο) µήνυµα, που απευθύνεται στο add, στο buff που ορίζει η δεύτερη παράµετρος. Μη αποθηκευόµενη επικοινωνία: ο παραλήπτης πρέπει να καλέσει civ προτού ένας αποστολέας να µπορεί να καλέσει snd (unbuffd systm calls). Τι κάνει ο πυρήνας στο µηχάνηµα του αποδέκτη όταν λάβει ένα µήνυµα µε αποδέκτη-προορισµό add, πριν ο αποδέκτης-διεργασία έχει εκτελέσει την εντολή civ(add, &msg); Τι θα γίνει αν πολλές διεργασίες στέλνουν µηνύµατααιτήσεις που απαιτούν πολύ χρόνο για εξυπηρέτηση; Αποθηκευόµενη και µη Επικοινωνία Buffd Systm Calls χρησιµοποιούνται για να λύσουν αυτά τα προβλήµατα. Οι διεργασίες που πρόκειται να λάβουν µηνύµατα ζητούν από τον πυρήνα να δηµιουργήσει ένα mailbox το οποίο σχετίζουν µε µια διεύθυνση. Όλα τα µηνύµατα που λαµβάνονται από τον πυρήνα µε αυτή τη διεύθυνση τοποθετούνται στο κατάλληλο mailbox. Κάθε civ(add, &msg) αφαιρεί ένα µήνυµα από το mailbox και το βάζει στο &msg. (Αν το mailbox είναι άδειο, τότε µπορεί να µπλοκάρει). Πρόβληµα: Τι γίνεται αν γεµίσουν τα mailboxs; Έτσι στην ουσία τα προβλήµατα µε τα unbuffd systm calls παραµένουν και στα buffd systm calls. Μία λύση: Αν το mailbox είναι γεµάτο, ο αποστολέας µπλοκάρει µέχρι να ληφθεί κάποιο µήνυµα από τον αποδέκτη E-03: Λειτουργικά Συστήµατα ΙΙ 31 E-03: Λειτουργικά Συστήµατα ΙΙ 32 Αποθηκευόµενη και µη Επικοινωνία Αξιόπιστη και µη Επικοινωνία Μη αποθηκευόµενη επικοινωνία Ο παραλήπτης πρέπει να καλέσει civ προτού ένας πελάτης να µπορεί να καλέσει snd Αποθηκευόµενη επικοινωνία Ο αποστολέας στέλνει σε ένα mailbox Ο παραλήπτης λαµβάνει από ένα mailbox us us sv sv Πως µπορεί ο αποστολέας να είναι σίγουρος ότι το µήνυµα του έχει ληφθεί; Σε µερικές εφαρµογές αναξιόπιστες κλήσεις συστήµατος είναι αποδεκτές. ιαφορετικά οι λύσεις χρησιµοποιούν επιβεβαιώσεις (ACKs) που είναι ειδικά µηνύµατα που ειδοποιούν ότι µια αίτηση ή µια απόκριση έχει ληφθεί. Οι επιβεβαιώσεις στέλνονται από τους πυρήνες και όχι από τις διεργασίες των χρηστών E-03: Λειτουργικά Συστήµατα ΙΙ 33 E-03: Λειτουργικά Συστήµατα ΙΙ 34 Αξιόπιστη και µη Επικοινωνία Αρχιτεκτονική Εξυπηρετητή Αναξιόπιστο κανάλι Απαίτηση επιβεβαιώσεων (ACKs) Οι εφαρµογές χειρίζονται τις επιβεβαιώσεις ACKs Επιβεβαιώσεις για αίτηση και απόκριση Αξιόπιστο κανάλι Η απόκριση λειτουργεί ως ACK για την αίτηση Αξιόπιστη επικοινωνία σε αναξιόπιστα κανάλια Το πρωτόκολλο µεταφοράς χειρίζεται τα χαµένα µηνύµατα s U s U qust ACK ply ACK qust ply v S v S Ακολουθιακή Εξυπηρέτησε µία αίτηση κάθε φορά Μπορεί να εξυπηρετήσει πολλαπλές αιτήσεις χρησιµοποιώντας γεγονότα ή ασύγχρονη επικοινωνία Παράλληλη Ο εξυπηρετητής δηµιουργεί µια διεργασία / νήµα για να χειριστεί κάθε αίτηση Μπορεί να έχει δηµιουργήσει εξαρχής µια οµάδα νηµάτων / διεργασιών (apach) Εποµένως οι εξυπηρετητές µπορεί να είναι Καθαρά ακολουθιακοί, βασισµένοι σε γεγονότα, πολυνηµατικοί, πολυδιεργασιακοί Ποια αρχιτεκτονική είναι πιο αποδοτική; E-03: Λειτουργικά Συστήµατα ΙΙ 35 E-03: Λειτουργικά Συστήµατα ΙΙ 36 6

Κλιµακωσιµότητα Πως µπορεί να κλιµακωθεί η χωρητικότητα ενός εξυπηρετητή; Χρήση ισχυρότερου υπολογιστικού συστήµατος ηµιουργία αντιγράφων Κατανοµή δεδοµένων και / ή αλγορίθµων Μεταφορά κώδικα αντί δεδοµένων Κρυφή µνήµη E-03: Λειτουργικά Συστήµατα ΙΙ 37 7