Κατανεμημένα Συστήματα

Slides:



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

Κώστας Διαμαντάρας Τμήμα Πληροφορικής ΤΕΙ Θεσσαλονίκης 2011 Υπηρεσίες Web και Συστάδες υπολογιστών.
Microsoft ASP.NET Browser Web 2.0 CSS JavaScript Server Client Clients Κατσιώτης Ιωάννης Οικονομικό Πανεπιστήμιο Αθηνών
ΔΙΚΤΥΑ Η/Υ Κορδίας Σπυρίδων.
Σύγχρονοι Εξυπηρετητές του Ιστού Παραδείγματα και Συγκρίσεις Πληροφοριακά Συστήματα για Μάρκετινγκ & Δημοσκοπήσεις.
Λειτουργικά Συστήματα Πολλών Χρηστών
Comparison of open source S/W for FTP : gFTP nFTP SkateFTP IglooFTP PRO ncFTP PANTELIS PANTELIDIS MAY 2002 UNIVERSITY OF MACEDONIA MASTER.
1/6/2015ΥΠΟΛΟΓΙΣΤΙΚΟ ΚΕΝΤΡΟ ΠΚ1 ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΥΠΟΛΟΓΙΣΤΙΚΟ ΚΕΝΤΡΟ «Εισαγωγή στους Υπολογιστές»
Ο Παγκόσμιος ιστός World Wide Web (WWW) Είναι μια υπηρεσία του Internet ΠΡΟΣΟΧΗ μην την ταυτίζουμε με το ιντερνέτ Αποτελείται από εκατομμύρια ιστοσελίδες.
Κεφάλαιο 9 – Διαδίκτυο. Internet 1.Δημιουργήστε ένα infographic ( με τους σταθμούς εξέλιξης του internet. 2.
Προηγμένες Υπηρεσίες Τηλεκπαίδευσης στο Τ.Ε.Ι. Σερρών Το εκπαιδευτικό υλικό που ακολουθεί αναπτύχθηκε στα πλαίσια του έργου «Προηγμένες Υπηρεσίες Τηλεκπαίδευσης.
Τεχνολογία Λογισμικού (Software Engineering) Ενότητα – Σχεδιασμός Λογισμικού Κεφάλαιο – Αρχιτεκτονικός Σχεδιασμός.
Αρχιτεκτονική Λογισμικού. Αρχιτεκτονική Συστήματος Λογισμικού Η Αρχιτεκτονική περιγράφει τη γενική στατική δομή του συστήματος, τα βασικά δομικά του στοιχεία,
ΕΠ ΚτΠ – Μέτρο 1.2 «Εισαγωγή και Αξιοποίηση των Νέων Τεχνολογιών στην Εκπαίδευση» Πράξη «Δράσεις Επιμόρφωσης Εκπαιδευτικών Πληροφορικής» Ανάδοχος: Ερευνητικό.
ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΚΕΝΤΡΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΣΕΡΡΕΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Τ. Ε. ΤΟΜΕΑΣ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΤΕΧΝΙΚΩΝ.
Επιχειρηματικότητα και Συστήματα Επικοινωνίας Τουριστικών Επιχειρήσεων Ενότητα 12: Επίδραση της τεχνολογίας και της καινοτομικής επιχειρηματικότητας στις.
Η ιστορία των λειτουργικών συστημάτων Windows (μέχρι και την έκδοση Windows 7)
Πληροφορική Ενότητα 1 (Μέρος Γ): Δίκτυα Υπολογιστών. Δήμητρα Αβραμούλη, Καθηγήτρια Εφαρμογών, Τμήμα Σχεδιασμού και Τεχνολογίας Ξύλου και Επίπλου Τ.Ε.,
 Βασικές έννοιες.    ΓΙΑ ΠΟΙΟ ΛΟΓΟ ΘΑ ΠΡΟΤΙΜΟΥΣΑΤΕ ΚΑΝΕΤΕ ΤΙΣ ΑΓΟΡΕΣ ΣΑΣ ΗΛΕΚΤΡΟΝΙΚΑ;
Τα δίκτυα και το Διαδίκτυο. Δίκτυα Υπολογιστών Ένα δίκτυο υπολογιστών είναι ένα σύνολο από διασυνδεδεμένους υπολογιστές και άλλων ηλεκτρονικών συσκευών.
1 Πληροφορική II Ενότητα 11 : Δίκτυα και Διαδίκτυο Δρ. Γκόγκος Χρήστος Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
Εισαγωγικό Μάθημα Εισηγητής Τσάμης Γεώργιος
 Ένα δίκτυο διασυνδεμένων δικτύων παγκόσμιας κλίμακας που επιτρέπει την επικοινωνία εκατομμυρίων χρηστών κάθε στιγμή και από κάθε μεριά του πλανήτη.
Διαδίκτυο / Internet (International Network). Οδικό Δίκτυο.
ΗΜΥ 100: Εισαγωγή στην Τεχνολογία Διάλεξη 5 Η εξέλιξη του Διαδικτύου TΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΠΑΝΕΠΙΣΤΗΜΙΟ.
Βάσεις Δεδομένων και Παγκόσμιος Ιστός Βασικές έννοιες του Ιστού.
Click to edit Master text styles Ευρετήρια & Πίνακες Παιδαγωγικές Εφαρμογές Η/Υ Ευρετήρια & Πίνακες Υπεύθυνος Μαθήματος: Αλεξόπουλος Σεραφείμ Τμήμα: 4.
Βασικές έννοιες και τεχνολογίες δικτύων Ιάκωβος Αλεξανδρής Ηλεκ/γος Μηχ/κος & Μηχ/κος Η/Υ Τεχνικός Υπεύθυνος ΚΕΠΛΗΝΕΤ Χαλκιδικής Cisco CCNA.
Θέμα εργασίας: Διδακτικό Σενάριο με χρήση ΤΠΕ «Η τέχνη του Μπαρόκ στη ζωγραφική» Μάθημα: ΕΚΠΑΙΔΕΥΤΙΚΗ ΤΕΧΝΟΛΟΓΙΑ & ΠΟΛΥΜΕΣΑ Υπεύθυνος Καθηγητής: ΓΙΑΝΝΟΥΛΑΣ.
Εισαγωγικά Θέματα Διαχείρισης Δικτύων
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ ΚΑΙ ΔΙΑΣΥΝΔΕΣΗΣ ΔΙΚΤΥΩΝ
Windows Programming Web Forms.
Μάθημα: Ειδικά θέματα σε κινητά και ασύρματα δίκτυα.
WebRTC Web Real Time Communications
Πληροφοριακά συστήματα διοίκησης
Ενότητα 7 : Δίκτυα Υπολογιστών Δρ. Γκόγκος Χρήστος
Ασκήσεις Κεφάλαιο 11.
Παρουσίαση Πτυχιακής Εργασίας
1η Εργαστηριακή Άσκηση - TCP/IP Όνομα: Σουλιώτη Βασιλική ΑΜ: 691
Τι είναι το Ίντερνετ Παγκόσμιο Δίκτυο
Πρακτικά ζητήματα Οι διαλέξεις και οι ασκήσεις που γίνονται στην τάξη θα βρίσκονται στο eclass. Τα θέματα μέχρι τώρα: Windows XP Ασκήσεις πάνω στη χρήση.
Β. Μάγκλαρης 7/11/2016 ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Αρχιτεκτονικές Διαχείρισης Δικτύων Υλοποιήσεις Client – Server Το.
Γιώργος Θάνος Παρασκευή 5 Δεκεμβρίου 2008
Ειδικά Θέματα σε Κινητά και Ασύρματα Δίκτυα: 1η εργαστηριακή άσκηση
9.2 Δομή και υπηρεσίες του Διαδικτύου
HTML.
Εισαγωγή στην Πληροφορική μεγάλου όγκου δεδομένων
Ιστορική Εξέλιξη του Παγκόσμιου Ιστού
Κεφάλαιο 1 Διαδίκτυο και παγκόσμιος ιστός Εισαγωγικές έννοιες
Μάνος Σατόπουλος Συντάκτης λευκωμάτων και λάτρης των τεχνών
PROJECT 2B ΥΠΕΥΘΥΝΗ ΚΑΘΗΓΗΤΡΙΑ: ΜΠΑΛΑΣΗ
ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΠΤΥΞΗ ΔΙΑΔΙΚΤΥΑΚΩΝ ΕΦΑΡΜΟΓΩΝ
Εφαρμογές Πληροφορικής Κεφάλαιο 9
Εισηγητής Τσάμης Γεώργιος
ΜΙΑ ΓΡΗΓΟΡΗ ΕΠΑΝΑΛΗΨΗ ΤΩΝ ΕΝΝΟΙΩΝ ΤΗΣ Α’ ΓΥΜΝΑΣΙΟΥ
Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα
ΗΛΕΚΤΡΟΛΟΓΙΑ ΔΙΕΥΘΥΝΣΗ ΜΕΣΗΣ ΤΕΧΝΙΚΗΣ ΚΑΙ ΕΠΑΓΓΕΛΜΑΤΙΚΗΣ ΕΚΠΑΙΔΕΥΣΗΣ.
Εφαρμογές Υπολογιστών Ά Τεχνολογικού Λυκείου Κεφ
Ορισμός της έννοιας αλγόριθμος, πρόγραμμα Σχεδιασμός απλών αλγορίθμων
ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ
Πλοήγηση στο Διαδίκτυο
Θετικό δημιουργικό περιεχόμενο στο διαδίκτυο
Σχεδιασμός και Ανάπτυξη Διαδικτυακών Εφαρμογών
Εισαγωγή στην Πληροφορική Κωδικος Διαφανειών: ΑΟΑ183
Εργαστήρια Windows/Linux /etc
Συστάδα 2: Φυσικές Επιστήμες, Τεχνολογία, Φυσική Αγωγή και Υγεία
ΙΙ. Η κοινωνία της πληροφορίας
ՀԱՄԱԿԱՐԳՉԱՅԻՆ ՀԵՌԱՀԱՂՈՐԴԱԿՑՈՒՂԻՆԵՐ
ΕΝΟΤΗΤΑ 2 – Κεφάλαιο 5: Γνωριμία με το Λογισμικό
Εφαρμογές ιστού και δημιουργία ιστοσελίδων
Μεταγράφημα παρουσίασης:

Κατανεμημένα Συστήματα Κατανεμημένα Συστήματα Εισαγωγή Μπίμπας Αθανάσιος Τ.Ε.Ι. Ιονίων Νήσων 01/11/2016

Ιστορική αναδρομή(α) Μέχρι τα μέσα της δεκαετίας του '80, οι υπολογιστές χαρακτηρίζονταν από μεγάλο μέγεθος και υψηλό κόστος. Το γεγονός αυτό είχε ως αποτέλεσμα, οι περισσότεροι οργανισμοί να επένδυαν στην προμήθεια μικρού αριθμού υπολογιστών που λειτουργούσαν συνήθως ανεξάρτητα, λόγω της ανυπαρξίας τρόπου διασύνδεσης μεταξύ τους. Αργότερα, δύο τεχνολογικά επιτεύγματα άρχισαν να διαφοροποιούν αυτήν την κατάσταση: η ανάπτυξη ισχυρών μικροεπεξεργαστών (microprocessors) η δημιουργία τοπικών δικτύων υψηλών ταχυτήτων (highspeed Local Area Networks)

Ιστορική αναδρομή(β) Το τελικό αποτέλεσμα των δύο αυτών επιτευγμάτων, είναι η δυνατότητα να λειτουργήσουν μαζί υπολογιστικά συστήματα που αποτελούνται από μεγάλο αριθμό CPU συνδεόμενων μέσω δικτύων υψηλών ταχυτήτων Τα συστήματα αυτά αποκαλούνται συνήθως κατανεμημένα συστήματα (distributed systems) Τα προηγούμενα παραδοσιακά συστήματα καλούνται κεντρικοποιημένα συστήματα (centralized systems) αποτελούμενα από μία μοναδική CPU, την κεντρική μνήμη, τα περιφερειακά και τα τερματικά

Κατανεμημένα συστήματα(ορισμοί)(α) Με τον όρο κατανεμημένο σύστημα αναφερόμαστε σε όλους τους τομείς ενός πληροφοριακού συστήματος. Έχουμε κατανεμημένη πληροφορία, κατανεμημένους πόρους, κατανεμημένη υπολογιστική ισχύ, καθώς και κατανεμημένες υπηρεσίες που επικοινωνούν μεταξύ τους προκειμένου να επιτύχουν έναν κοινό σκοπό Κατανεμημένο λέγεται ένα σύστημα του οποίου τα συστατικά υλικό (hardware) και λογισμικό (software) βρίσκονται διασκορπισμένα σε διάφορους υπολογιστές που επικοινωνούν μέσω δικτύου

Πλεονεκτήματα Κατανεμημένων έναντι Κεντρικοποιημένων Συστημάτων(α) Οικονομία Οι μικροεπεξεργαστές σε ένα κατανεμημένο σύστημα παρέχουν καλύτερο λόγο κόστους/απόδοσης (price/performance ratio) από τα κεντρικοποιημένα υπολογιστικά συστήματα, δηλαδή καλύτερη αξιοποίηση της πραγματοποιθείσας επένδυσης Μία συλλογή από μικροεπεξεργαστές είναι δυνατό να εμφανίσει απόλυτη τιμή απόδοσης, την οποία δεν είναι δυνατό να επιτύχει καν ένα κεντρικοποιημένο υπολογιστικό σύστημα Ταχύτητα Ένα κατανεμημένο σύστημα μπορεί να έχει συνολικά μεγαλύτερη υπολογιστική ισχύ από ένα Κεντρικοποιημένο υπολογιστικό σύστημα

Πλεονεκτήματα Κατανεμημένων έναντι Κεντρικοποιημένων Συστημάτων(β) Έμφυτη κατανομή Μερικές εφαρμογές έχουν, εν δυνάμει, χαρακτήρα κατανεμημένο Αξιοπιστία Αν μία μηχανή καταρρεύσει, το σύστημα συνεχίζει να λειτουργεί με μειωμένη απόδοση Διαδοχική ανάπτυξη Μπορεί να προστεθεί υπολογιστική ισχύς στο σύστημα μέσω σταδιακών διαδοχικών επεκτάσεων και αναβαθμίσεων

Μειονεκτήματα Κατανεμημένων Συστημάτων Λογισμικό Δεν υπάρχει ακόμη σημαντική εμπειρία στη σχεδίαση, υλοποίηση αλλά και χρήση του απαιτούμενου λογισμικού (systems & application software) για αποδοτική λειτουργία κατανεμημένων συστημάτων Δικτύωση Υπάρχει το ενδεχόμενο κορεσμού του δικτύου, ενώ πρέπει να επιλυθεί το πρόβλημα της αξιοπιστίας του Ασφάλεια Υπάρχει ιδιαίτερος κίνδυνος πρόσβασης στο δίκτυο και προσπέλασης σε δεδομένα, από μη εξουσιοδοτημένους χρήστες

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

Το Μοντέλο που επικράτησε Το μοντέλο που επικράτησε ήταν το μοντέλο πελάτη/εξυπηρετητή (client/server). Έτσι οι εφαρμογές άρχισαν να κερματίζονται σε δύο βασικά τμήματα που επικοινωνούσαν μεταξύ τους μέσω διαφόρων τύπων υπηρεσιών Κατά την αρχιτεκτονική πελάτη/εξυπηρετητή, μία διεργασία καλείται πελάτης (client process) όταν αιτείται την υλοποίηση κάποιων υπηρεσιών-μεθόδων από μία διεργασία η οποία είναι ικανή να της προσφέρει τις επιθυμητές υπηρεσίες. Η τελευταία αυτή διεργασία καλείται διεργασία του εξυπηρετητή (server process)

Παραδείγματα κατανεμημένων συστημάτων (ΑΤΜ) (α) Ένα χαρακτηριστικό παράδειγμα ενός κατανεμημένου συστήματος είναι το δίκτυο των αυτόματων ταμειακών μηχανών μιας τράπεζας. Οι υπολογιστές αυτοί είναι κατανεμημένοι σε όλο το χώρο της Ελλάδας, συνδέονται μεταξύ τους με κάποιο σχετικά γρήγορο δίκτυο επικοινωνίας (πχ. ΑΤΜ) και λειτουργούν σε μεγάλο βαθμό ανεξάρτητα ο ένας από τον άλλο Ένας πελάτης μπορεί να κάνει ανάληψη χρημάτων ή κατάθεση σε οποιαδήποτε ταμειακή μηχανή σε όλη την Ελλάδα δίνοντας σαν είσοδο στον τοπικό υπολογιστή τον προσωπικό του κωδικό αριθμό και το ποσό που θέλει να αναλάβει ή να καταθέσει Είναι πιθανό κάθε υπολογιστής να συμβουλεύεται για λόγους ταχύτητας πρώτα μια τοπική βάση δεδομένων και αν δεν βρεθεί ο πελάτης εκεί τότε γίνεται αναζήτηση σε κάποια κεντρική βάση ή σε κάποιο άλλο σταθμό

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

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

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

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

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

Λειτουργία (α) κεντρικοποιημένου & (β) κατανεμημένου συστήματος ελέγχου πρόσβασης

Λειτουργικά συστήματα δικτύου(α) Από τα πιο γνωστά λειτουργικά συστήματα δικτύων είναι: 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

Γιατί δεν υπάρχουν ευρέως διαδεδομένα κατανεμημένα λειτουργικά συστήματα; Οι χρήστες έχουν επενδύσει σε προγράμματα που τρέχουν σε συγκεκριμένα ΛΣ και δεν είναι διατεθειμένοι να υιοθετήσουν καινούργια (κατανεμημένα) Λειτουργικά Συστήματα εκτός και αν τα πλεονεκτήματα είναι εξαιρετικά σημαντικά και οι απαιτήσεις των εφαρμογών δεν καλύπτονται από τις δικτυακές υπηρεσίες των ΛΣ Δικτύων (πράγμα που δεν ισχύει τελικά) Οι χρήστες επιθυμούν κάποιο βαθμό αυτονομίας του υπολογιστή τους. Αυτονόητο για προσωπικούς υπολογιστές. Ακόμη και σε μια εταιρεία οι υπάλληλοι δεν επιθυμούν οι επιδόσεις των υπολογιστών τους να επηρεάζονται από την χρήση που κάνουν οι άλλοι στο σύστημα.

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

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

Το ενδιάμεσο λογισμικό (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 κλπ

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

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

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

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

Βιβλιογραφία Κατανεμημένα Συστήματα με Java Συστήματα Υπολογιστών - Τόμος ΙΙΙ Ι.Κ. Κάβουρας, Ι.Ζ. Μήλης, Γ.Β. Ξυλωμένος, Α.Α. Ρουκουνάκη