Εισαγωγή Έννοιες Σχετικές Με S/W

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

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

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

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

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

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

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

Εισαγωγή στην Πληροφορική

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

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

ΕΙΣΑΓΩΓΗ. Παρέχει µια διεπαφή (interface) ανάµεσα στο υλισµικό και στα προγράµµατα εφαρµογών/χρηστών.

Πρόλογος Εισαγωγή... 21

Κεφάλαιο 4: Λογισμικό Συστήματος

Λειτουργικά Συστήματα Ι. Κεφάλαιο 1 Βασικές Έννοιες Λειτουργικών Συστημάτων

Κεφάλαιο 4 Λογισμικό συστήματος. Εφαρμογές Πληροφορικής Κεφ.4 Καραμαούνας Πολύκαρπος 1

Μάθημα 8: Διαχείριση Μνήμης

Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε)

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή

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

Εισαγωγή στην Πληροφορική

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

Μάριος Χατζημάρκος. Θωμάς Ματελόπουλος ΦΕΒΡΟΥΑΡΙΟΣ ΕΠΟΠΤΗΣ ΚΑΘΗΓΗΤΗΣ Δρ. Γκούμας Στέφανος, Επίκουρος Καθηγητής.

Κεφάλαιο 4. Λογισμικό Συστήματος

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

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Εισαγωγή στην Πληροφορική

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

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

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών

Κεφάλαιο 3. Διδακτικοί Στόχοι

Κεφάλαιο 1ο Πολυπρογραμματισμός Πολυδιεργασία Κατηγορίες Λειτουργικών Συστημάτων

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

Μάθημα 3: Αρχιτεκτονική Υπολογιστών

Εργαστήριο Λειτουργικών Συστημάτων. Minix Overview

Διαφορές single-processor αρχιτεκτονικών και SoCs

Επικοινωνία Client/Server

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Δίκτυα Υπολογιστών I

Χαράλαμπος Καραγιαννίδης

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

Πρόγραμμα Πιστοποίησης Γνώσεων και Δεξιοτήτων H/Y ΕΝΟΤΗΤΑ 1: «ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ»

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

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

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

ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ Ι. Σημειώσεις Θεωρίας

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1

Αμοιβαίος αποκλεισμός

Κεφάλαιο 5. Κεφ. 5 Λειτουργικά Συστήματα 1

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

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

Επικοινωνία Client/Server Απομακρυσμένη Κλήση Διαδικασιών

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

Γεωγραφικά Συστήµατα Πληροφοριών και Αρχές Τηλεπισκόπησης

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη

Διαχείριση Πολιτισμικών Δεδομένων

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Α ΤΑΞΗ

Τι είναι ένα δίκτυο υπολογιστών; Αρχιτεκτονική επιπέδων πρωτοκόλλων. Δικτυακά πρωτόκολλα

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

Κεφάλαιο 7 Διαδικτύωση-Internet. 7.2 Τεχνολογία TCP/IP

Network Address Translation (NAT)

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

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού

Κάντε κλικ για έναρξη

Συνάφεια Κρυφής Μνήµης σε Επεκτάσιµα Μηχανήµατα

Διάλεξη 10: Αλγόριθμοι Αμοιβαίου Αποκλεισμού σε περιβάλλον ανταλλαγής μηνυμάτων. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

Εικονική Μνήμη (Virtual Μemory)

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Εικονική Μνήμη. (και ο ρόλος της στην ιεραρχία μνήμης)

Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112

Δικτύωση υπολογιστών

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

Ενότητα 3 - Θέματα Εφαρμοσμένης Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

Δίκτυα Υπολογιστών I

Επιτεύγµατα των Λ.Σ.

Κατανεμημένα συστήματα και Επικοινωνία Πραγματικού Χρόνου

Διάρθρωση. Δίκτυα Υπολογιστών I Βασικές Αρχές Δικτύωσης. Διάρθρωση. Δίκτυο Υπολογιστών: ένας απλός ορισμός. Ευάγγελος Παπαπέτρου

