Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

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

Παρόμοιες παρουσιάσεις


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

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

2 Στοιχεία επικοινωνίας Θεωρία Λειτουργικών Συστημάτων Κ. Διαμαντάρας 2 Καθηγητής:  Κώστας Διαμαντάρας  Τηλ   Ανακοινώσεις, ύλη, διαφάνειες : Βιβλιογραφία: 1. W. Stallings, Λειτουργικά Συστήματα – Αρχές Σχεδίασης, 6 η έκδ., Τζιόλας, G. Coulouris, J. Dollimore, T. Kindberg, Distributed Systems Concept and Design, 4 th ed. Addison Wesley, Βαθμολόγηση  10% στον τελικό βαθμό

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

4 Εισαγωγή Θεωρία Λειτουργικών Συστημάτων Κ. Διαμαντάρας 4

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

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

7 Κατανεμημένη επεξεργασία: Πλεονεκτήματα - μειονεκτήματα Θεωρία Λειτουργικών Συστημάτων Κ. Διαμαντάρας 7 ΠλεονεκτήματαΜειονεκτήματα • Αυξημένη ευελιξία • Τοπική αυτονομία • Αυξημένη αξιοπιστία • Αυξημένη διαθεσιμότητα • Αυξημένη επίδοση • Περισσότερα επίπεδα ασφαλείας • Δυσκολότερη διαχείριση • Δυσκολότερη ασφάλεια • Τεχνικό προσωπικό με γνώσεις ολοκλήρωσης συστημάτων

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

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

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

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

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

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

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

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

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

17 Στρώματα λογισμικού κατανεμημένων συστημάτων (2) Θεωρία Λειτουργικών Συστημάτων Κ. Διαμαντάρας 17 ΕφαρμογέςApplication Program Interface (API) Ενδιάμεσο Λογισμικό Interface με την πλατφόρμα ΛΣ 1 (διεργασίες, νήματα, επικοινωνία, κλπ) Υλικό 1 (υπολογιστής και δίκτυο) Κόμβος ΛΣ Ν (διεργασίες, νήματα, επικοινωνία, κλπ) Υλικό Ν (υπολογιστής και δίκτυο) Κόμβος Ν

18 Το ενδιάμεσο λογισμικό (middleware) Θεωρία Λειτουργικών Συστημάτων Κ. Διαμαντάρας 18  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 Το στρώμα του ενδιάμεσου λογισμικού Θεωρία Λειτουργικών Συστημάτων Κ. Διαμαντάρας 19 Λειτουργικό Σύστημα Πρωτόκολλο αίτησης/απάντησης Εξωτερική αναπαράσταση δεδομένων RMI, RPC, events Εφαρμογές Στρώματα Middleware

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

21 Εφαρμογές πελάτη - εξυπηρετητή Θεωρία Λειτουργικών Συστημάτων Κ. Διαμαντάρας 21 Πελάτης Υπηρεσίες Παρουσίασης (πχ GUI) Λογισμικό εφαρμογής πελάτη Λογισμικό ΕπικοινωνιώνΛΣ πελάτηΥλικό Εξυπηρετητής Λογισμικό εφαρμογής εξυπηρετητή Λογισμικό ΕπικοινωνιώνΛΣ εξυπηρετητήΥλικό Αίτημα Απόκριση Πλατφόρμα πελάτη Πλατφόρμα εξυπηρετητή Πρωτόκολλο δικτύου

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

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

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

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

26 Τύποι εφαρμογών πελάτη/εξυπηρετητή Θεωρία Λειτουργικών Συστημάτων Κ. Διαμαντάρας 26  Επεξεργασία βασισμένη στον πελάτη (client-based) Λογισμικό παρουσίασης (GUI)Λογισμικό ΕφαρμογήςΕρωτήσεις στη ΒΔ DBMS ΠελάτηςΕξυπηρετητής

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

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

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

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


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

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google