Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
1
Κατανεμημένα Συστήματα
Κατανεμημένα Συστήματα Εισαγωγή Μπίμπας Αθανάσιος Τ.Ε.Ι. Ιονίων Νήσων 01/11/2016
2
Ιστορική αναδρομή(α) Μέχρι τα μέσα της δεκαετίας του '80, οι υπολογιστές χαρακτηρίζονταν από μεγάλο μέγεθος και υψηλό κόστος. Το γεγονός αυτό είχε ως αποτέλεσμα, οι περισσότεροι οργανισμοί να επένδυαν στην προμήθεια μικρού αριθμού υπολογιστών που λειτουργούσαν συνήθως ανεξάρτητα, λόγω της ανυπαρξίας τρόπου διασύνδεσης μεταξύ τους. Αργότερα, δύο τεχνολογικά επιτεύγματα άρχισαν να διαφοροποιούν αυτήν την κατάσταση: η ανάπτυξη ισχυρών μικροεπεξεργαστών (microprocessors) η δημιουργία τοπικών δικτύων υψηλών ταχυτήτων (highspeed Local Area Networks)
3
Ιστορική αναδρομή(β) Το τελικό αποτέλεσμα των δύο αυτών επιτευγμάτων, είναι η δυνατότητα να λειτουργήσουν μαζί υπολογιστικά συστήματα που αποτελούνται από μεγάλο αριθμό CPU συνδεόμενων μέσω δικτύων υψηλών ταχυτήτων Τα συστήματα αυτά αποκαλούνται συνήθως κατανεμημένα συστήματα (distributed systems) Τα προηγούμενα παραδοσιακά συστήματα καλούνται κεντρικοποιημένα συστήματα (centralized systems) αποτελούμενα από μία μοναδική CPU, την κεντρική μνήμη, τα περιφερειακά και τα τερματικά
4
Κατανεμημένα συστήματα(ορισμοί)(α)
Με τον όρο κατανεμημένο σύστημα αναφερόμαστε σε όλους τους τομείς ενός πληροφοριακού συστήματος. Έχουμε κατανεμημένη πληροφορία, κατανεμημένους πόρους, κατανεμημένη υπολογιστική ισχύ, καθώς και κατανεμημένες υπηρεσίες που επικοινωνούν μεταξύ τους προκειμένου να επιτύχουν έναν κοινό σκοπό Κατανεμημένο λέγεται ένα σύστημα του οποίου τα συστατικά υλικό (hardware) και λογισμικό (software) βρίσκονται διασκορπισμένα σε διάφορους υπολογιστές που επικοινωνούν μέσω δικτύου
5
Πλεονεκτήματα Κατανεμημένων έναντι Κεντρικοποιημένων Συστημάτων(α)
Οικονομία Οι μικροεπεξεργαστές σε ένα κατανεμημένο σύστημα παρέχουν καλύτερο λόγο κόστους/απόδοσης (price/performance ratio) από τα κεντρικοποιημένα υπολογιστικά συστήματα, δηλαδή καλύτερη αξιοποίηση της πραγματοποιθείσας επένδυσης Μία συλλογή από μικροεπεξεργαστές είναι δυνατό να εμφανίσει απόλυτη τιμή απόδοσης, την οποία δεν είναι δυνατό να επιτύχει καν ένα κεντρικοποιημένο υπολογιστικό σύστημα Ταχύτητα Ένα κατανεμημένο σύστημα μπορεί να έχει συνολικά μεγαλύτερη υπολογιστική ισχύ από ένα Κεντρικοποιημένο υπολογιστικό σύστημα
6
Πλεονεκτήματα Κατανεμημένων έναντι Κεντρικοποιημένων Συστημάτων(β)
Έμφυτη κατανομή Μερικές εφαρμογές έχουν, εν δυνάμει, χαρακτήρα κατανεμημένο Αξιοπιστία Αν μία μηχανή καταρρεύσει, το σύστημα συνεχίζει να λειτουργεί με μειωμένη απόδοση Διαδοχική ανάπτυξη Μπορεί να προστεθεί υπολογιστική ισχύς στο σύστημα μέσω σταδιακών διαδοχικών επεκτάσεων και αναβαθμίσεων
7
Μειονεκτήματα Κατανεμημένων Συστημάτων
Λογισμικό Δεν υπάρχει ακόμη σημαντική εμπειρία στη σχεδίαση, υλοποίηση αλλά και χρήση του απαιτούμενου λογισμικού (systems & application software) για αποδοτική λειτουργία κατανεμημένων συστημάτων Δικτύωση Υπάρχει το ενδεχόμενο κορεσμού του δικτύου, ενώ πρέπει να επιλυθεί το πρόβλημα της αξιοπιστίας του Ασφάλεια Υπάρχει ιδιαίτερος κίνδυνος πρόσβασης στο δίκτυο και προσπέλασης σε δεδομένα, από μη εξουσιοδοτημένους χρήστες
8
Κατανεμημένα Συστήματα(Κίνητρο)(β)
Κίνητρο ο διαμοιρασμός πόρων (resources) όπως εφαρμογές, δεδομένα, επεξεργαστική ισχύς, αποθηκευτικός χώρος, κλπ Σήμερα υπάρχει αυξανόμενη τάση για Κατανεμημένη Επεξεργασία Δεδομένων
9
Το Μοντέλο που επικράτησε
Το μοντέλο που επικράτησε ήταν το μοντέλο πελάτη/εξυπηρετητή (client/server). Έτσι οι εφαρμογές άρχισαν να κερματίζονται σε δύο βασικά τμήματα που επικοινωνούσαν μεταξύ τους μέσω διαφόρων τύπων υπηρεσιών Κατά την αρχιτεκτονική πελάτη/εξυπηρετητή, μία διεργασία καλείται πελάτης (client process) όταν αιτείται την υλοποίηση κάποιων υπηρεσιών-μεθόδων από μία διεργασία η οποία είναι ικανή να της προσφέρει τις επιθυμητές υπηρεσίες. Η τελευταία αυτή διεργασία καλείται διεργασία του εξυπηρετητή (server process)
10
Παραδείγματα κατανεμημένων συστημάτων (ΑΤΜ) (α)
Ένα χαρακτηριστικό παράδειγμα ενός κατανεμημένου συστήματος είναι το δίκτυο των αυτόματων ταμειακών μηχανών μιας τράπεζας. Οι υπολογιστές αυτοί είναι κατανεμημένοι σε όλο το χώρο της Ελλάδας, συνδέονται μεταξύ τους με κάποιο σχετικά γρήγορο δίκτυο επικοινωνίας (πχ. ΑΤΜ) και λειτουργούν σε μεγάλο βαθμό ανεξάρτητα ο ένας από τον άλλο Ένας πελάτης μπορεί να κάνει ανάληψη χρημάτων ή κατάθεση σε οποιαδήποτε ταμειακή μηχανή σε όλη την Ελλάδα δίνοντας σαν είσοδο στον τοπικό υπολογιστή τον προσωπικό του κωδικό αριθμό και το ποσό που θέλει να αναλάβει ή να καταθέσει Είναι πιθανό κάθε υπολογιστής να συμβουλεύεται για λόγους ταχύτητας πρώτα μια τοπική βάση δεδομένων και αν δεν βρεθεί ο πελάτης εκεί τότε γίνεται αναζήτηση σε κάποια κεντρική βάση ή σε κάποιο άλλο σταθμό
11
Παραδείγματα Κατανεμημένων Συστημάτων: Το διαδίκτυο (internet)(β)
intranet Ένα τυπικό τμήμα του internet: intranet intranet intranet Δίκτυο κορμού (backbone) Πάροχος intranet = εξυπηρετητής (server) = πελάτες (clients) = σύνδεση δικτύου
12
Το διαδίκτυο (internet)
Διαδίκτυο : Τεράστια συλλογή διασυνδεδεμένων δικτύων υπολογιστών διαφόρων τύπων. Οι υπολογιστές στα διάφορα υπο-δίκτυα που επικοινωνούν μεταξύ τους χρησιμοποιούν το πρωτόκολλο επικοινωνίας του διαδικτύου γνωστό ως Internet Protocol (IP). Το διαδίκτυο είναι ένα τεράστιο κατανεμημένο σύστημα καθώς οι χρήστες του, όπου και αν βρίσκονται, μπορούν να χρησιμοποιούν υπηρεσίες που παρέχονται από απομακρυσμένους εξυπηρετητές, όπως πρόσβαση σε ιστοσελίδες του παγκόσμιου ιστού (World Wide Web), , μεταφορά αρχείων (ftp), πρόσβαση σε βάσεις δεδομένων, κλπ. Intranets : υποδίκτυα που τα έχουν προμηθευτεί και τα διαχειρίζονται μεγάλες εταιρίες ή ακαδημαϊκά ιδρύματα προς εξυπηρέτηση των υπαλλήλων τους ή των καθηγητών/φοιτητών τους (πχ. Το εσωτερικό δίκτυο του ΤΕΙ ΙΩΝΙΩΝ ΝΗΣΩΝ)
13
Εσωτερικό δίκτυο (intranet)
Ένα τυπικό εσωτερικό δίκτυο μιας εταιρείας, ενός οργανισμού, ενός Ακαδημαϊκού Ιδρύματος, κλπ Print server Print server File server Δίκτυο τοπικής περιοχής Web server Δίκτυο τοπικής περιοχής server server Δίκτυο τοπικής περιοχής File server File server Router Internet
14
Ορισμοί στα δίκτυα Πελάτης (client): Υπολογιστής / σταθμός εργασίας που αιτείται και χρησιμοποιεί υπηρεσίες, δεδομένα ή εφαρμογές από κάποιον εξυπηρετητή (μοιάζει με τον πελάτη σε μια τράπεζα) Εξυπηρετητής (server): Ισχυρός υπολογιστής που συγκεντρώνει υπηρεσίες, εφαρμογές ή δεδομένα και τα προσφέρει στους πελάτες αφού τα αιτηθούν (μοιάζει με τον ταμία ή κάποιο υπάλληλο μιας τράπεζας που μπορεί να εξυπηρετεί πολλούς πελάτες) Διασύνδεση προγραμμάτων εφαρμογών (Application Programming interface – API): σύνολο συναρτήσεων και προγραμμάτων που επιτρέπουν την επικοινωνία μεταξύ πελατών – εξυπηρετητών Ενδιάμεσο λογισμικό (Middleware): ένα στρώμα λογισμικού πάνω από το λειτουργικό σύστημα που κρύβει τα ετερογενή χαρακτηριστικά των υπολογιστών που αποτελούν ένα κατανεμημένο σύστημα προσφέροντας μια «αφηρημένη μηχανή» ώστε οι προγραμματιστές να αναπτύσσουν εφαρμογές στο σύστημα.
15
Υποστήριξη από το Λειτουργικό Σύστημα
Λειτουργικό Σύστημα Δικτύων (Networked Operating System). Εφαρμόζει τη λογική πελάτη – εξυπηρετητή (client – server): υπάρχουν πολλές μηχανές-πελάτες (clients) που βρίσκονται σε δίκτυο και τρέχουν εφαρμογές χρησιμοποιώντας υπηρεσίες που προσφέρονται από άλλες μηχανές-εξυπηρετητές (servers). Κάθε πελάτης και εξυπηρετητής έχει το δικό του αυτόνομο λειτουργικό σύστημα. Το λειτουργικό σύστημα υποστηρίζει την πλατφόρμα επικοινωνίας μεταξύ πελατών-εξυπηρετητών η οποία αποτελεί συμπλήρωμα του λειτουργικού. Κατανεμημένο Λειτουργικό Σύστημα (Distributed Operating System). Το λειτουργικό σύστημα είναι διαμοιραζόμενο σε μια ομάδα υπολογιστών που συνδέονται σε δίκτυο. Στον χρήστη εμφανίζεται σαν ένα κλασικό κεντρικοποιημένο ΛΣ πλην όμως παρέχει διαφανή πρόσβαση σε πόρους διαφόρων μηχανημάτων
16
Λειτουργία (α) κεντρικοποιημένου & (β) κατανεμημένου συστήματος ελέγχου πρόσβασης
17
Λειτουργικά συστήματα δικτύου(α)
Από τα πιο γνωστά λειτουργικά συστήματα δικτύων είναι: SNA της IBM, peer-to-peer, με πρωτόκολλα APPC /ΑΡΡΝ UNIX, peer-to-peer, με πρωτόκολλα TCP / IP Novell Netware, dedicated server, με πρωτόκολλα επικοινωνίας IPX /SPX Windows NT και Windows for Workgroups, peer-to-peer, με πρωτόκολλα επικοινωνίας NetBIOS / NetBEUI ή TCP / IP
18
Γιατί δεν υπάρχουν ευρέως διαδεδομένα κατανεμημένα λειτουργικά συστήματα;
Οι χρήστες έχουν επενδύσει σε προγράμματα που τρέχουν σε συγκεκριμένα ΛΣ και δεν είναι διατεθειμένοι να υιοθετήσουν καινούργια (κατανεμημένα) Λειτουργικά Συστήματα εκτός και αν τα πλεονεκτήματα είναι εξαιρετικά σημαντικά και οι απαιτήσεις των εφαρμογών δεν καλύπτονται από τις δικτυακές υπηρεσίες των ΛΣ Δικτύων (πράγμα που δεν ισχύει τελικά) Οι χρήστες επιθυμούν κάποιο βαθμό αυτονομίας του υπολογιστή τους. Αυτονόητο για προσωπικούς υπολογιστές. Ακόμη και σε μια εταιρεία οι υπάλληλοι δεν επιθυμούν οι επιδόσεις των υπολογιστών τους να επηρεάζονται από την χρήση που κάνουν οι άλλοι στο σύστημα.
19
Στρώματα λογισμικού κατανεμημένων συστημάτων (α)
Το αρχιτεκτονικό μοντέλο λογισμικού για κατανεμημένα συστήματα αποτελείται από στρώματα με αυξανόμενα επίπεδα αφαίρεσης, δηλαδή ανεξαρτησίας από το συγκεκριμένο υλικό (hardware) όπου εκτελείται τελικά η εφαρμογή. Ανώτατο στρώμα: Εφαρμογή (πχ. υπηρεσία ). Καμία εξάρτηση από την πλατφόρμα Εφαρμογές ή υπηρεσίες Ενδιάμεσο λογισμικό (middleware) Ενδιάμεσο στρώμα: Προσφέρει API για ανάπτυξη εφαρμογών. Εξαρτάται από την πλατφόρμα Λειτουργικό Σύστημα Πλατφόρμα Κατώτερο στρώμα: Το λειτουργικό σύστημα είναι μέρος της πλατφόρμας Υλικό υπολογιστή και δικτύου (hardware)
20
Στρώματα λογισμικού κατανεμημένων συστημάτων (2)
Εφαρμογές Application Program Interface (API) Ενδιάμεσο Λογισμικό Interface με την πλατφόρμα ΛΣ 1 (διεργασίες, νήματα, επικοινωνία, κλπ) Υλικό 1 (υπολογιστής και δίκτυο) Κόμβος 1 ΛΣ Ν (διεργασίες, νήματα, επικοινωνία, κλπ) Υλικό Ν (υπολογιστής και δίκτυο) Κόμβος Ν
21
Το ενδιάμεσο λογισμικό (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 κλπ
22
Εφαρμογές πελάτη – εξυπηρετητή(α)
Χαρακτηριστικά: ΛΣ πελάτη διαφορετικό από ΛΣ εξυπηρετητή ΛΣ πελατών πιθανώς διαφέρουν μεταξύ τους Απαραίτητη επικοινωνία πελάτη εξυπηρετητή μέσω τυποποιημένου πρωτοκόλλου (πχ TCP/IP)
23
Εφαρμογές πελάτη – εξυπηρετητή(β)
Πελάτης Υπηρεσίες Παρουσίασης (πχ GUI) Λογισμικό εφαρμογής πελάτη Λογισμικό Επικοινωνιών ΛΣ πελάτη Υλικό Εξυπηρετητής Λογισμικό εφαρμογής εξυπηρετητή ΛΣ εξυπηρετητή Αίτημα Απόκριση Πρωτόκολλο δικτύου Πλατφόρμα πελάτη Πλατφόρμα εξυπηρετητή
24
Παράδειγμα: Web(α) Αίτημα http Αίτημα http Λήψη σελίδας html
Πελάτης: Εφαρμογή: Mozilla Firefox (Web browser) Ο Firefox στέλνει αίτημα προσκόμισης της ιστοσελίδας Ο Firefox λαμβάνει το αρχείο html, το επεξεργάζεται και το δείχνει την οθόνη. Εξυπηρετητής: Εφαρμογή: Apache (http server) Λαμβάνει το αίτημα http Απαντάει προσκομίζοντας μια σελίδα (αρχείο) html
25
Παράδειγμα: Web(α) Ο πελάτης μπορεί να διαθέτει οποιοδήποτε λειτουργικό απλού σταθμού εργασίας (πχ, Windows, Linux, Mac OS, κλπ) Ο εξυπηρετητής μπορεί επίσης να διαθέτει οποιοδήποτε λειτουργικό εξυπηρετητή (πχ, Windows Server, UNIX, Mac OS X Server, κλπ) Το ενδιάμεσο λογισμικό που υλοποιεί το πρωτόκολλο ανταλλαγής αρχείων hyper-text (hyper-text transfer protocol – http) κάνει το ΛΣ διαφανές τόσο για τον πελάτη όσο και για τον εξυπηρετητή: ούτε ο πελάτης χρειάζεται να γνωρίζει το ΛΣ του εξυπηρετητή ούτε ο εξυπηρετητής χρειάζεται να γνωρίζει το ΛΣ του πελάτη. Οποιοσδήποτε συνδυασμός των ΛΣ πελάτη / εξυπηρετητή δουλεύει καθώς η επικοινωνία βασίζεται στο ενδιάμεσο στρώμα που είναι κοινό.
26
Βιβλιογραφία Κατανεμημένα Συστήματα με Java Συστήματα Υπολογιστών - Τόμος ΙΙΙ Ι.Κ. Κάβουρας, Ι.Ζ. Μήλης, Γ.Β. Ξυλωμένος, Α.Α. Ρουκουνάκη
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.