2. Σκοποί και Λειτουργίες των ΛΣ. Λειτουργικά Συστήματα Η/Υ. Περίληψη. Ι. Προστασία Υλικού ΚΕΦΑΛΑΙΟ 2 - ΕΞΕΛΙΞΗ ΚΑΙ ΣΚΟΠΟΙ ΛΣ

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών Δίκτυα υπολογιστών. (και το Διαδίκτυο)

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

PROXY SERVER. Άριστη πύλη διαχωρισμού μεταξύ του εσωτερικού δικτύου και του Internet.

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Κεφάλαιο 1.6: Συσκευές αποθήκευσης

MULTIPLE CHOICE REVISION: ΜΑΘΗΜΑ 3-4

Αρχιτεκτονική Υπολογιστών

Οργάνωση ενός σύγχρονου Υπολογιστικού Συστήματος ή Ηλεκτρονικού Υπολογιστή (Η/Υ) Τα σύγχρονα συστήματα Η/Υ έχουν την παρακάτω οργάνωση:

Μάθημα 1 ο ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΤΩΝ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

Αρχιτεκτονική Υπολογιστών

Κεφάλαιο 13. Λογισµικό Υλικό. Λειτουργικό σύστηµα υποστήριξης δικτύου. Ανακεφαλαίωση Ερωτήσεις

Διάλεξη 16: Πρόβλημα Συμφωνίας. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

Κεφάλαιο 4 Διεργασίες Β Τάξη ΕΠΑΛ

Εισαγωγή στα Λειτουργικά

Αρχιτεκτονική Υπολογιστών

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

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

Εισαγωγή στην Πληροφορική

Κατανεμημένα Συστήματα Αρχείων

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

Κεφάλαιο 3 Λειτουργικά Συστήματα Β ΕΠΑΛ

Ιεραρχία Μνήμης. Εικονική μνήμη (virtual memory) Επεκτείνοντας την Ιεραρχία Μνήμης. Εικονική Μνήμη. Μ.Στεφανιδάκης

Transcript:

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

Έννοιες Σχετικές Με S/W Το υλικό των ΚΣ είναι σημαντικό Το λογισμικό είναι όμως εκείνο που καθορίζει σε μεγάλο βαθμό το πως εμφανίζεται στην πραγματικότητα ένα ΚΣ Τα ΚΣ έχουν πολλές ομοιότητες με τα παραδοσιακά ΛΣ Ενεργούν ως διαχειριστές πόρων Κρύβουν την πολυπλοκότητα του υποκείμενου υλικού Εισαγωγή: Θέματα S/W 2

Έννοιες Σχετικές Με S/W Τα ΛΣ για κατανεμημένους υπολογιστές υποδιαιρούνται σε 2 κατηγορίες Τα στενά συνδεδεμένα συστήματα Το ΛΣ ουσιαστικά προσπαθεί να συντηρήσει μία ενιαία, καθολική άποψη των πόρων που διαχειρίζεται Τα χαλαρά συνδεδεμένα συστήματα Σύνολα υπολογιστών καθένας από τους οποίους χρησιμοποιεί το δικό του ΛΣ Αυτά τα ΛΣ συνεργάζονται για να θέσουν τις υπηρεσίες/πόρους τους στη διάθεση των άλλων Εισαγωγή: Θέματα S/W 3

Έννοιες Σχετικές Με S/W Αυτή η διάκριση (στενά/χαλαρά συνδεδεμένα συστήματα) σχετίζεται με την ταξινόμηση υλικού που έχουμε δει Ένα ΛΣ στενής σύνδεσης χαρακτηρίζεται γενικά ως Κατανεμημένο ΛΣ και χρησιμοποιείται για την διαχείριση πολυεπεξεργαστών και ομοιογενών πολυ-υπολογιστών ΚΛΣ, DOS - Distributed Operating System Οι λειτουργικές δυνατότητες των ΚΛΣ είναι ουσιαστικά ίδιες με εκείνες των παραδοσιακών ΛΣ για μονοεπεξεργαστικά συστήματα, με την διαφορά ότι μπορούν να χειρίζονται πολλές CPU Υπάρχουν 2 τύποι ΚΛΣ ΛΣ για πολυεπεξεργαστές ΛΣ για ομοιογενείς πολυ-υπολογιστές Εισαγωγή: Θέματα S/W 4

