1 / 30

Θεωρία Λειτουργικών Συστημάτων Κατανεμημένα Συστήματα

Θεωρία Λειτουργικών Συστημάτων Κατανεμημένα Συστήματα. Κώστας Διαμαντάρας Τμήμα Πληροφορικής ΤΕΙ Θεσσαλονίκης 2011. Στοιχεία επικοινωνίας. Καθηγητής: Κώστας Διαμαντάρας Τηλ. 2310 013592 Email: kdiamant@it.teithe.gr Ανακοινώσεις, ύλη, διαφάνειες : http://www.it.teithe.gr/~kdiamant/

mickey
Download Presentation

Θεωρία Λειτουργικών Συστημάτων Κατανεμημένα Συστήματα

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Θεωρία Λειτουργικών Συστημάτων Κατανεμημένα Συστήματα Κώστας Διαμαντάρας Τμήμα Πληροφορικής ΤΕΙ Θεσσαλονίκης 2011

  2. Στοιχεία επικοινωνίας Καθηγητής: • Κώστας Διαμαντάρας • Τηλ. 2310 013592 • Email: kdiamant@it.teithe.gr • Ανακοινώσεις, ύλη, διαφάνειες : http://www.it.teithe.gr/~kdiamant/ Βιβλιογραφία: • W. Stallings, Λειτουργικά Συστήματα – Αρχές Σχεδίασης, 6ηέκδ., Τζιόλας, 2009 • G. Coulouris, J. Dollimore, T. Kindberg, Distributed Systems Concept and Design, 4th ed. Addison Wesley, 2005. Βαθμολόγηση • 10% στον τελικό βαθμό Κ. Διαμαντάρας

  3. Περιεχόμενα • Εισαγωγή στα Κατανεμημένα Συστήματα • Υποστήριξη από το Λειτουργικό Σύστημα – το ενδιάμεσο στρώμα (middleware) • Επικοινωνία μεταξύ διεργασιών • Απομακρυσμένες κλήσεις (Remote Procedure Calls - RPC) • Αντικειμενοστραφής προσέγγιση • CORBA • JAVA Remote Method Invocation (RMI) • Web υπηρεσίες • Clusters (συστάδες υπολογιστών) • Εφαρμογή: Δημιουργία εφαρμογήςgoogle apps Κ. Διαμαντάρας

  4. Εισαγωγή Κ. Διαμαντάρας

  5. Κατανεμημένα Συστήματα • Ορισμός: κατανεμημένο λέγεται ένα σύστημα του οποίου τα συστατικά υλικό (hardware) και λογισμικό (software)βρίσκονται διασκορπισμένα σε διάφορους υπολογιστές που επικοινωνούν μέσω δικτύου • Κίνητρο ο διαμοιρασμός πόρων (resources) όπως • εφαρμογές, • δεδομένα, • επεξεργαστική ισχύς, • αποθηκευτικός χώρος, κλπ • Σήμερα υπάρχει αυξανόμενη τάση για Κατανεμημένη Επεξεργασία Δεδομένων Κ. Διαμαντάρας

  6. Κατανεμημένη επεξεργασία • Πολλοί υπολογιστικοί κόμβοι συνεργάζονται χαλαρά (loosely coupled nodes) • Πρώτος στόχος = κατανομή υπηρεσιών, εφαρμογών, επεξεργαστικής ισχύος, ή δεδομένων • Δεύτερος στόχος = Ταχύτητα, επιδόσεις • Συνήθως αραιή επικοινωνία (όχι όμως απαραίτητα) • Οι κόμβοι του κατανεμημένου συστήματος μπορεί να είναι ετερόκλητοι (πχ. Intel x86, Linux, MAC, κλπ) Συνεπώς απαιτείται Τυποποιημένο δίκτυογια την επικοινωνία μεταξύ τους. Πχ. Ethernet, TCP/IP. • Το δίκτυο δεν έχει σαφή γεωμετρική δομή, πχ. οι κόμβοι προστίθενται στο δίκτυο με βάση τη θέση τους (πχ. Θεσ/νίκη, Αθήνα, Λαμία, Κρήτη) Παράδειγμα: • Πρόβλημα: Διαχείριση Αυτόματων Ταμειακών Μηχανών (ΑΤΜ) μιας τράπεζας που καλύπτει όλη την Ελλάδα • Απαιτήσεις: Να μπορεί ο πελάτης να αναλαμβάνει και να καταθέτει χρήματα σε οποιοδήποτε υποκατάστημα χωρίς να έχει εκεί λογαριασμό Κ. Διαμαντάρας

  7. Κατανεμημένη επεξεργασία: Πλεονεκτήματα - μειονεκτήματα Κ. Διαμαντάρας

  8. Προκλήσεις της κατανεμημένης επεξεργασίας • Υποστήριξη Ετερογένειας (Heterogeneity) • ΑνοιχτόΛογισμικό (Openness) • Ασφάλεια (Security) • Επεκτασιμότητα (Scalability) • Χειρισμός σφαλμάτων (Failure handling) • Συγχρονισμένη λειτουργία (Concurrency) • Διαφάνεια (Transparency) Κ. Διαμαντάρας

  9. Παραδείγματα Κατανεμημένων Συστημάτων: Το διαδίκτυο (internet) intranet • Ένα τύπικό τμήμα του internet: intranet intranet intranet Δίκτυο κορμού (backbone) Πάροχος intranet = εξυπηρετητής (server) = πελάτες (clients) = σύνδεση δικτύου Κ. Διαμαντάρας

  10. Το διαδίκτυο (internet) • Διαδίκτυο : Τεράστια συλλογή διασυνδεδεμένων δικτύων υπολογιστών διαφόρων τύπων. Οι υπολογιστές στα διάφορα υπο-δίκτυα που επικοινωνούν μεταξύ τους χρησιμοποιούν το πρωτόκολλο επικοινωνίας του διαδικτύου γνωστό ωςInternet Protocol (IP). • Το διαδίκτυο είναι ένα τεράστιο κατανεμημέννο σύστημα καθώς οι χρήστες του, όπου και αν βρίσκονται, μπορούν να χρησιμοποιούν υπηρεσίες που παρέχονται από απομακρυσμένους εξυπηρετητές, όπωςπρόσβαση σε ιστοσελίδες του παγκόσμιου ιστού (World Wide Web), email, μεταφορά αρχείων (ftp), πρόσβαση σε βάσεις δεδομένων,κλπ. • Intranets: υποδίκτυα που τα έχουν προμηθευτεί και τα διαχειρίζονται μεγάλες εταιρίες ή ακαδημαϊκά ιδρύματα πρός εξυπηρέτηση των υπαλλήλων τους ή των καθηγητών/φοιτητών τους (πχ. Το εσωτερικό δίκτυο του ΤΕΙΘ) Κ. Διαμαντάρας

  11. Εσωτερικό δίκτυο (intranet) • Ένα τυπικό εσωτερικό δίκτυο μιας εταιρείας, ενός οργανισμού, ενός Ακαδημαϊκού Ιδρύματος, κλπ Print server Print server File server Δίκτυο τοπικής περιοχής Web server Δίκτυο τοπικής περιοχής Email server Email server Δίκτυο τοπικής περιοχής File server File server Router Internet Κ. Διαμαντάρας

  12. Άλλα συστατικά του διαδικτύου • Πάροχοι διαδικτυκακών υπηρεσιών (Internet Service Providers – ISP) : εταιρείεςή οργανισμοί που παρέχουν στους πελάτες τους πρόσβαση στο διαδίκτυο από το σπίτι τους. Ορισμένοι μικροί οργανισμοί ή εταιρείες συνδέουν το εσωτερικό τους δίκτυο (intranet) στο διαδίκτυο μέσω ISP. • Δίκτυο κορμού (backbone) : ο κεντρικός κορμός του διαδικτύου με ζεύξεις πολύ υψηλών ταχυτήτων (πχ. οπτικές ίνες).Ο κεντρικοί άξονες του διαδικτύου συνδέουν στρατηγικά τοποθετημένους κόμβους με δρομολογητες πολύ υψηλών ταχυτήτων σε διάφορα μέρη του κόσμου. Οι κόμβοι αυτοί λέγονται internet exchange points. Κ. Διαμαντάρας

  13. Ορισμοί • Πελάτης(client): Υπολογιστής / σταθμός εργασίας που αιτείται και χρησιμοποιεί υπηρεσίες, δεδομένα ή εφαρμογές από κάποιον εξυπηρετητή (μοιάζει με τον πελάτη σε μια τράπεζα) • Εξυπηρετητής (server): Ισχυρός υπολογιστής που συγκεντρώνει υπηρεσίες, εφαρμογές ή δεδομένα και τα προσφέρει στους πελάτες αφού τα αιτηθούν (μοιάζει με τον ταμία ή κάποιο υπάλληλο μιας τράπεζας που μπορεί να εξυπηρετεί πολλούς πελάτες) • Διασύνδεση προγραμμάτων εφαρμογών (Application Programming interface – API): σύνολο συναρτήσεων και προγραμμάτων που επιτρέπουν την επικοινωνία μεταξύ πελατών – εξυπηρετητών • Ενδιάμεσο λογισμικό (Middleware): ένα στρώμα λογισμικού πάνω από το λειτουργικό σύστημα που κρύβει τα ετερογενή χαρακτηριστικά των υπολογιστών που αποτελούν ένα κατανεμημένο σύστημα προσφέροντας μια «αφηρημένη μηχανή» ώστε οι προγραμματιστές να αναπτύσσουν εφαρμογές στο σύστημα. Κ. Διαμαντάρας

  14. Υποστήριξη από το Λειτουργικό Σύστημα • Λειτουργικό Σύστημα Δικτύων (Networked Operating System). Εφαρμόζει τη λογική πελάτη – εξυπηρετητή (client – server): υπάρχουν πολλές μηχανές-πελάτες(clients) που βρίσκονται σε δίκτυο και τρέχουν εφαρμογές χρησιμοποιώντας υπηρεσίες που προσφέρονται από άλλες μηχανές-εξυπηρετητές (servers). Κάθε πελάτης και εξυπηρετητής έχει το δικό του αυτόνομο λειτουργικό σύστημα. Το λειτουργικό σύστημα υποστηρίζει την πλατφόρμα επικοινωνίας μεταξύ πελατών-εξυπηρετητών η οποία αποτελεί συμπλήρωμα του λειτουργικού. • Κατανεμημένο Λειτουργικό Σύστημα (Distributed Operating System). Το λειτουργικό σύστημα είναι διαμοιραζόμενο σε μια ομάδα υπολογιστών που συνδέονται σε δίκτυο.Στον χρήστη εμφανίζεται σαν ένα κλασικό κεντρικοποιημένο ΛΣ πλήν όμως παρέχει διαφανή πρόσβαση σε πόρους διαφόρων μηχανημάτων Κ. Διαμαντάρας

  15. Λειτουργικά συστήματα δικτύου • Τα διαδεδομένα λειτουργικά συστήματα UNIX, Windows, MacOSανήκουν στην κατηγορία των Λειτουργικών Συστημάτων Δικτύων • Δεν υπάρχουν ευρέως διαδεδομένα κατανεμημένα λειτουργικά συστήματα. Βασικότερες αιτίες: • Οι χρήστες έχουν επενδύσει σε προγράμματα που τρέχουν σε συγκεκριμένα ΛΣ και δεν είναι διατεθειμένοι να υιοθετήσουν καινούργια (κατανεμημένα) Λειτουργικά Συστήματα εκτός και αν τα πλεονεκτήματα είναι εξαιρετικά σημαντικά και οι απαιτήσεις των εφαρμογών δεν καλύπτονται από τις δικτυακές υπηρεσίες των ΛΣ Δικτύων (πράγμα που δεν ισχύει τελικά) • Οι χρήστες επιθυμούν κάποιο βαθμό αυτονομίας του υπολογιστή τους. Αυτονόητο για προσωπικούς υπολογιστές. Ακόμη και σε μια εταιρεία οι υπάλληλοι δεν επιθυμούν οι επιδόσεις των υπολογιστών τους να επηρεάζονται από την χρήση που κάνουν οι άλλοι στο σύστημα. Κ. Διαμαντάρας

  16. Στρώματα λογισμικού κατανεμημένων συστημάτων (1) • Το αρχιτεκτονικό μοντέλο λογισμικού για κατανεμημένα συστήματα αποτελείται από στρώματα με αυξανόμενα επίπεδα αφαίρεσης, δηλαδή ανεξαρτησίας από το συγκεκριμένο υλικό (hardware) όπου εκτελείται τελικά η εφαρμογή. Ανώτατο στρώμα: Εφαρμογή (πχ. υπηρεσία Email). Καμία εξάρτηση από την πλατφόρμα Εφαρμογές ή υπηρεσίες Ενδιάμεσο λογισμικό (middleware) Ενδιάμεσο στρώμα: Προσφέρει API για ανάπτυξη εφαρμογών. Εξαρτάται από την πλατφόρμα Λειτουργικό Σύστημα Πλατφόρμα Κατώτερο στρώμα: Το λειτουργικό σύστημα είναι μέρος της πλατφόρμας Υλικό υπολογιστή και δικτύου (hardware) Κ. Διαμαντάρας

  17. Στρώματα λογισμικού κατανεμημένων συστημάτων (2) Κ. Διαμαντάρας

  18. Το ενδιάμεσο λογισμικό (middleware) • Middleware: Ένα ομοιογενές στρώμα λογισμικού που βρίσκεται πάνω από το λειτουργικό σύστημα. Το ενδιάμεσο λογισμικό χαρακτηρίζεται από αντικείμενα (objects) και διαδικασίες(processes) που επικοινωνούν μεταξύ τους ώστε να υποστηρίζεται η επικοινωνία και ο διαμοιρασμός πόρων μεταξύ κατανεμημένων εφαρμογών κρύβοντας τις λεπτομέρειες του ΛΣ. • Χαρακτηριστικά παραδείγματα Middleware: • Remote Procedure Calls (RPC) • CORBA (Common Object Request Broker Architecture) από το OMG (Open Management Group) • Java RMI (remote method invocation) • Οι υπηρεσίες του web • Distributed Component Object Model (DCOM) της Microsoft • κλπ Κ. Διαμαντάρας

  19. Το στρώμα του ενδιάμεσου λογισμικού Στρώματα Middleware Κ. Διαμαντάρας

  20. Εφαρμογές πελάτη - εξυπηρετητή • Χαρακτηριστικά: • ΛΣ πελάτη διαφορετικό από ΛΣ εξυπηρετητή • ΛΣ πελατών πιθανώς διαφέρουν μεταξύ τους • Απαραίτητη επικοινωνία πελάτη εξυπηρετητή μέσω τυποποιημένου πρωτοκόλλου (πχ TCP/IP) Κ. Διαμαντάρας

  21. Εφαρμογές πελάτη - εξυπηρετητή Αίτημα Απόκριση Πρωτόκολλο δικτύου Πλατφόρμα πελάτη Πλατφόρμα εξυπηρετητή Κ. Διαμαντάρας

  22. Παράδειγμα: Web Αίτημα http Αίτημα http Λήψη σελίδας html Απόκριση = σελίδα html • Πελάτης: • Εφαρμογή: Mozilla Firefox (Web browser) • Ο Firefox στέλνει αίτημα προσκόμισης της ιστοσελίδας • http://195.251.123.246/ • Ο Firefox λαμβάνει το αρχείο html, το επεξεργάζεται και το δείχνει την οθόνη. • Εξυπηρετητής: • Εφαρμογή: Apache (http server) • Λαμβάνει το αίτημα http • Απαντάει προσκομίζονταςμια σελίδα (αρχείο) html Κ. Διαμαντάρας

  23. Παράδειγμα: Web • Ο πελάτης μπορεί να διαθέτει οποιοδήποτε λειτουργικό απλού σταθμού εργασίας (πχ,Windows, Linux, MacOS, κλπ) • Ο εξυπηρετητής μπορεί επίσης να διαθέτει οποιοδήποτε λειτουργικό εξυπηρετητή (πχ, Windows Server, UNIX, Mac OS X Server, κλπ) • Το ενδιάμεσο λογισμικό που υλοποιεί το πρωτόκολλο ανταλλαγής αρχείων hyper-text (hyper-text transfer protocol – http) κάνει το ΛΣ διαφανές τόσο για τον πελάτη όσο και για τον εξυπηρετητή: ούτε ο πελάτης χρειάζεται να γνωρίζει το ΛΣ του εξυπηρετητή ούτε ο εξυπηρετητής χρειάζεται να γνωρίζει το ΛΣ του πελάτη. Οποιοσδήποτε συνδυασμός των ΛΣ πελάτη / εξυπηρετητή δουλεύει καθώς η επικοινωνία βασίζεται στο ενδιάμεσο στρώμα που είναι κοινό. Κ. Διαμαντάρας

  24. Παράδειγμα: Η υπηρεσία Domain Name (DNS) Αίτημα DNS Αίτημα DNS Λήψη IP address Απόκριση = IP address • Πελάτης: • Εφαρμογή: nslookup (DOS) • Το nslookupστέλνει αίτημα διαλεύκανσης του ονόματος • nslookup www.it.teithe.gr • Το nslookup λαμβάνει το IP address και το τυπώνει στην οθόνη. • Εξυπηρετητής: • Εφαρμογή: BIND (DN Server για Unix) • Λαμβάνει το αίτημα διαλεύκανσης ονόματος • Απαντάει προσκομίζονταςτο IP address = 195.251.123.246 Κ. Διαμαντάρας

  25. Παράδειγμα: Βάσεις Δεδομένων • Από τις πλέον συνηθισμένες οικογένεια εφαρμογών πελάτη – εξυπηρετητή. Ο πελάτης στέλνει ερωτήματα(queries) σε μια (σχεσιακή) βάση δεδομένων (ΒΔ) που βρίσκεται στον εξυπηρετητή. Ο εξυπηρετητής εκτελεί ταερωτήματα και επιστρέφει την απάντηση με την μορφή γραμμών σε ένα πίνακα. Πελάτης Εξυπηρετητής Αίτημα Λογική ΒΔ Απόκριση Λογ. Επικοιν. DBMS Πρωτόκολλο δικτύου • Πλατφόρμα (υλικό + ΛΣ) Κ. Διαμαντάρας

  26. Τύποι εφαρμογών πελάτη/εξυπηρετητή • Επεξεργασία βασισμένη στον πελάτη (client-based) Πελάτης Εξυπηρετητής Κ. Διαμαντάρας

  27. Τύποι εφαρμογών πελάτη/εξυπηρετητή • Επεξεργασία βασισμένη στον εξυπηρετητή (server-based) • Ο πελάτης είναι επιφορτισμένος με την διεπαφή του χρήστη, συνήθως ένα γραφικό περιβάλλον με παράθυρα γνωστό ως graphical user interface (GUI) • Όλη η επεξεργασία γίνεται στο περιβάλλον του εξυπηρετητή Πελάτης Εξυπηρετητής Κ. Διαμαντάρας

  28. Παράδειγμα: Επεξεργασία βασισμένη στον πελάτη Υπηρεσία SMTP • E-mail client Αίτημα Αποστολής μηνύματος Αίτημα Αποστολής / Λήψης μηνυμ. Αίτημα Λήψης μηνύματος Υπηρεσία POP/IMAP Λήψη μηνυμάτων Απόκριση = μηνύματα • Πελάτης: • Εφαρμογή: Mozilla Thunderbird (email client) • Τα μηνύματα φυλάσσονται στον δίσκο του πελάτη. • Η επεξεργασία των μηνυμάτων γίνεται στον πελάτη • Εξυπηρετητής: • Εφαρμογή:Microsoft Exchange Server • Υπηρεσίες : SMTP για αποστολή και POP3/IMAP για λήψη μηνυμάτων Κ. Διαμαντάρας

  29. Παράδειγμα: Επεξεργασία βασισμένη στον εξυπηρετητή (1) • Web mail Αίτημα http Αίτημα http Λήψη html σελίδας Εκτέλεση. Απόκριση html • Πελάτης: • Εφαρμογή: Google Chrome (web browser) • Αποστολή (με χρήση http) αιτήματος αποστολής, λήψης ή επεξεργασίας μηνυματων • http://webmail.teithe.gr • Ο Chrome λαμβάνει την σελίδα και την εμφανίζει στην οθόνη • Εξυπηρετητής (Google): • Εφαρμογή: Horde (open source webmail server) • Λαμβάνει το αίτημα • Εκτελεί την αιτούμενη λειτουργία • Αποκρίνεται προσκομίζονταςμια html σελίδα με την απάντηση στο αίτημα Κ. Διαμαντάρας

  30. Παράδειγμα: Επεξεργασία βασισμένη στον εξυπηρετητή (2) • Google search Ερώτημα search Ερώτημα search Λήψη html σελίδας Απόκριση = html σελίδα • Πελάτης: • Εφαρμογή: Internet Explorer (web browser) • Αποστολή (με χρήση http) ερωτήματος search • www.google.com • Ο IE λαμβάνει την σελίδα και την εμφανίζει στην οθόνη • Εξυπηρετητής (Google): • Εφαρμογή: Ιδιωτική της google(όχι γνωστές λεπτομέρειες) • Λαμβάνει το ερώτημα search • Αποκρίνεται προσκομίζονταςμια html σελίδα με την απάντηση στο ερώτημα Κ. Διαμαντάρας

More Related