Έννοιες Σχετικές Με S/W Το χαλαρά συνδεδεμένο ικτυακό ΛΣ χρησιμοποιείται στα ετερογενή πολυ-υπολογιστικά συστήματα ΛΣ, NOS - Network Operating System Η βασική διαφορά από τα παραδοσιακά ΛΣ είναι ότι οι τοπικές υπηρεσίες γίνονται διαθέσιμες σε απομακρυσμένους πελάτες Για να φτάσουμε πραγματικά σε ένα ΚΣ χρειάζεται να γίνουν βελτιώσεις στις υπηρεσίες των ΛΣ Όπως καλύτερη υποστήριξη για την διαφάνεια της κατανεμημένης λειτουργίας Οι βελτιώσεις αυτές οδηγούν στο ενδιάμεσο λογισμικό (middleware) Εισαγωγή: Θέματα S/W 5

Έννοιες Σχετικές Με S/W System Description Main Goal DOS Tightly-coupled operating system for multiprocessors and homogeneous multicomputers Hide and manage hardware resources NOS Loosely-coupled operating system for heterogeneous multicomputers (LAN and WAN) Offer local services to remote clients Middleware Additional layer atop of NOS implementing general-purpose services Provide distribution transparency Εισαγωγή: Θέματα S/W 6

ΛΣ Πολυεπεξεργαστών Τα Λειτουργικά Συστήματα Πολυεπεξεργαστών (ΛΣΠ) Multiprocessor Operating Systems (MOS) Χρησιμοποιούνται στους πολυεπεξεργαστές με κοινή κύρια μνήμη Μία σημαντική επιδίωξη είναι ο αριθμός των CPU να γίνεται διαφανής για την εφαρμογή Οι χρήστες των συστημάτων αυτών βλέπουν ένα μόνο λειτουργικό σύστημα, το οποίο μπορεί να χρησιμοποιηθεί είτε για τη λύση ενός προβλήματος με παράλληλο τρόπο, είτε για την ταυτόχρονη εκτέλεση προγραμμάτων πολλών χρηστών Σε ένα ΛΣΠ υπάρχει ένας μόνο εικονικός χώρος διευθύνσεων και ένα κοινό ρολόι Ο χώρος αυτός (κατα)μερίζεται μεταξύ των διαφόρων επεξεργαστών του συστήματος Όλες οι δομές δεδομένων που χρειάζονται στο ΛΣ για την διαχείριση του υλικού, συμπεριλαμβανομένων των πολλών CPU τοποθετούνται στην κοινόχρηστη μνήμη Όλοι οι επεξεργαστές έχουν κοινή αντίληψη του χρόνου Εισαγωγή: Θέματα S/W 7

ΛΣ Πολυεπεξεργαστών Τα ΛΣΠ δε διαφέρουν πολύ από τα κλασικά λειτουργικά συστήματα ενός επεξεργαστή Η κύρια διαφορά είναι ότι οι δομές δεδομένων είναι προσπελάσιμες από πολλούς επεξεργαστές και επομένως πρέπει να προστατεύονται από την ταυτόχρονη προσπέλαση ώστε να εξασφαλίζεται η συνέπεια Η ιδέα είναι ότι όλη η επικοινωνία μεταξύ των CPU πραγματοποιείται με τον χειρισμό δεδομένων σε κοινόχρηστες θέσεις μνήμης, και ότι μόνο εκείνα τα δεδομένα χρειάζεται να προστατευθούν από την ταυτόχρονη προσπέλαση Ο αμοιβαίος αποκλεισμός των κρίσιμων περιοχών των διεργασιών που εκτελούνται ταυτόχρονα σε διαφορετικούς επεξεργαστές μπορεί να εξασφαλιστεί με τη χρήση ειδικών εντολών του υλισμικού που συγχρονίζουν την πρόσβαση σε (κατα)μεριζόμενες δομές δομένων στην κοινή μνήμη Η προστασία γίνεται με τη χρήση θεμελιωδών λειτουργιών συγχρονισμού όπως οι σηματοφορείς και οι ελεγκτές Η προσαρμογή παραδοσιακών ΛΣ για πολυεπεξεργαστές σημαίνει γενικά επανασχεδιασμό και νέα υλοποίηση ολόκληρου του πυρήνα Εισαγωγή: Θέματα S/W 8

ΛΣ Πολυεπεξεργαστών Το βασικό χαρακτηριστικό των ΛΣΠ είναι μία κεντρική λίστα ετοίμων διεργασιών (λίστα διανομέα), αποθηκευμένη στην κοινή μνήμη Ο μόνος παράγοντας που μπορεί να επηρεάσει την επιλογή μιας ΚΜΕ είναι η μικρή ελάττωση της καθυστέρησης αν η ΚΜΕ αυτή περιέχει ήδη στην κρυφή μνήμη της μέρος του χώρου διευθύνσεων της υπό διανομή διεργασίας Σε μερικά ΛΣΠ μία από τις ΚΜΕ αφιερώνεται στην εκτέλεση του πυρήνα και των διεργασιών του λειτουργικού συστήματος, ενώ οι υπόλοιπες ασχολούνται με τις διεργασίες των χρηστών, με αποτέλεσμα η ΚΜΕ αυτή να καταλήγει ως σημείο συνωστισμού ή συμφόρησης Αν και το ΛΣΠ παρέχει στους χρήστες την εικόνα ενός μόνο συστήματος, δεν θεωρείται ως κατανεμημένο σύστημα σύμφωνα με τον ορισμό αφού δε χρησιμοποιεί ανεξάρτητους υπολογιστές Εισαγωγή: Θέματα S/W 9

ΛΣ Πολυ-υπολογιστών Έχουν εντελώς διαφορετική δομή και πολυπλοκότητα από τα ΛΣΠ Οφείλεται στο γεγονός ότι οι δομές δεδομένων για την διαχείριση πόρων σε ολόκληρο το σύστημα δεν είναι πλέον εύκολο να χρησιμοποιούνται ως κοινόχρηστες με απλή τοποθέτησή τους στην φυσική κοινόχρηστη μνήμη Το μόνο μέσο επικοινωνίας είναι η μεταβίβαση μηνυμάτων Κάθε κόμβος έχει δικό του πυρήνα, ο οποίος περιέχει υπομονάδες για την διαχείριση τοπικών πόρων (μνήμη, CPU, δίσκος, κλπ) ιαθέτει μία ξεχωριστή υπομονάδα για την διαχείριση της επικοινωνίας μεταξύ επεξεργαστών, δηλαδή την αποστολή και λήψη μηνυμάτων προς και από άλλους κόμβους Εισαγωγή: Θέματα S/W 10

ΛΣ Πολυ-υπολογιστών 1.14 General structure of a multicomputer operating system Εισαγωγή: Θέματα S/W 11

ΛΣ Πολυ-υπολογιστών Πάνω από κάθε τοπικό πυρήνα υπάρχει ένα κοινό επίπεδο λογισμικού το οποίο υλοποιεί το ΛΣ ως μία εικονική μηχανή Το επίπεδο αυτό μπορεί ακόμη και να παρέχει ένα αφηρημένο μοντέλο πολυεπεξεργαστικού μηχανήματος Παρέχει μία πλήρη υλοποίηση κοινόχρηστης μνήμης μέσω λογισμικού Παραδείγματα μηχανισμών που υλοποιούνται σε αυτό το επίπεδο συνήθως είναι: Η ανάθεση μίας εργασίας σε έναν επεξεργαστή Η συγκάλυψη των αστοχιών υλικού Η διαφανής αποθήκευση Η γενική επικοινωνία μεταξύ διεργασιών ηλαδή, οι μηχανισμοί που θα περίμενε κανείς από οποιοδήποτε ΛΣ Εισαγωγή: Θέματα S/W 12

ΛΣ Πολυ-υπολογιστών Η σημειολογία των θεμελιωδών λειτουργιών μεταβίβασης μυνημάτων μπορεί να διαφέρει πολύ από σύστημα σε σύστημα Εξετάζουμε Αν γίνεται προσωρινή αποθήκευση των μηνυμάτων Αν μία διεργασία που στέλνει ή λαμβάνει μυνήματα μπλοκάρεται Αν υπάρχει χώρος προσωρινής αποθήκευσης στην μεριά του αποστολέα, τότε ο αποστολέας έχει νόημα να μπλοκάρεται μόνο όταν ο χώρος προσωρινής αποθήκευσης είναι γεμάτος Αν η επικοινωνία είναι αξιόπιστη Το χαρακτηριστικό της αξιόπιστης επικοινωνίας είναι ότι ο αποστολέας μπορεί να είναι σίγουρος ότι το μύνημά του θα παραδοθεί Εισαγωγή: Θέματα S/W 13

ΛΣ Πολυ-υπολογιστών 1.15 Alternatives for blocking and buffering in message passing Εισαγωγή: Θέματα S/W 14

ΛΣ Πολυ-υπολογιστών Στο σχήμα παρατηρούμε: Υπάρχουν μόνο 2 σημεία όπου τα μυνήματα μπορούν να αποθηκεύονται προσωρινά Αυτό οδηγεί σε 4 πιθανά σημεία συγχρονισμού, δηλαδή σημεία στα οποία ένας αποστολέας ή παραλήπτης μπορεί να μπλοκαριστεί Αν το λειτουργικό μπλοκάρει τον αποστολέα μέχρι να φτάσουν τα μυνήματα είτε στο S3 είτε στο S4, θα πρέπει να εγγυάται την αξιόπιστη επικοινωνία, αλλιώς μπορούμε να βρεθούμε σε μία κατάσταση όπου ο αποστολέας περιμένει επιβεβαίωση της παραλαβής ή της παράδοσης ενώ στο μεταξύ το μυνημά του έχει χαθεί κατά τη μετάδοση Εισαγωγή: Θέματα S/W 15

ΛΣ Πολυ-υπολογιστών Synchronization point Send buffer Reliable comm. guaranteed? Block sender until buffer not full Yes Not necessary Block sender until message sent No Not necessary Block sender until message received No Necessary Block sender until message delivered No Necessary Relation between blocking, buffering, and reliable communications Εισαγωγή: Θέματα S/W 16

Συστήματα Κατανεμημένης Κοινόχρηστης Μνήμης Η πράξη δείχνει ότι ο προγραμματισμός πολυ-υπολογιστών είναι δυσκολότερος από τον προγραμματισμό πολυεπεξεργαστών Η διαφορά οφείλεται στο γεγονός ότι η επικοινωνία είναι ευκολότερο να εκφραστεί με διεργασίες που προσπελάζουν κοινόχρηστα δεδομένα και χρησιμοποιούν απλές θεμελιώδεις αρχές συγχρονισμού, παρά με μόνο διαθέσιμο μέσο τους μηχανισμούς μεταβίβασης μυνημάτων Έχει γίνει έρευνα για την προσομοίωση κοινόχρηστης μνήμης σε πουυπολογιστές Ένας τρόπος προσέγγισης είναι να χρησιμοποιηθούν οι δυνατότηες εικονικής μνήμης του κάθε ξεχωριστού κόμβου με σκοπό την υποστήριξη ενός μεγάλου εικονικού χώρου διευθύνσεων Αυτό οδηγεί στην λεγόμενη σελιδοποιημένη κατανεμημένη κοινόχρηστη μνήμη (ΚΚΜ) Ως υποστηρικτικός χώρος αποθήκευσης χρησιμοποιείται η απομακρυσμένη RAM και όχι ο τοπικός δίσκος Αναπαραγωγή σελίδων οι οποίες είναι μόνο για ανάγνωση Ένα ζήτημα στη σχεδίαση είναι να αποφασιστεί πόσο μεγάλες θα πρέπει να είναι οι σελίδες Λανθασμένος μερισμός Εισαγωγή: Θέματα S/W 17

Συστήματα Κατανεμημένης Κοινόχρηστης Μνήμης a) Pages of address space distributed among four machines b) Situation after CPU 1 references page 10 c) Situation if page 10 is read only and replication is used Εισαγωγή: Θέματα S/W 18

Συστήματα Κατανεμημένης Κοινόχρηστης Μνήμης False sharing of a page between two independent processes. 1.18 Εισαγωγή: Θέματα S/W 19

Συστήματα Κατανεμημένης Κοινόχρηστης Μνήμης Στο μοντέλο της ΚΚΜ (Distributed Shared Memory DSM) οι μνήμες είναι μεν χωρικά κατανεμημένες αλλά αποτελούν ένα ενιαίο χώρο διευθύνσεων Έτσι ένας απομακρυσμένος επεξεργαστής μπορεί να ζητήσει μια διεύθυνση που βρίσκεται στην τοπική μνήμη ενός άλλου επεξεργαστή Σε αντίθεση με τους πολυεπεξεργαστές κοινής μνήμης οι πολυυπολογιστές DSM καλούνται μηχανές Μη-Ομοιόμορφης Προσπέλασης Μνήμης (Non-Uniform Memory Access NUMA) Ο λόγος είναι ότι τώρα, αν και ο χώρος διευθύνσεων είναι ενιαίος, διαφορετικό χρόνο προσπέλασης θα έχει μια κλήση που θα εξυπηρετηθεί από την τοπική μνήμη και διαφορετικό χρόνο (συνήθως μεγαλύτερο χρόνο) θα έχει μια κλήση που θα εξυπηρετηθεί από μια απομακρυσμένη μνήμη Εισαγωγή: Θέματα S/W 20

Συστήματα Κατανεμημένης Κοινόχρηστης Μνήμης Η ΚΚΜ για παράλληλο προγραμματισμό υψηλής απόδοσης δεν μπόρεσε να εκπληρώσει τις αρχικές προσδοκίες Αν λάβουμε υπόψη ότι η ευκολία προγραμματισμόυ αποτελούσε εξαρχής ένα σημαντικό λόγο για την ανάπτυξη συστυμάτων ΚΚΜ, η εξασθένιση της συνέπειας στην αναπαραγωγή σελίδων δεν αποτελεί πραγματικά μια εναλλακτική λύση Εισαγωγή: Θέματα S/W 21

ΛΣ Δικτύων Τα Λειτουργικά Συστήματα ικτύων (ΛΣ ) Network Operating Systems (NOS) Χρησιμοποιούνται σε ετερογενή και ομοιογενή συστήματα πολυυπολογιστών ίνουν στους χρήστες τη δυνατότητα να χρησιμοποιήσουν πόρους που διατίθενται από άλλους υπολογιστές του δικτύου Χωρίς όμως να κρύβουν ότι οι πόροι αυτοί δεν είναι τοπικοί Για παράδειγμα, σε ένα ΛΣ οι χρήστες μπορούν Να αντιγράφουν αρχεία μεταξύ διαφορετικών μηχανών Να εκτελούν εντολές σε απομακρυσμένες μηχανές Να συνδέονται σε απομακρυσμένες μηχανές Χρησιμοποιώντας το τοπικό τους σύστημα σαν τερματικό Εισαγωγή: Θέματα S/W 22

ΛΣ Δικτύων Τα λειτουργικά συστήματα κάθε μηχανής του δικτύου είναι ουσιαστικά ίδια με τα λειτουργικά συστήματα ενός επεξεργαστή, με ορισμένες προσθήκες για την υλοποίηση των δικτυακών υπηρεσιών Οι μηχανές μπορεί να διαθέτουν είτε όλες το ίδιο λειτουργικό σύστημα είτε διαφορετικά λειτουργικά συστήματα, αρκεί να συμφωνούν στο μορφότυπο (format) και στη σημασία των μηνυμάτων που μπορεί να ανταλλάξουν Οι προσθήκες αυτές δεν αλλάζουν τη βασική δομή του λειτουργικού συστήματος, αφού κάθε μηχανή διατηρεί πλήρη αυτονομία, ελέγχει πλήρως τους πόρους της και τους διαθέτει μέσω δικτύου κατόπιν ρητών αιτήσεων από απομακρυσμένους χρήστες Σαν αποτέλεσμα, ένα ΛΣ δεν παρέχει την εικόνα ενός μόνο συστήματος, οπότε δε θεωρείται ούτε αυτό κατανεμημένο σύστημα σύμφωνα με τον ορισμό Εισαγωγή: Θέματα S/W 23

ΛΣ Δικτύων 1-19 General structure of a Network Operating System Εισαγωγή: Θέματα S/W 24

ΛΣ Δικτύων Μία υπηρεσία που παρέχεται συνήθως από τα ΛΣ είναι η δυνατότητα εισόδου (log in) ενός χρήστη σε ένα άλλο μηχάνημα από απόσταση χρησιμοποιώντας μία εντολή όπως rlogin μηχάνημα Το αποτέλεσμα αυτής της εντολής είναι η μετατροπή του σταθμού εργασίας του χρήστη σε ένα απομακρυσμένο τερματικό συνδεδεμένο στο απομακρυσμένο μηχάνημα Για να περάσει ο χρήστης σε ένα άλλο απομακρυσμένο μηχάνημα πρέπει πρώτα να ανοίξει ένα νέο παράθυρο, και έπειτα να χρησιμοποιήσει την εντολή rlogin για να συνδεθεί με το νέο μηχάνημα Η επιλογή του μηχανήματος γίνεται, επομένως, απολύτως ρητά από τον χρήστη Ένα άλλο παράδειγμα είναι η εντολή rcp μηχάνημα1:αρχείο1 μηχάνημα2:αρχείο2 Εισαγωγή: Θέματα S/W 25

ΛΣ Δικτύων Στην πραγματικότητα, ένα ΛΣ κάνει ιδιαίτερα εμφανές το ότι το σύστημα αποτελείται από ανεξάρτητους υπολογιστές Για παράδειγμα, κάθε μηχανή έχει το δικό της σύστημα αρχείων, οπότε οι χρήστες όχι μόνο πρέπει να ορίζουν ρητά τις μηχανές ανάμεσα στις οποίες θέλουν να αντιγράψουν ένα αρχείο, αλλά θα πρέπει να γνωρίζουν και τη δομή του συστήματος αρχείων κάθε μηχανής ηλαδή, η θέση των αρχείων δεν είναι διαφανής (transparent) στους χρήστες, με την έννοια ότι οι χρήστες πρέπει να γνωρίζουν που ακριβώς (μηχανή και διαδρομή) βρίσκονται τα αρχεία που τους ενδιαφέρουν Εισαγωγή: Θέματα S/W 26

ΛΣ Δικτύων Εξυπηρετητές αρχείων (file servers) Για να αυξηθεί η ευελιξία ενός ΛΣ, πολλά τέτοια συστήματα παρέχουν ένα (κατα)μεριζόμενο καθολικό σύστημα αρχείων το οποίο υποστηρίζεται από μία ή περισσότερες μηχανές Οι υπόλοιπες μηχανές, γνωστές ως πελάτες (clients), μπορεί να υποστηρίζουν και τα δικά τους τοπικά συστήματα αρχείων, αν έχουν τοπικούς δίσκους Όλα τα αρχεία που μπορούν να (κατα)μεριστούν βρίσκονται αποθηκευμένα στους εξυπηρετητές, με αποτέλεσμα η θέση του κάθε αρχείου να είναι διαφανής στους χρήστες οι οποίοι προσπελάζουν τα απομακρυσμένα αρχεία με τον ίδιο τρόπο που προσπελάζουν τα τοπικά Τα κατανεμημένα συστήματα αρχείων είναι ουσιαστικά το πρώτο βήμα των ΛΣ προς την εικόνα του ενός μόνο συστήματος που παρέχεται από τα κατανεμημένα συστήματα Εισαγωγή: Θέματα S/W 27

ΛΣ Δικτύων Two clients and a server in a network operating system. 1-20 Two clients and a server in a Network Operating System Εισαγωγή: Θέματα S/W 28

ΛΣ Δικτύων Οι διακομιστές αρχείων διατηρούν ιεραρχικά συστήματα αρχείων καθένα από τα οποία έχει ένα βασικό κατάλογο (root directory) ο οποίος περιέχει υποκαταλόγους και αρχεία Οι clients μπορούν να εισάγουν ή να αναρτούν (mount) αυτά τα συστήματα αρχείων, αυξάνοντας τα τοπικά τους συστήματα αρχείων με προσθήκη εκείνων που βρίσκονται στους διακομιστές Η θέση που αναρτά ένας client κάποιο διακομιστή στην ιεραρχία των καταλόγων του δεν έχει σημασία Κάθε client μπορεί να έχει διαφορετική άποψη του συστήματος αρχείων Εισαγωγή: Θέματα S/W 29

ΛΣ Δικτύων 1.21 Different clients may mount the servers in different places Εισαγωγή: Θέματα S/W 30

ΛΣ Δικτύων Τα ΛΣ είναι πιο πρωτόγονα από τα ΚΛΣ Η κύρια διαφορά είναι ότι τα ΚΛΣ κάνουν σοβαρή προσπάθεια να επιτύχουν πλήρη διαφάνεια, δηλαδή να παράσχουν μία άποψη ενιαίου συστήματος Η έλλειψη διαφάνειας στα ΛΣ έχει μερικά προφανή μειονεκτήματα: Είναι πιο δύσχρηστα Καθώς οι χρήστες απαιτείται να αναφέρονται ρητά στα απομακρυσμένα μηχανήματα Υπάρχει πρόβλημα διαχείρισης Επειδή σε ένα ΛΣ όλα τα μηχανήματα είναι ανεξάρτητα, συχνά η διαχείρισή τους μπορεί να γίνεται μόνο ανεξάρτητα Αποκεντρωτικός τρόπος προσέγγισης της ασφάλειας Υπάρχουν κάποια πλεονεκτήματα των ΛΣ σε σύγκριση με τα ΚΛΣ Επειδή οι κόμβοι είναι σε μεγάλο βαθμό ανεξάρητοι μεταξύ τους, η πρόσθεση ή αφαίρεση ενός μηχανήματος είναι εύκολη Εισαγωγή: Θέματα S/W 31

ΛΣ Δικτύων Κατανεμημένα λειτουργικά συστήματα Κατάλληλα για ομοιογενή συστήματα πολύ-υπολογιστών Εικόνα ενός μόνο συστήματος Ίδιος πυρήνας σε όλες τις μηχανές Απόκρυψη κατανεμημένης επεξεργασίας Λειτουργικά συστήματα πολυεπεξεργαστών Κοινός χώρος διευθύνσεων και ρολόι Προσθήκη μηχανισμών συγχρονισμού επεξεργαστών Υποστήριξη συγχρονισμού μέσω υλικού Περιορισμένη κλιμάκωση Κατάλληλα για παράλληλη επεξεργασία Εισαγωγή: Θέματα S/W 32

ΛΣ Δικτύων Λειτουργικά συστήματα δικτύων Ανεξάρτητα ομοιογενή ή ετερογενή συστήματα Προσθήκη μηχανισμών επικοινωνίας μέσω δικτύου εν παρέχουν εικόνα ενός συστήματος Περιορισμένες υπηρεσίες Κατάλληλα για καταμερισμό πόρων Σύγχρονα κατανεμημένα συστήματα Επέκταση λειτουργικών συστημάτων δικτύου Αξιοποίηση βασικών δικτυακών υπηρεσιών Προσθήκη υπηρεσιών από ενδιάμεσο λογισμικό Παροχή πραγματικά κατανεμημένων υπηρεσιών Μερική εικόνα ενός μόνο συστήματος Εισαγωγή: Θέματα S/W 33

The Best of Both Worlds? DOS: too inflexible (all systems of the same type) NOS: too primitive (lowest common demoninator too much diversity) Middleware best possible compromise? Middleware = NOS + additional software layer Εισαγωγή: Θέματα S/W 34

Positioning Middleware 1-22 General structure of a distributed system as middleware Εισαγωγή: Θέματα S/W 35

Comparison between Systems Item Distributed OS Multiproc. Multicomp. Network OS Middlewarebased OS Degree of transparency Very High High Low High Same OS on all nodes Yes Yes No No Number of copies of OS 1 N N N Basis for communication Resource management Shared memory Global, central Messages Files Model specific Global, distributed Per node Per node Scalability No Moderately Yes Varies Openness Closed Closed Open Open Εισαγωγή: Θέματα S/W 36

Uniprocessor Operating Systems Separating applications from operating system code through a microkernel. 1.11 Εισαγωγή: Θέματα S/W 37