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

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ"

Transcript

1 ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ρ Ζαφείριος Καραΐσκος ΤΕΙ Λάρισας 9/6/2009

2 1. ΕΙΣΑΓΩΓΗ 1.α. Ορισµός Λ.Σ. για Η/Υ ενός επεξεργαστή "Λειτουργικό σύστηµα είναι µια οµάδα προγραµµάτων τα οποία επικοινωνούν µε το χρήστη και εκτελούν τις εντολές του διαχειριζόµενα τις συσκευές του Η/Υ." Εικόνα 1.1. Λειτουργικό σύστηµα για Η/Υ ενός επεξεργαστή. 1.β. Λ.Σ. για Η/Υ πολλών επεξεργαστών ιεπαφή χρήστη και εφαρµογές Λειτουργικό σύστηµα CPU... CPU Χαρακτηριστικά: Εικόνα 1.2. Λειτουργικό σύστηµα για Η/Υ πολλών επεξεργαστών. Ο Η/Υ έχει µια µνήµη κοινή για όλους τους επεξεργαστές. Υπάρχει συγχρονισµός µεταξύ των διεργασιών που εκτελούνται από τους επεξεργαστές. Η προσπέλαση κοινών πόρων γίνεται βάση του αµοιβαίου αποκλεισµού. Το σύστηµα παρέχει θεµελιώδεις (primitive) µηχανισµούς για την υλοποίηση των παραπάνω. 2

3 1.γ. Λ.Σ. για πολλούς Η/Υ Η/Υ Α Η/Υ Β Η/Υ Γ Κατανεµηµένες Εφαρµογές Κατανεµηµένο Λειτουργικό Σύστηµα πυρήνας πυρήνας πυρήνας ίκτυο Εικόνα 1.3. Λειτουργικό σύστηµα για πολλούς Η/Υ. Ο πυρήνας (kernel) κάνει τη διαχείριση των διεργασιών ενός Η/Υ. Ο κάθε πυρήνας διαχειρίζεται τις τοπικές συσκευές και τη διαδιεργασιακή επικοινωνία. Το πρώτο επίπεδο πάνω από τους πυρήνες είναι το Κατανεµηµένο Λειτουργικό Σύστηµα (Κ.Λ.Σ.). υνατότητες του Κ.Λ.Σ. είναι: α) Η ανάθεση εργασιών στους επεξεργαστές. β) Η συγκάλυψη των αποτυχιών του υλικού (hardware). γ) Η παροχή διαφανούς (transparent) µνήµης. δ) Η δια-διεργασιακή επικοινωνία. ΠΑΡΑΤΗΡΗΣΗ: Η δια-διεργασιακή επικοινωνία θα συζητηθεί σε ξεχωριστό κεφάλαιο. 1.δ. Κατανεµηµένα συστήµατα κοινής µνήµης Ένα Κ.Λ.Σ. µπορεί να παρέχει κοινή κατανεµηµένη µνήµη (Κ.Κ.Μ.) ή όχι. Η παροχή Κ.Κ.Μ. διευκολύνει το συγχρονισµό και την επικοινωνία των διεργασιών, για παράδειγµα, οι σηµατοφόροι, οι ελεγκτές και η αποστολή µηνυµάτων διευκολύνουν περισσότερο από την παροχή µόνο της αποστολής µηνυµάτων. Ζητήµατα όπως ενδιάµεση αποθήκευση (buffering), φράξιµο (blocking) και αξιοπιστία δυσχεραίνουν την κατάσταση. Για το λόγο αυτό, έχει γίνει σηµαντική έρευνα για τη µίµηση της κοινής µνήµης σε συστήµατα πολλών Η/Υ. Σκοπός είναι η παροχή εικονικής µνήµης. Θα µελετηθεί σε επόµενο κεφάλαιο. 3

4 1.ε. Λειτουργικά συστήµατα δικτύων (Λ.Σ...) Η/Υ Α Η/Υ Β Η/Υ Γ Κατανεµηµένες Εφαρµογές Λ.Σ.. Λ.Σ.. Λ.Σ.. πυρήνας πυρήνας πυρήνας ίκτυο Εικόνα 1.4. Λειτουργικό σύστηµα δικτύου. Σε αντίθεση µε τα Κ.Λ.Σ., τα Λ.Σ.. δε θεωρούν ότι το υποκείµενο υλικό είναι οµοιογενές, το οποίο θα έπρεπε να φαίνεται ως ένα σύστηµα. Υπάρχουν διάφορα υπολογιστικά συστήµατα ενός επεξεργαστή, το καθένα µε το δικό του Λ.Σ., όπως φαίνεται στο παραπάνω σχήµα. Είναι όλα συνδεδεµένα σε ένα δίκτυο. Τα Λ.Σ.. παρέχουν τη δυνατότητα στους χρήστες να κάνουν χρήση των υπηρεσιών που διαθέτει συγκεκριµένος Η/Υ. Μεγάλη διαφορά µεταξύ των δύο Λ.Σ. (Κ.Λ.Σ. και Λ.Σ..) είναι η διαφάνεια (transparency). Τα Κ.Λ.Σ. επιδιώκουν την πλήρη διαφάνεια, δηλαδή, την άποψη ενός συστήµατος. Τα Λ.Σ.. απαιτούν την είσοδο σε συγκεκριµένο Η/Υ του δικτύου. Αυτό φυσικά καταστρατηγεί τη διαφάνεια. 1.στ. Middleware Σύµφωνα µε τον ορισµό των κατανεµηµένων συστηµάτων: "Ένα κατανεµηµένο σύστηµα είναι µια συλλογή από ανεξάρτητους Η/Υ, οι οποίοι εµφανίζονται στους χρήστες ως ένα ενιαίο συναφές σύστηµα." ούτε τα Κ.Λ.Σ. είναι κατανεµηµένα αφού δε χειρίζονται ανεξάρτητους Η/Υ, ούτε τα Λ.Σ.. παρέχουν την όψη ενός ενιαίου συναφούς συστήµατος. 4

5 Εικόνα 1.5. Middleware. Για να συνδυάσουν την προσαρµοστικότητα και την ανοικτότητα των Λ.Σ.. µε τη διαφάνεια και την ευκολία χρήσης των Κ.Λ.Σ. πολλά µοντέρνα κατανεµηµένα συστήµατα κατασκευάζονται µε ένα επιπρόσθετο στρώµα, που ονοµάζεται middleware. Αυτό, όµως, είναι θέµα του µαθήµατος "Κατανεµηµένα Συστήµατα". 5

6 2. ΙΑ- ΙΕΡΓΑΣΙΑΚΗ ΕΠΙΚΟΙΝΩΝΙΑ 2.α. Μεταβίβαση µηνυµάτων (Message passing) Η δια-διεργασιακή επικοινωνία (interprocess communication) αφορά την µεταβίβαση µηνυµάτων µεταξύ των διεργασιών. Μεταβίβαση ενός µηνύµατος από µια διεργασία σε άλλη, είναι η αντιγραφή δεδοµένων από το χώρο µνήµης της µιας διεργασίας στο χώρο µνήµης της άλλης διεργασίας. Γι αυτό το σκοπό χρησιµοποιούνται δύο θεµελιώδεις εντολές: send(παραλήπτης, µήνυµα) και receive(αποστολέας, µήνυµα) Για να επιτευχθεί η επικοινωνία µεταξύ δύο διεργασιών, η µία διεργασία στέλνει ένα µήνυµα µε την εντολή send, το οποίο λαµβάνει η άλλη µε την εντολή receive. Για να πραγµατοποιηθεί η επικοινωνία ίσως χρειαστεί ο συγχρονισµός των διεργασιών. Εικόνα 2.1. Επικοινωνία δύο διεργασιών. 2.β. Σύγχρονη και ασύγχρονη επικοινωνία Οι δύο θεµελιώδεις εντολές µπορεί να εκτελούνται µε φράξιµο (blocking) ή χωρίς-φράξιµο (nonblocking). Φράξιµο σηµαίνει ότι η καλούσα διεργασία παύει να εκτελείται µέχρι να ολοκληρώσει η εντολή την εργασία της. Άρα χωρίς-φράξιµο, η καλούσα διεργασία συνεχίζει να εκτελείται χωρίς να περιµένει την ολοκλήρωση της εντολής. Υπάρχουν δύο είδη επικοινωνίας, η σύγχρονη και η ασύγχρονη. 1. Σύγχρονη send και σύγχρονη receive. Η εντολή send επιστρέφει τον έλεγχο στην καλούσα διεργασία µόνον εφ' όταν η αντίστοιχη receive, στην πλευρά του παραλήπτη, τερµατίσει επιτυχώς και στείλει επιβεβαίωση λήψης του µηνύµατος στον αποστολέα. 6

7 { Αποστολή µηνύµατος } Αποστολή επιβεβαίωσης Εικόνα 2.2. Σύγχρονη επικοινωνία. Μέχρι τη λήψη της επιβεβαίωσης, ο αποστολέας δεν µπορεί να συνεχίσει την εκτέλεση του κώδικά του. Η λήψη της επιβεβαίωσης υπονοεί ότι ο παραλήπτης έλαβε όλο το µήνυµα. Συνεπώς, η ολοκλήρωση της send εγγυάται ότι το µήνυµα ελήφθη µε επιτυχία. 2. Ασύγχρονη send και σύγχρονη receive. Η ασύγχρονη send, επιστρέφει τον έλεγχο στην καλούσα διεργασία, όταν το µήνυµα αποσπασθεί από το χώρο µνήµης της διεργασίας. Αποστολέας Παραλήπτης send Αποστολή µηνύµατος } receive blocked state Αποστολή επιβεβαίωσης Εικόνα 2.3. Ασύγχρονη send και σύγχρονη receive. Σε σύγκριση µε την σύγχρονη send, η ασύγχρονη επιτρέπει τη διεργασία αποστολής να ανακτήσει πολύ νωρίτερα, αλλά δεν εγγυάται ότι το µήνυµα έφτασε ή θα φτάσει στην κατάλληλη 7

8 διεργασία. Η εξασφάλιση αυτής της εγγύησης θα απαιτούσε επιπρόσθετη συνεννόηση (handshaking) µεταξύ των διεργασιών. 3. Ασύγχρονη send και ασύγχρονη receive µε φράξιµο. Η ασύγχρονη µε φράξιµο receive είναι παρόµοια µε την σύγχρονη receive επειδή επιστρέφει τον έλεγχο στην καλούσα διεργασία µόνον όταν το µήνυµα έχει µεταφερθεί µε επιτυχία στον προορισµό του. Αποστολέας Παραλήπτης send Αποστολή µηνύµατος } receive blocked state Εικόνα 2.2 Ασύγχρονη send ασύγχρονη receive µε φράξιµο. Αντίθετα µε τη σύγχρονη receive, η receive µε φράξιµο δε στέλνει επιβεβαίωση λήψης στον αποστολέα. 4. Ασύγχρονη send και ασύγχρονη receive. Οι χωρίς φράξιµο send και receive επιτρέπουν τη µεγαλύτερη αλληλοεπικάλυψη (overlap) µεταξύ υπολογισµού και µεταβίβασης µηνύµατος επιστρέφοντας το συντοµότερο στην καλούσα διεργασία. Μια χωρίς φράξιµο send επιστρέφει τον έλεγχο αµέσως. Μια χωρίς φράξιµο receive επιστρέφει τον έλεγχο αφού πρώτα στείλει την πρόθεση λήψης. Η λήψη µηνύµατος και η τοποθέτησή του στο χώρο µνήµης της διεργασίας εκτελείται ασύγχρονα, σε απροσδιόριστη στιγµή, από το σύστηµα. 8

9 Αποστολέας Παραλήπτης send Αποστολή µηνύµατος receive Εικόνα 2.3 Ασύγχρονη send και ασύγχρονη receive Στις χωρίς φράξιµο send και receive η επιστροφή του ελέγχου δεν υπονοεί τίποτα για την κατάσταση του µηνύµατος, οπότε είναι ευθύνη του χρήστη να προσδιορίσει αυτήν την κατάσταση. Ξεχωριστές θεµελιώδεις-εντολές (primitives) παρέχονται για τη διερεύνηση της κατάστασης. Μηνύµατα χωρίς φράξιµο, συνεπώς, χρησιµοποιούνται σε δύο φάσεις: πρώτα η send/receive εκτελεί το δικό της κώδικα και µετά, όταν χρειάζεται, τις θεµελιώδεις-εντολές διερεύνησης. Οι θεµελιώδεις-εντολές µπορούν να φράξουν µέχρι να παρατηρηθεί η επιθυµητή κατάσταση ή να επιστρέψουν τον έλεγχο αµέσως και απλώς να αναφέρουν την παρατηρηθείσα κατάσταση. 2.γ. Παραδείγµατα επικοινωνίας 2.γ.1 Σωλήνες (pipes) Οι σωλήνες παρέχουν επικοινωνία µεταξύ δύο διεργασιών µέσω ενός πεπερασµένου µήκους buffer, το οποίο υλοποιείται από τον πυρήνα. Τα µηνύµατα αποθηκεύονται στο buffer µε διάταξη FIFO. Οι εντολές είναι σύγχρονες διότι µπλοκάρουν τις διεργασίες που τις καλούν µέχρι την ολοκλήρωση της εργασίας τους. Στο UNIX, παραδοσιακά, οι σωλήνες είναι µιας κατεύθυνσης και επιτρέπουν την επικοινωνία µεταξύ διεργασιών που έχουν κοινό πρόγονο ή γονέα/τέκνων ή µεταξύ νηµάτων. ηµιουργούνται µε τη συνάρτηση pipe(). 9

10 #include <unistd.h> int pipe(int fd[2]); Η pipe επιστρέφει δύο descriptors: fd[0] για το γράψιµο µηνύµατος στο σωλήνα και fd[1] για το διάβασµα µηνύµατος από το σωλήνα. Οι συναρτήσεις, αντίστοιχες των send και receive, είναι οι write και read. 2.γ.2 FIFOs Τα FIFOs ή σωλήνες µε όνοµα (named pipes) παρέχουν επικοινωνία µεταξύ µη-συσχετιζοµένων διεργασιών µέσω µιας κοινής δοµής δεδοµένων. Στο UNIX τα FIFOs είναι µιας κατεύθυνσης και το καθένα συνδέεται µε µια διαδροµή\όνοµα_αρχείου (pathname). ηµιουργούνται µε τη συνάρτηση mkfifo(). #include <sys/types.h> #include <sys/stat.h> int mkfifo(const char *pathname, mode_t mode); Όταν το FIFO δηµιουργηθεί, πρέπει να ανοιχτεί µε την συνάρτηση open() µόνο για διάβασµα ή µόνο για γράψιµο. Οι συναρτήσεις, αντίστοιχες των send και receive, είναι οι write και read. Οι open, read και write είναι blocking. Όταν υπάρχουν περισσότεροι από 1 writers, ένας τρόπος να τους διαχωρίζει ο reader είναι να µεταβιβάζουν µαζί µε το µήνυµα και ένα αναγνωριστικό γνωστό στο reader. Αυτή η προσέγγιση επιτρέπει περισσότερη ευελιξία, αφού µαζί µε τις παραπάνω πληροφορίες µπορεί να αποσταλεί και το µήκος του µηνύµατος ή άλλες πληροφορίες. Τα παραπάνω µπορούν να υλοποιηθούν µε την εξής δοµή: typedef struct { short id; short mikos; char mhnyma[1024]; } PAKETO; 2.γ.3 Ουρές µηνυµάτων Μια διεργασία µπορεί να δηµιουργήσει µια νέα ουρά µηνυµάτων ή να συνδεθεί µε µια που ήδη υπάρχει. Μια ουρά µηνυµάτων πρέπει να καταστρέφεται όταν δε χρειάζεται. Οποιαδήποτε διεργασία µε επαρκή 10

11 προνόµια µπορεί να τοποθετήσει ένα µήνυµα σε µια ουρά και οποιαδήποτε διεργασία µε επαρκή προνόµια µπορεί να διαβάσει ένα µήνυµα από µια ουρά. Στην εικόνα που ακολουθεί απεικονίζεται µια ουρά µηνυµάτων ως συνδεδεµένη λίστα. Εικόνα 2.4 Απεικόνιση µιας ουράς µηνυµάτων ως συνδεδεµένη λίστα. Οι ουρές µηνυµάτων δηµιουργούνται µε τη συνάρτηση msgget(). #include <sys/msg.h> int msgget(key_t key, int oflag); Οι εντολές, αντίστοιχες των send και receive, είναι οι msgsnd και msgrcv. Κάθε µήνυµα αποτελείται από δύο µέρη, που ορίζονται από την εξής δοµή: typedef struct mq{ long mtype; char mhnyma[1]; /* Μπορεί να είναι δοµή */ } MHNYMA; 2.δ. Υποδοχές (sockets) Η υποδοχή είναι ένας µηχανισµός που παρέχει επικοινωνία δύο κατευθύνσεων. Υπάρχουν πολλών ειδών υποδοχές, δύο εκ των οποίων είναι οι υποδοχές διαδικτύου και οι υποδοχές UNIX. Θα εξετάσουµε τις υποδοχές διαδικτύου και ιδιαίτερα τις υποδοχές-ροής (stream-sockets) και τις datagram υποδοχές. Οι υποδοχές-ροής είναι αξιόπιστη επικοινωνία δύο-κατευθύνσεων. Η µεταβίβαση των µηνυµάτων είναι fifo. Υποδοχές-ροής χρησιµοποιεί το HTTP πρωτόκολλο των φυλλοµετρητών διαδικτύου. Οι υποδοχές-ροής χρησιµοποιούν το πρωτόκολλο TCP. Οι datagram-υποδοχές δε χρησιµοποιούν TCP, χρησιµοποιούν όµως IP για τη δροµολόγηση στο διαδίκτυο, και το User Datagram Protocol 11

12 (UDP). Οι datagram-υποδοχές υλοποιούν τη λεγόµενη ασύνδετη επικοινωνία, διότι δε χρειάζεται να διατηρούν µια ανοιχτή σύνδεση, όπως οι υποδοχές-ροής. Το µόνο που χρειάζεται είναι το µήνυµα και η ΙΡ κεφαλίδα για να γίνει η αποστολή. Η δια-διεργασιακή επικοινωνία συνίσταται στην µεταβίβαση ενός µηνύµατος από την υποδοχή µιας διεργασίας στην υποδοχή άλλης διεργασίας, όπως φαίνεται στο σχήµα που ακολουθεί. Εικόνα 2.7. Μεταβίβαση µηνύµατος από υποδοχή σε υποδοχή. Μια διεργασία, για να λάβει µηνύµατα, πρέπει να είναι δεµένη σε µια τοπική πόρτα και µία από τις διευθύνσεις διαδικτύου του Η/Υ στον οποίο εκτελείται. Τα µηνύµατα που στέλνονται σε συγκεκριµένη διεύθυνση διαδικτύου και συγκεκριµένο αριθµό πόρτας, µπορούν να ληφθούν µόνο από µια διεργασία της οποίας η υποδοχή είναι συνδεδεµένη µε τη συγκεκριµένη διεύθυνση διαδικτύου και το συγκεκριµένο αριθµό πόρτας. ιεργασίες µπορούν να χρησιµοποιήσουν την ίδια υποδοχή για την αποστολή και λήψη µηνυµάτων. Κάθε Η/Υ έχει ένα µεγάλο αριθµό ( 2 16 ) δυνατών αριθµών πορτών, που µπορούν να χρησιµοποιήσουν οι τοπικές διεργασίες για τη λήψη µηνυµάτων. Κάθε διεργασία µπορεί να λάβει µηνύµατα από πολλές πόρτες, αλλά µια διεργασία δεν µπορεί να µοιράζεται πόρτες µε άλλες διεργασίες στον ίδιο Η/Υ. Οι διεργασίες που χρησιµοποιούν πολλαπλής διανοµής ΙΡ 1, αποτελούν εξαίρεση διότι αυτές µοιράζονται πόρτες. Ωστόσο, πολλές διεργασίες µπορούν να στείλουν µηνύµατα στην ίδια πόρτα. Κάθε υποδοχή συνδέεται µε συγκεκριµένο πρωτόκολλο, είτε το UDP είτε το TCP. 2.δ.1. UDP datagram επικοινωνία Ένα datagram 2 που στέλνεται µε UDP, µεταβιβάζεται από µια διεργασία αποστολέα σε µια διεργασία παραλήπτη, χωρίς επιβεβαίωση ή επαναληπτικές προσπάθειες. Αν συµβεί µια αποτυχία, το µήνυµα µπορεί να µην φτάσει. Ένα datagram είναι διαβιβασθέν, όταν µια διεργασία το έχει στείλει και µια άλλη διεργασία το έχει παραλάβει. Μια διεργασία για να στείλει ή να λάβει µηνύµατα πρέπει πρώτα να δέσει µια υποδοχή µε 1 Αποστολή ενός ΙΡ πακέτου σε οµάδα Η/Υ. 2 Ένα datagram είναι ένα µικρό "πακέτο", τµήµα ενός µεγαλύτερου µηνύµατος, που περιέχει την πλήρη διεύθυνση του οικοδεσπότη αποστολέα και του οικοδεσπότη παραλήπτη. 12

13 µια διεύθυνση διαδικτύου του τοπικού οικοδεσπότη και µια τοπική πόρτα. Ένας εξυπηρετητής θα δέσει την υποδοχή του µε µια πόρτα εξυπηρετητή, την οποία θα γνωστοποιήσει σε πελάτες ώστε να µπορούν να στείλουν µηνύµατα σ' αυτή. Ένας πελάτης δένει την υποδοχή του σε οποιαδήποτε ελεύθερη τοπική πόρτα. Η λήψη επιστρέφει τη διεύθυνση διαδικτύου και την πόρτα του αποστολέα, µαζί µε το µήνυµα, δίνοντας έτσι τη δυνατότητα στον παραλήπτη να απαντήσει. Οι παράγραφοι που ακολουθούν παρουσιάζουν κάποια ζητήµατα σχετιζόµενα µε την datagram επικοινωνία: Μέγεθος µηνύµατος. Η διεργασία λήψης χρειάζεται να καθορίσει έναν πίνακα bytes συγκεκριµένου µεγέθους στον οποίο θα υποδεχθεί το µήνυµα. Αν το µήνυµα είναι πολύ µεγάλο για τον πίνακα, περικόπτεται κατά την άφιξη. Το υποκείµενο ΙΡ πρωτόκολλο επιτρέπει πακέτα µήκους 16 µέχρι 2 byte, συµπεριλαµβανοµένης της κεφαλίδας. Εν τούτοις, τα περισσότερα περιβάλλοντα επιβάλλουν µέγιστο µέγεθος byte. Εφαρµογές που απαιτούν µεγαλύτερα µηνύµατα πρέπει να τα τεµαχίσουν σε κοµµάτια αυτού του µεγέθους. Γενικά, µια εφαρµογή, για παράδειγµα το DNS, καθορίζει ένα µέγεθος που δεν είναι υπερβολικά µεγάλο αλλά είναι επαρκές για την προτιθέµενη χρήση. Φράξιµο. Οι υποδοχές συνήθως παρέχουν send χωρίς φράξιµο και receive µε φράξιµο για datagram επικοινωνία (η receive χωρίς φράξιµο είναι επιλογή σε κάποιες υλοποιήσεις). Η πράξη send επιστρέφει αφού έχει παραδώσει το µήνυµα στα υποκείµενα UDP και IP πρωτόκολλα, τα οποία είναι υπεύθυνα για τη µεταβίβασή του στον προορισµό του. Με την άφιξη, το µήνυµα τοποθετείται σε µια ουρά της υποδοχής που είναι (η υποδοχή) δεµένη µε την πόρτα προορισµού. Το µήνυµα µπορεί να περισυλλεγεί από την ουρά από µια εκκρεµή κλήση ή µια µελλοντική κλήση της receive επί αυτής της υποδοχής. Μηνύµατα απορρίπτονται (πετάγονται) στον προορισµό όταν καµία διεργασία δεν έχει ήδη δέσει µια υποδοχή µε την πόρτα προορισµού. Η receive φράζεται µέχρι να ληφθεί ένα datagram, εκτός και αν έχει τεθεί λήξη χρόνου στην υποδοχή. Αν η διεργασία που καλεί τη receive έχει να κάνει άλλη δουλειά περιµένοντας το µήνυµα, πρέπει να κανονίσει για ξεχωριστό νήµα (thread). Λήξη χρόνου. Η receive µε ατελείωτο φράξιµο, είναι κατάλληλη για χρήση από έναν εξυπηρετητή που περιµένει να λάβει αιτήµατα από τους πελάτες του. Σε µερικά, όµως, προγράµµατα δεν είναι πρέπων να περιµένει επ' αόριστον σε περίπτωση που ο ενδεχόµενος αποστολέας έχει συντριβεί ή το µήνυµα έχει χαθεί. Τέτοιες περιπτώσεις αντιµετωπίζονται θέτοντας λήξη χρόνου στις υποδοχές. Η επιλογή του κατάλληλου χρονικού διαστήµατος χρόνου είναι δύσκολη, αλλά θα πρέπει να είναι 13

14 αρκούντως µεγάλο σε σύγκριση µε το χρόνο που χρειάζεται ένα µήνυµα να µεταβιβαστεί. Λήψη από οποιονδήποτε. Η receive δεν καθορίζει την προέλευση των µηνυµάτων. Αντ' αυτού, η κλήση της receive λαµβάνει ένα µήνυµα που κατευθύνεται στην υποδοχή της από οποιαδήποτε προέλευση. Η receive επιστρέφει τη διεύθυνση διαδικτύου και την τοπική πόρτα του αποστολέα, επιτρέποντας τον παραλήπτη να ελέγξει την προέλευσή του. Είναι δυνατόν να συνδέσουµε µια datagram υποδοχή µε συγκεκριµένη αποµακρυσµένη πόρτα και διεύθυνση διαδικτύου, οπότε η υποδοχή είναι σε θέση να στέλνει σε και να λαµβάνει µηνύµατα µόνο από αυτή τη διεύθυνση. Σε κάποιες εφαρµογές είναι αποδεκτή η χρήση υπηρεσιών οι οποίες είναι αντικείµενο σποραδικών αποτυχιών. Για παράδειγµα, η Υπηρεσία Ονοµάτων Περιοχής, η οποία ανατρέχει DNS ονόµατα στο διαδίκτυο, υλοποιείται πάνω σε UDP. Voice over IP τρέχει επίσης, πάνω σε UDP. UDP datagrams είναι πολλές φορές µια ελκυστική επιλογή, διότι δεν «πάσχουν» από επιβαρύνσεις (overheads), πού σχετίζονται µε την εγγυηµένη διανοµή µηνυµάτων. Υπάρχουν τρεις κύριες πηγές επιβάρυνσης: α. η ανάγκη αποθήκευσης της κατάστασης σε αφετηρία και προορισµό. β. Η µεταβίβαση πρόσθετων µηνυµάτων. γ. Η λανθάνουσα κατάσταση (latency) του αποστολέα. 2.δ.2. TCP ρεύµα επικοινωνίας Αυτού του είδους η επικοινωνία παρέχει την αφαίρεση (abstraction) ενός ρεύµατος byte, στο οποίο δεδοµένα µπορούν να εισαχθούν σ αυτό όπως επίσης να εξαχθούν (διαβαστούν) από αυτό. Τα ακόλουθα χαρακτηριστικά του δικτύου αποκρύπτονται από το ρεύµα: Μέγεθος µηνύµατος: Η εφαρµογή επιλέγει το πλήθος των δεδοµένων που θα γράψει στο ρεύµα ή θα διαβάσει από αυτό. Μπορεί να επιλέξει µεταξύ πολύ µικρής ή πολύ µεγάλης οµάδας δεδοµένων. Η υποκείµενη υλοποίηση του TCP ρεύµατος, αποφασίζει πόσα δεδοµένα θα συγκεντρώσει πριν τα µεταβιβάσει ως ένα ή περισσότερα IP πακέτα. Με την άφιξη τα δεδοµένα παραχωρούνται στην εφαρµογή που τα ζήτησε. Οι εφαρµογές δύνανται, εν ανάγκη, να πιέσουν ώστε τα δεδοµένα να σταλούν αµέσως. Χαµένα µηνύµατα: Το TCP πρωτόκολλο κάνει χρήση του σχήµατος επιβεβαίωσης. Για παράδειγµα, ο παραλήπτης στέλνει επιβεβαίωση για κάθε παραλαβή. Αν ο αποστολέας δε λάβει επιβεβαίωση µε τη λήξη χρόνου, ξαναστέλνει το µήνυµα. 14

15 Έλεγχος ροής: Το TCP πρωτόκολλο προσπαθεί να ταιριάξει την ταχύτητα των διεργασιών που γράφουν στο ρεύµα και διαβάζουν από το ρεύµα. Αν ο αποστολέας είναι γρηγορότερος του παραλήπτη, τότε φράζεται µέχρι ο παραλήπτης να διαβάσει αρκετά από τα µηνύµατα. ιπλότυπα µηνυµάτων και ταξινόµηση: Τα αναγνωριστικά των µηνυµάτων συνδέονται µε κάθε ΙΡ πακέτο, γεγονός που επιτρέπει στον παραλήπτη να ανιχνεύσει και να απορρίψει τα διπλότυπα ή να απαναταξινοµήσει τα µηνύµατα, τα οποία δε φτάνουν µε τη σειρά που στάλθηκαν. Προορισµός µηνύµατος: Ένα ζευγάρι επικοινωνούντων διεργασιών, εγκαθιστούν µια σύνδεση πριν µπορέσουν να επικοινωνήσουν µε ρεύµα. Μόλις επιτευχθεί η σύνδεση, οι διεργασίες απλώς γράφουν ή διαβάζουν στο ρεύµα, χωρίς να χρειάζεται να χρησιµοποιήσουν διευθύνσεις διαδικτύου και πόρτες. Η εγκατάσταση µιας σύνδεσης περιλαµβάνει ένα connect αίτηµα του πελάτη προς τον εξυπηρετητή, ακολουθούµενο από µια accept απόκριση του εξυπηρετητή προς τον πελάτη, πριν η επικοινωνία λάβει χώρα. Αυτό µπορεί να είναι σηµαντική επιβάρυνση για ένα απλό πελάτη-εξυπηρετητή αίτηµα και απόκριση. Η επικοινωνία ρεύµατος υποθέτει ότι όταν ένα ζευγάρι διεργασιών εγκαθιστά µια σύνδεση, µία από αυτές παίζει το ρόλο του πελάτη και η άλλη παίζει το ρόλο του εξυπηρετητή. Ο ρόλος του πελάτη περιλαµβάνει τη δηµιουργία µιας υποδοχής ρεύµατος δεµένης σε κάποια πόρτα και κατόπιν την υποβολή αιτήµατος connect ζητώντας σύνδεση µε τον εξυπηρετητή στην πόρτα του εξυπηρετητή. Ο ρόλος του εξυπηρετητή περιλαµβάνει τη δηµιουργία µιας αφουγκραζόµενης υποδοχής δεµένης σε µια πόρτα του εξυπηρετητή και την αναµονή του αιτήµατος πελάτη για σύνδεση. Η αφουγκραζόµενη υποδοχή διατηρεί ουρά εισερχοµένων αιτηµάτων σύνδεσης. Στο µοντέλο υποδοχής, όταν ο εξυπηρετητής αποδέχεται µια σύνδεση (µε τη συνάρτηση accept), δηµιουργείται µια νέα υποδοχή ρεύµατος µε σκοπό την επικοινωνία του εξυπηρετητή µε έναν πελάτη, διατηρώντας, εν τω µεταξύ, την αρχική υποδοχή του δεµένη µε την πόρτα για το άκουσµα νέων αιτηµάτων connect από άλλους πελάτες. Το ζεύγος υποδοχών του πελάτη και του εξυπηρετητή συνδέονται µε ένα ζεύγος ρευµάτων, ένα για κάθε κατεύθυνση. Μία από το ζεύγος διεργασιών στέλνει πληροφορίες στην άλλη γράφοντας στο εξερχόµενο ρεύµα και η άλλη διεργασία λαµβάνει την πληροφορία διαβάζοντας το εισερχόµενο ρεύµα. Όταν µια εφαρµογή κλείνει µια υποδοχή (µε τη συνάρτηση close), δηλώνει ότι δε θα γράψει άλλα δεδοµένα στο εξερχόµενο ρεύµα. εδοµένα που βρίσκονται στο buffer εξερχοµένων αποστέλλεται στο 15

16 άλλο άκρο του ρεύµατος και τοποθετείται στην ουρά της υποδοχής προορισµού µε την ένδειξη ότι το ρεύµα διεκόπει. Η διεργασία στον προορισµό µπορεί να διαβάσει τα δεδοµένα από την ουρά, αλλά κάθε προσπάθεια να συνεχίσει το διάβασµα, αφού η ουρά έχει αδειάσει, θα έχει ως αποτέλεσµα την ένδειξη του τέλους του ρεύµατος. Όταν µια διεργασία εξέρχεται ή αποτυγχάνει, όλες οι υποδοχές κλείνουν και οποιαδήποτε προσπάθεια επικοινωνίας µε αυτή θα βρει τη σύνδεση κοµµένη. Ακολουθούν κάποια σηµαντικά ζητήµατα σχετικά µε την επικοινωνία ρεύµατος: Ταίριασµα δεδοµένων: ύο επικοινωνούσες διεργασίας πρέπει να συµφωνήσουν ως προς το περιεχόµενο των δεδοµένων των µεταβιβαζόµενων µε το ρεύµα, ώστε να µην υπάρξει παρερµηνεία από τον παραλήπτη. Για παράδειγµα, αν µια διεργασία γράψει στο ρεύµα ένα ακέραιο ακολουθούµενο από έναν πραγµατικό αριθµό, πρέπει και ο παραλήπτης να διαβάσει ένα ακέραιο αριθµό ακολουθούµενο από έναν πραγµατικό. Φράξιµο: Τα δεδοµένα που γράφονται στο ρεύµα, φυλάσσονται σε µια ουρά της υποδοχής προορισµού. Όταν µια διεργασία επιχειρεί να διαβάσει δεδοµένα από ένα εισερχόµενο ρεύµα, θα τα λάβει από την ουρά ή θα φράξει µέχρι να υπάρξουν διαθέσιµα. Η διεργασία που γράφει δεδοµένα σε ρεύµα µπορεί να φράξει, από το µηχανισµό ελέγχου TCP ροής, αν η υποδοχή στο άλλο άκρο φυλάσσει στην ουρά τόσα δεδοµένα όσα επιτρέπει το πρωτόκολλο. Νήµατα: Όταν ένας εξυπηρετητής αποδέχεται µια σύνδεση, δηµιουργεί, εν γένει, ένα νέο νήµα µέσω του οποίου θα επικοινωνεί µε το νέο πελάτη. Το πλεονέκτηµα της χρήσης ενός ξεχωριστού νήµατος για κάθε πελάτη είναι ότι ο εξυπηρετητής µπορεί να φράξει αναµένοντας δεδοµένα εισόδου, χωρίς να καθυστερεί άλλους πελάτες. 2.ε. ιευθυνσιοδότηση Ένα σηµαντικό ζήτηµα στη δια-διεργασιακή επικοινωνία είναι η διευθυνσιοδότηση: προσδιορισµός των διεργασιών που εµπλέκονται στην επικοινωνία. Κάθε µήνυµα πρέπει να ονοµάζει τη διεργασία παραλήπτη. 2.ε.1. Ονοµασία Σε ένα κατανεµηµένο σύστηµα, η υλοποίηση ενός συστήµατος ονοµασίας είναι συχνά κατανεµηµένο σε πολλαπλές µηχανές. Ο τρόπος κατανοµής παίζει ρόλο κλειδί στην απόδοση και την κλιµάκωση του συστήµατος ονοµασίας. Υπάρχουν πολλοί τρόποι χρήσης ονοµάτων στα 16

17 κατανεµηµένα συστήµατα. Εµείς θα εξετάσουµε µερικά γενικά ζητήµατα, σε σχέση µε την ονοµατολογία και µετά θα µελετήσουµε την οργάνωση και υλοποίηση ονοµάτων φιλικών στον άνθρωπο. Παραδείγµατα τέτοιων ονοµάτων αποτελούν αυτά των αρχείων και των διευθύνσεων του παγκόσµιου ιστού. Η δηµιουργία ενός παγκόσµιου και κλιµακούµενου συστήµατος ονοµασίας είναι πρωταρχικής σηµασίας για αυτού του είδους τα ονόµατα. 2.ε.2. Ονόµατα, αναγνωριστικά και διευθύνσεις "Όνοµα σε ένα κατανεµηµένο σύστηµα είναι µια συµβολοσειρά που παραπέµπει σε µια οντότητα." Οντότητα µπορεί να είναι οτιδήποτε, για παράδειγµα, πόροι, όπως εκτυπωτές, δίσκοι και αρχεία. Επίσης, διαδικασίες, χρήστες, γραµµατοκιβώτια, news groups, ιστοσελίδες, παράθυρα, µηνύµατα, συνδέσεις δικτύων, κ.α. Οι οντότητες εκτελούν διάφορες λειτουργίες. Για να χρησιµοποιήσει κάποιος τις λειτουργίες µιας οντότητας, πρέπει να έχει πρόσβαση σ' αυτή. Η πρόσβαση γίνεται µέσω ενός σηµείου πρόσβασης. Ένα σηµείο πρόσβασης είναι µια ιδιαίτερη οντότητα σε ένα κατανεµηµένο σύστηµα. Το όνοµα ενός σηµείου πρόσβασης καλείται διεύθυνση. Χάριν συντοµίας, θα λέµε "η διεύθυνση της οντότητας" και όχι "η διεύθυνση του σηµείου πρόσβασης της οντότητας". Μια οντότητα µπορεί να έχει πολλά σηµεία πρόσβασης, όπως ένας άνθρωπος µπορεί να έχει πολλούς αριθµούς τηλεφώνου. Μια οντότητα µπορεί να αλλάξει το σηµείο πρόσβασης µέσα στο χρόνο, όπως ένας άνθρωπος όταν µεταβεί σε άλλη πόλη ή κράτος θα αλλάξει αριθµό τηλεφώνου. Το ίδιο πρέπει να γίνει µε την ηλεκτρονική διεύθυνση όταν κάποιος αλλάξει παροχέα. Μια οντότητα µπορεί να αλλάξει σηµείο πρόσβασης ή ένα σηµείο πρόσβασης µπορεί να εκχωρηθεί σε διαφορετική οντότητα. Είναι ξεκάθαρο ότι ένα όνοµα µιας οντότητας, ανεξάρτητο από τη διεύθυνσή της, είναι ευκολότερο και πιο ευέλικτο στη χρήση. Ένα τέτοιο όνοµα καλείται ανεξάρτητο τοποθεσίας (location independent). Εκτός από τις διευθύνσεις, άλλου τύπου ονόµατα, που αξίζουν ειδική µεταχείριση, είναι τα ονόµατα που χρησιµοποιούνται για τον µοναδικό προσδιορισµό οντοτήτων. Ένα αναγνωριστικό είναι ένα όνοµα µε τις ακόλουθες ιδιότητες. 1. Ένα αναγνωριστικό αναφέρεται το πολύ σε µια οντότητα. 2. Κάθε οντότητα είναι αναφερόµενη από το πολύ ένα αναγνωστικό. 3. Ένα αναγνωστικό αναφέρεται πάντα στην ίδια οντότητα. 17

18 Τέλος υπάρχουν και τα φιλικά προς τον άνθρωπο ονόµατα. Ενώ οι διευθύνσεις και τα αναγνωριστικά αναπαρίστανται µε σειρές ψηφίων (bit-strings), τα φιλικά προς τον άνθρωπο ονόµατα αναπαρίστανται µε συµβολοσειρές (character-strings). 2.ε.3. Χώροι ονοµάτων Τα ονόµατα οργανώνονται σε χώρους ονοµάτων (Name spaces). Ένας χώρος ονοµάτων µπορεί να αναπαρασταθεί µε ένα κατευθυνόµενο γράφο (directed graph). home n0 cs n1 n2 home l1 l2 n3 l5 home l3 l4 Εικόνα 2.8. Γράφος ονοµάτων Οι τερµατικοί κόµβοι ( l1,l2, ) αποθηκεύουν πληροφορίες για την οντότητα που αναπαριστούν, π.χ. τη διεύθυνσή της. Οι µη-τερµατικοί κόµβοι (n1, n2 ) έχουν έναν αριθµό εξερχόµενων ακµών που καταλήγουν σε άλλους κόµβους τερµατικούς ή µη. Οι ακµές έχουν ετικέτες. Κάθε µη-τερµατικός κόµβος αποθηκεύει έναν πίνακα, στον οποίο κάθε εξερχόµενη ακµή αναπαρίσταται µε το ζεύγος (ετικέτα ακµής, αναγνωριστικό κόµβου). ( ιότι, σε ένα κατανεµηµένο σύστηµα, και οι κόµβοι αποτελούν οντότητες ο κάθε ένας από τους οποίους είναι συνδεδεµένος µε ένα αναγνωριστικό). Ο µη-τερµατικός κόµβος n0 ονοµάζεται ρίζα του γράφου. Μια διαδροµή του γράφου περιγράφεται µε την ακολουθία ετικετών που αντιστοιχούν στις ακµές που αποτελούν τη διαδροµή. π.χ. η ακολουθία n0 : <home, keys, mbox> περιγράφει τη διαδροµή n0 n1 n3 l4. Επειδή τα ονόµατα οργανώνονται πάντα σε χώρους ονοµάτων, ορίζονται µόνο ως προς τη ρίζα του γράφου. 18

19 2.ε.4. Ανάλυση ονόµατος Οι χώροι ονοµάτων προσφέρουν ένα βολικό µηχανισµό αποθήκευσης και ανάκτησης πληροφοριών για οντότητες µε ονόµατα. Γενικότερα δοθείσης της διαδροµής ενός ονόµατος, θα ήταν δυνατόν να βρεθούν οι πληροφορίες που είναι αποθηκευµένες στον προσδιοριζόµενο, από αυτό το όνοµα, κόµβο. Η διαδικασία εύρεσης ενός ονόµατος καλείται ανάλυση ονόµατος (name resolution). Η αναζήτηση ξεκινάει από τον κόµβο ρίζα του γράφου. Χρησιµοποιώντας την ετικέτα της διαδροµής βρίσκει µέσω του πίνακα το αναγνωριστικό του κόµβου στον οποίο καταλήγει η ακµή. Συνεχίζοντας µε αυτόν τον τρόπο φτάνει στον τελευταίο κόµβο της διαδροµής. 2.ε.5. Ένα παράδειγµα: The Domain Name System (DNS) Μία από τις πιο ευρείς υπηρεσίες κατανεµηµένων ονοµάτων σε χρήση σήµερα, είναι το DNS του διαδικτύου. Το DNS βασικά χρησιµοποιείται για την εύρεση host διευθύνσεων και εξυπηρετητών αλληλογραφίας (mail servers). Ο DNS χώρος ονοµάτων είναι οργανωµένος ιεραρχικά ως ένα δένδρο. Οι ετικέτες είναι συµβολοσειρές χωρίς διάκριση πεζώνκεφαλαίων, µε µέγιστο µήκος 63 χαρακτήρων. Το πλήρες όνοµα µιας διαδροµής είναι 255 χαρακτήρες. Οι ετικέτες της διαδροµής διαχωρίζονται µε '.'. Η ρίζα αναπαρίσταται επίσης µε '.'. Π.χ. η διαδροµή root:< el, lar, tei, cs, edypa> αναπαρίσταται µε τη συµβολοσειρά edypa.cs.tei.lar.el. Η τελευταία '.' παραλείπεται. Επειδή κάθε κόµβος έχει µόνο µία εισερχόµενη ακµή (µε εξαίρεση τη ρίζα που δεν έχει εισερχόµενες ακµές), η ετικέτα της εισερχόµενης ακµής χρησιµοποιείται και ως όνοµα του κόµβου. Ένα υποδένδρο καλείται περιοχή (domain). Η διαδροµή προς τη ρίζα καλείται όνοµα περιοχής (domain name). Το περιεχόµενο ενός κόµβου διαµορφώνεται από µία συλλογή εγγραφών πόρων (resource records). Ένας κόµβος στο DNS χώρο ονοµάτων συχνά αναπαριστά διάφορες οντότητες την ίδια στιγµή. Π.χ. ο χώρος ονοµάτων teilar.gr χρησιµοποιείται για να αναπαριστά µια περιοχή και µία ζώνη. Σ' αυτή την περίπτωση, η περιοχή υλοποιείται µε διάφορες ζώνες. Ένας σηµαντικός τύπος εγγραφής πόρων είναι η εγγραφή ΜΧ (mail exchange), η οποία είναι ουσιαστικά ένας συµβολικός σύνδεσµος σε ένα κόµβο που αναπαριστά έναν εξυπηρετητή αλληλογραφίας. Για παράδειγµα, ο κόµβος που αναπαριστά την περιοχή teilar.gr έχει µια ΜΧ εγγραφή που περιέχει το όνοµα mail.teilar.gr, που αναφέρεται σε ένα εξυπηρετητή αλληλογραφίας. Αυτός ο εξυπηρετητής χειρίζεται την εισερχόµενη αλληλογραφία που απευθύνεται στους χρήστες της teilar.gr 19

20 περιοχής. Μπορεί να είναι διάφορες ΜΧ εγγραφές αποθηκευµένες σε ένα κόµβο. 2.ε.6. ΙΡ διευθύνσεις Οι ΙΡ διευθύνσεις είναι 32 bit αριθµητικά αναγνωριστικά που περιέχουν ένα αναγνωριστικό διαδικτύου και ένα αναγνωριστικό οικοδεσπότη (host). Τα δύο αναγνωριστικά γράφονται ως ακολουθία 4 οκταψήφιων αριθµών διαχωριζοµένων µε '.', π.χ Οι αριθµοί, ανάλογα µε την κλάση των διευθύνσεων, µπορούν να είναι: Κλάση Α Κλάση Β Κλάση C Οι διευθύνσεις της κλάσης Α µε δυναµικότητα 2 = οικοδεσποτών σε κάθε υποδίκτυο, είναι δεσµευµένες για διάφορα δίκτυα ευρείας έκτασης. Οι διευθύνσεις της κλάσης Β είναι δεσµευµένες για οργανισµούς που περιέχουν δίκτυα µε περισσότερους από 255 Η/Υ. Οι διευθύνσεις της κλάσης C είναι για όλες τις άλλες περιπτώσεις. Όταν φάνηκε ότι το πλήθος των διευθύνσεων της παραπάνω µορφής επρόκειτο να µηδενιστεί, εµφανίστηκε το ΙΡν6 σύστηµα. Αποτελείται από 128 ψηφία, χωρισµένα σε 8 οµάδες των 16 ψηφίων, που διαχωρίζονται µε ':', και ο αριθµός κάθε οµάδας έχει 16δικη µορφή, π.χ. 2001:0db8:c9d2:aee5:73e3:943a:a5ae:9551 Όταν µια οµάδα είναι 0 τότε δε γράφουµε τον αριθµό, π.χ. Η διεύθυνση: 2001:0db8:c9d2:0012:0000:0000:0000:0051 γράφεται ως: 2001:0db8:c9d2:0012::0051 Άλλο παράδειγµα. Η διεύθυνση: 2001:0db8:ab00:0000:0000:0000:0000:0000 γράφεται ως: 2001:0db8:ab00:: Συµβατότητα µεταξύ ΙΡν4 και ΙΡν6 διευθύνσεων. Η ΙΡν4 διεύθυνση έχει την εξής ΙΡν6 µορφή: ::ffff:192:0:2:33 2.ε.7. Πόρτες (ports) Εκτός από την ΙΡ διεύθυνση, υπάρχει ακόµη µια διεύθυνση, που χρησιµοποιείται από τις υποδοχές-ροής, η οποία ονοµάζεται αριθµός πόρτας. Είναι ένας 16-ψήφιος αριθµός που χρησιµοποιείται ως τοπική διεύθυνση για τη σύνδεση. Έστω ότι θέλετε να κάνετε περιήγηση στον παγκόσµιο ιστό και να λάβετε τα ηλεκτρονικά σας µηνύµατα. Πως 20

21 διαχωρίζονται οι δύο υπηρεσίες στον ίδιο Η/Υ, ο οποίος έχει µία µόνο ΙΡ διεύθυνση; ιαφορετικές υπηρεσίες του διαδικτύου έχουν διαφορετικούς αριθµούς πορτών, οι οποίοι είναι γνωστοί. Η περιήγηση έχει αριθµό πόρτας 80. Η telnet έχει αριθµό πόρτας 23. Το SMTP έχει αριθµό πόρτας 25. Μπορείτε να βρείτε όλους τους αριθµούς πορτών στη λίστα "Big IANA port list". 21

22 3. ΚΑΤΑΝΕΜΗΜΕΝΟΣ ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΕΡΓΑΣΙΩΝ (DISTRIBUTED PROCESS-SCHEDULING) 3.α. Εισαγωγή Στα κατανεµηµένα συστήµατα, οι χρήστες εκτελούν προγράµµατα σε διαφορετικούς κόµβους (επεξεργαστές ή Η/Υ'ς). Λόγω της διαφορετικής ταχύτητας των επεξεργαστών και τη διακύµανση στο ρυθµό άφιξης των διεργασιών σε διαφορετικούς κόµβους, κάποιοι από τους κόµβους µπορεί να υπερφορτωθούν (εκτελώντας µεγάλο αριθµό διεργασιών) ενώ κάποιοι άλλοι κόµβοι παραµένουν άπραγοι. Αυτή η δυσαναλογία φορτίου µεταξύ των κόµβων, µπορεί να προκαλέσει ανεπαρκή απόδοση ολόκληρου του συστήµατος. Για τη βελτίωσή του, πρέπει να διαµοιρασθεί ο φόρτος µεταξύ των διαθέσιµων επεξεργαστών, δηλαδή, να γίνει καταµερισµός φορτίου (load distribution). Οι τακτικές χορήγησης επεξεργαστών (processor allocation) και χρονοπρογραµµατισµού επεξεργαστών (processor scheduling), εκχωρούν επεξεργαστές στις διεργασίες µε κάποιο τρόπο για να πετύχουν τον καταµερισµό φορτίου. Ενώ ο χρονοπρογραµµατισµός ενός επεξεργαστή, αφορά το πότε µια διεργασία θα γίνει κάτοχος του επεξεργαστή, ο κατανεµηµένος χρονοπρογραµµατισµός αφορά και το που (σε ποιο κόµβο) η διεργασία θα γίνει κάτοχος ενός επεξεργαστή. Η εύρεση του κόµβου στον οποίο θα εκτελεστεί µια διεργασία, είναι ευθύνη της τακτικής της χορήγησης επεξεργαστών. 3.β. Ορισµοί 3.β.1 Χορήγηση επεξεργαστών και χρονοπρογραµµατισµός Η χορήγηση διεργασιών σε επεξεργαστές είναι µέρος του προβλήµατος της διαχείρισης πόρων, όπου ένα σύστηµα έχει έναν αριθµό πόρων τους οποίους οι διαχειριστές χορηγούν στους καταναλωτές, βάση κάποιας τακτικής. Στο πλαίσιο των διεργασιών και επεξεργαστών, το σύστηµα µπορεί να θεωρηθεί ότι έχει τρεις συνιστώσες: Επεξεργαστές (πόροι) ιεργασίες ή έργα (καταναλωτές) Τακτική χορήγησης. Η τακτική χορήγησης πρέπει να είναι τέτοια ώστε οι διεργασίες να λαµβάνουν υπηρεσίες από τους πόρους του συστήµατος χωρίς να εµποδίζονται από τα συνολικά προβλήµατα που σχετίζονται µε την τακτική αυτή καθ' αυτή. Εποµένως, υπάρχουν δύο σηµαντικές ιδιότητες της τακτικής. Πρώτον, οι διεργασίες χρήστη πρέπει να είναι σε θέση να έχουν αποδοτική πρόσβαση στους πόρους και δεύτερον, η επιβάρυνση 22

23 που υφίσταται από την υλοποίηση της τακτικής θα έπρεπε να αξιοποιείται καλώς ως προς την συνολική απόδοση. Η σχέση µεταξύ διεργασιών, επεξεργαστών και τακτικής, απεικονίζεται στην εικόνα 9. Εικόνα 3.1. Η σχέση µεταξύ διεργασιών, επεξεργαστών και τακτικής. Κάθε κόµβος ενός Κ.Σ. διαθέτει το δικό του χρονοπρογραµµατιστή για την εκτέλεση των διεργασιών στον τοπικό επεξεργαστή, συνήθως µε διαµοίραση χρόνου (timesharing), ενώ οι υψηλοτέρου επιπέδου αποφάσεις εκχώρησης εργασιών στον κόµβο λαµβάνονται από έναν αλγόριθµο χορήγησης επεξεργαστών. Ο λόγος εφαρµογής του παραπάνω σχήµατος είναι διπλός. Πρώτον, κάθε κόµβος έχει το δικό του Λ.Σ. το οποίο έχει τη δυνατότητα χρονοπρογραµµατισµού των επεξεργαστών. εύτερον, η τµηµατοποίηση εξασφαλίζει ότι οι σχεδιαστές µπορούν να επικεντρωθούν στα ζητήµατα καταµερισµού φορτίου χωρίς να επιβαρύνονται µε όλες τις λεπτοµέρειες του χρονοπρογραµµατισµού. Το σχήµα 3.2 απεικονίζει τη σχέση µεταξύ χορήγησης επεξεργαστών και χρονοπρογραµµατισµού 23

24 Εικόνα 3.2. Σχέση µεταξύ χορήγησης επεξεργαστών και χρονοπρογραµµατισµού. 3.β.2 Είδη καταµερισµού φορτίων Η ισορροπία φορτίων (load balancing) φροντίζει ώστε κάθε κόµβος να κάνει τόση δουλειά όση και οι άλλοι κόµβοι. ιεργασίες πρέπει να µετακινούνται από έναν κόµβο σε άλλο ακόµη και κατά τη διάρκεια της εκτέλεσής τους (preemption). Αυτού του είδους οι αλγόριθµοι βασίζονται έντονα στην υπόθεση, ότι οι διαθέσιµες πληροφορίες σε κάθε κόµβο είναι αρκετά ακριβείς ώστε να αποτρέπουν τη συνεχή κυκλοφορία διεργασιών µέσα στο σύστηµα χωρίς να εξελίσσονται (processor thrashing). Οι αλγόριθµοι αυτοί είναι περισσότερο κατάλληλοι για οµοιογενή συστήµατα. Η υφιστάµενη επιβάρυνση από έναν αλγόριθµο ισορροπίας φορτίων µπορεί µερικές φορές να αποσβέσει κάθε βελτιωµένη επίδοση. Αυτό οφείλεται στο γεγονός ότι η προνοµιακή (preemptive) µεταβίβαση εργασιών είναι µια δαπανηρή πράξη. Η διαµοίραση φορτίων (load sharing) είναι ελαφρότερης µορφής (weaker version) ισορροπία φορτίων, η οποία προσπαθεί να κατανείµει το συνολικό φορτίο στους κόµβους του συστήµατος µε, συνήθως, µηπρονοµιακή µεταβίβαση των εργασιών µεταξύ των κόµβων. Η διαµοίραση φορτίων δεν εξασφαλίζει ότι όλοι οι κόµβοι θα έχουν ίσο φορτίο ανά πάσα στιγµή, αλλά επιτυγχάνεται ευκολότερα. 24

25 3.β.3 Τακτικές µεταβίβασης διεργασιών Για να πετύχει τον καταµερισµό φορτίου, ο αλγόριθµος κατανοµής εκτελεί µεταβίβαση διεργασιών µεταξύ των κόµβων παίρνοντας αποφάσεις για τις ακόλουθες τακτικές: τακτική µεταβίβασης τακτική επιλογής τακτική τοποθεσίας τακτική πληροφορίας Η τακτική µεταβίβασης, των αλγορίθµων χορήγησης επεξεργαστών, καθορίζει πότε ένας κόµβος είναι κατάλληλος για τη µεταβίβαση µιας εργασίας είτε ως αποστολέας είτε ως παραλήπτης. Οι περισσότεροι αλγόριθµοι χρησιµοποιούν την τακτική κατωτάτου ορίου. Το κατώτατο όριο εκφράζεται σε µονάδες φορτίου. Όταν µια νέα διεργασία δηµιουργείται σε ένα κόµβο, η τακτική κατωτάτου ορίου ορίζει ένα κόµβο ως αποστολέα όταν ο δείκτης φορτίου του κόµβου υπερβαίνει ένα κατώτατο όριο τιµής T 1 ή ως παραλήπτη όταν το φορτίο πέφτει κάτω από µια τιµή Τ 2 (Τ 1 Τ 2 ). Οι τιµές T 1 και Τ 2 εξαρτώνται από τον σχετιζόµενο αλγόριθµο. Μια άλλη τακτική µεταβίβασης είναι η σχετική τακτική, η οποία εξετάζει το φορτίο ενός κόµβου σε σχέση µε τα φορτία άλλων κόµβων του συστήµατος. Για παράδειγµα, ένας κόµβος µπορεί να είναι ένας κατάλληλος παραλήπτης όταν το φορτίο του είναι λιγότερο από το φορτίο άλλου κόµβου κατά κάποιο δεδοµένο δ (εκφρασµένο σε µονάδες φορτίου). Αφού η τακτική µεταβίβασης αποφασίσει ότι ένας κόµβος είναι ο αποστολέας, η τακτική επιλογής διαλέγει µια διεργασία από την ουρά του επεξεργαστή της για µεταβίβαση. Αν η τακτική επιλογής αποτύχει στην εύρεση κατάλληλης διεργασίας, δεν εξετάζεται πλέον ως αποστολέας. Στην πιο απλή πιθανή περίπτωση η τακτική επιλογής διαλέγει µια νέο-αφιχθήσα διεργασία ως τη διεργασία προς µεταβίβαση. Αυτό οδηγεί σε µη-προνοµιούχα (non-preemptive) µεταβίβαση διεργασιών. Η τακτική επιλογής θα πρέπει να λαµβάνει υπ όψη τα επόµενα ζητήµατα, όπου η µεταβίβαση είναι προνοµιούχα: Η υφιστάµενη επιβάρυνση από τη µεταβίβαση θα πρέπει να είναι ελάχιστη (π.χ. µικρές διεργασίες). Η επιλεγείσα διεργασία πρέπει να είναι µακράς ζωής ώστε να αξίζει τον κόπο να υποστεί την επιβάρυνση της µεταβίβασης. Ο αριθµός των εξαρτώµενων από την τοποθεσία κλήσεων συστήµατος, που εκτελεί µια διεργασία πρέπει να είναι ελάχιστος. 25

26 (Οι εξαρτώµενες από την τοποθεσία κλήσεις συστήµατος πρέπει να εκτελούνται στον κόµβο όπου αρχικά ανήκε η διεργασία). Όταν η τακτική µεταβίβασης αποφασίσει ότι ένας κόµβος είναι κατάλληλος ως αποστολέας/παραλήπτης, η τακτική τοποθεσίας βρίσκει έναν κατάλληλο συνεργάτη (παραλήπτη/αποστολέα) για τον κόµβο, που ονοµάζεται ταίρι (peer). Μια συνήθης τακτική τοποθεσίας είναι η σφυγµοµέτρηση (polling). Η σφυγµοµέτρηση µπορεί να είναι σειριακή ή παράλληλη σχετικά µε το πόσοι κόµβοι µπορούν να σφυγµοµετρηθούν κάθε φορά (η παράλληλη σφυγµοµέτρηση απαιτεί µεταβίβαση µηνύµατος µε µέσα πολλαπλής ή απλή εκποµπής). Η σειριακή σφυγµοµέτρηση υποδηλώνει τη σφυγµοµέτρηση άλλων κόµβων σε ορισµένη σειρά. Οι κόµβοι µπορεί να επιλέγονται στην τύχη ή µε βάση το πόσο κοντά βρίσκονται στο δίκτυο. Μεταξύ των άλλων µεθόδων τακτικής τοποθεσίας είναι η εκποµπή ερωτηµάτων (broadcast query), όπου ο κόµβος εκπέµπει ένα µήνυµα και οι παραλήπτες αποκρίνονται, και η συγκεντρωτική τακτική (centralized policy), όπου ένας συντονιστής επιλέγει ένα ταίρι για τον αιτούντα κόµβο και ενηµερώνει και τους δύο κόµβους για το γεγονός. 3.γ. Αλγόριθµοι κατανεµηµένου χρονοπρογραµµατισµού Στους συγκεντρωτικούς αλγόριθµους, την επιλογή χορήγησης επεξεργαστών παίρνει µια διεργασία που εκτελείται σε έναν επεξεργαστή. Στους κατανεµηµένους αλγόριθµους, διεργασίες που εκτελούνται σε κατανεµηµένους επεξεργαστές επιλέγουν τη χορήγηση των επεξεργαστών. Οι Casavant και Kuhl έκαναν µια ταξινόµηση των αλγορίθµων τοποθέτησης εργασιών στα κατανεµηµένα συστήµατα, την οποία παρουσιάζουµε στην εικόνα

27 Εικόνα 3.3. Ιεραρχία αλγορίθµων χορήγησης επεξεργαστών. Οι δύο κύριες κατηγορίες των καθολικών αλγορίθµων είναι η κατηγορία των στατικών και η κατηγορία των δυναµικών αλγορίθµων. Οι στατικοί αλγόριθµοι χρησιµοποιούν τις πληροφορίες για την κατάσταση του συστήµατος κατά την µεταγλώττιση του προγράµµατος (πριν εκτελεστεί ως διεργασία). Κάθε διεργασία συνδέεται µε κάποιον Η/Υ και κάθε φορά που θα υποβάλλεται σε εκτέλεση θα εκχωρείται στον ίδιο Η/Υ. Αν µετά από κάποιο χρονικό διάστηµα, η τοπολογία του συστήµατος µεταβληθεί, το σύστηµα θα προβεί σε νέες εκχωρήσεις των διεργασιών στους Η/Υ. Το κύριο πλεονέκτηµα αυτών των αλγορίθµων είναι η απλότητα τους. Όµως, δεν µπορούν να προσαρµοστούν στις αυξοµοιώσεις του φορτίου του συστήµατος. Οι δυναµικοί αλγόριθµοι χρησιµοποιούν πληροφορίες που αφορούν το τρέχον φορτίο κάθε επεξεργαστή. Στους µη-κατανεµηµένους ή συγκεντρωτικούς αλγόριθµους χρονοπρογραµµατισµού, ένας µόνο επεξεργαστής παίρνει όλες τις αποφάσεις που αφορούν την τοποθέτηση των εργασιών. Τα µειονεκτήµατα είναι αρκετά: η συγκέντρωση πληροφοριών και η διατήρησή τους σε µια κεντρική τοποθεσία, µπορεί να οδηγήσει σε µεγάλη χρονική επιβάρυνση, αφού θα υπάρξουν καθυστερήσεις στις µεταβιβάσεις πληροφοριών και ίσως απώλεια αυτών. 27

28 Άλλο µειονέκτηµα είναι η χαµηλή αξιοπιστία τέτοιων συστηµάτων: αποτυχία στον κεντρικό Η/Υ έχει ως αποτέλεσµα την κατάρρευση όλου του συστήµατος. Στους κατανεµηµένους αλγόριθµους, η διεργασία λήψης αποφάσεων είναι κατανεµηµένη στους Η/Υ που αποτελούν το σύστηµα. Συνεπώς, δεν έχουν τα παραπάνω αναφερθέντα µειονεκτήµατα. ηλαδή, αποφεύγεται ο λαιµός-µπουκαλιού κατά τη συγκέντρωση και διατήρηση των πληροφοριών, και το σύστηµα δεν καταρρέει όταν ένας Η/Υ αποτυγχάνει. Στην περίπτωση των µη-συνεργατικών (noncooperative) αλγορίθµων, οι Η/Υ κάνουν τις επιλογές χρονοπρογραµµατισµού ανεξάρτητα από τους υπόλοιπους Η/Υ του συστήµατος. Στη συνεργατική (cooperative) περίπτωση όλοι οι Η/Υ δουλεύουν προς ένα κοινό στόχο. Και οι στατικοί και οι δυναµικοί-κατανεµηµένοι-συνεργατικοί αλγόριθµοι έχουν διακλαδώσεις προς βέλτιστους και υποβέλτιστους αλγόριθµους. Βέλτιστες (optimal) αναθέσεις µπορούν να επιτευχθούν όταν υπάρχουν πληροφορίες διαθέσιµες, που µπορούν να οδηγήσουν στην ελαχιστοποίηση του χρόνου ολοκλήρωσης των διεργασιών, στη µέγιστη χρήση πόρων και τη µεγιστοποίηση του συνολικού όγκου του έργου (throughput). Όταν οι βέλτιστες λύσεις είναι πολύ "δαπανηρές" ή µη εφικτές σε λογικά χρονικά διαστήµατα, τότε χρησιµοποιούνται οι υποβέλτιστοι αλγόριθµοι. Οι υποβέλτιστοι (suboptimal) αλγόριθµοι είναι προσεγγιστικοί ή ευρετικοί. Οι προσεγγιστικοί αλγόριθµοι χρησιµοποιούν τις ίδιες υπολογιστικές µεθόδους µε τους βέλτιστους αλγόριθµους, αλλά αντί να ψάχνουν όλο το πεδίο λύσεων για τη βέλτιστη λύση, επιλέγουν µια "καλή" λύση σύµφωνα µε κάποια κριτήρια: η ύπαρξη συνάρτησης για την εκτίµηση της λύσης, ο χρόνος που απαιτείται για την εκτίµηση της λύσης, η ύπαρξη ενός µηχανισµού για τον περιορισµό του πεδίου λύσεων. Οι ευρετικοί 3 αλγόριθµοι κάνουν χρήση έξτρα παραµέτρων για την επίτευξη του σκοπού τους, όπως, την ανάθεση διεργασιών µε συνεχή διαδιεργασιακή επικοινωνία στον ίδιο επεξεργαστή, ή ανάθεση πρώτα των µεγάλων εργασιών. Οι ευρετικοί αλγόριθµοι βασίζονται στο µαθηµατικό προγραµµατισµό, στη θεωρία ουρών, στη θεωρία γράφων και άλλες µαθηµατικές µεθόδους. 3 Ευρετική είναι η µέθοδος ενεργειών που βασίζεται στις κτηθείσες εµπειρίες. 28

29 4.α. Το µοντέλο κοινής µνήµης 4. ΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ Υλοποιείται σε µικρά κατανεµηµένα περιβάλλοντα ως εναλλακτική λύση στο µοντέλο µεταβίβασης-µηνυµάτων (message passing). Το µοντέλο κοινής µνήµης επεκτείνει την έννοια της εικονικής µνήµης σε πολλαπλές φυσικές µνήµες, µε τοπικές cache καθώς και δευτερεύοντες αποθηκευτικούς χώρους. Η χρήση της µεταβίβασης µηνυµάτων αντιµετωπίζει προβλήµατα αφού δεν είναι ένας αποτελεσµατικός τρόπος για το χειρισµό σύνθετων οµάδων δεδοµένων. Τα µεγαλύτερα πλεονεκτήµατα της κοινής µνήµης (σε σχέση µε τη µεταβίβαση µηνυµάτων), είναι η ευκολία µε την οποία τα δεδοµένα διαµερίζονται καθώς και η ευκολία µε την οποία υλοποιείται ο καταµερισµός φορτίου µέσω της µετανάστευσης (migration). Η κοινή µνήµη επιτρέπει πολλαπλές διεργασίες να διαβάζουν και να γράφουν δοµές δεδοµένων σε µνήµη κοινή σε όλες. Φυσικά κάποια µορφή ελέγχου-συγχρονισµού και διαχείρισης συναλλαγών (transactions) πρέπει να χρησιµοποιηθεί. Πρόσθετο όφελος της κοινής µνήµης περιλαµβάνει τη χρήση σταθµών εργασίας µε τοπική cache, που µοιράζονται την ίδια µνήµη. Οι σταθµοί εργασίας είναι συνδεδεµένοι µε δίαυλο (bus) για να συγκροτήσουν την κοινή µνήµη. Η σχεδίαση αυτή είναι λειτουργική για πολυεπεξεργαστές ή τοπικά κατανεµηµένα συστήµατα. Αυξάνει σηµαντικά την απόδοση και υπολογιστική δύναµη ενώ κρατάει το κόστος στο ελάχιστο. υσκολίες παρουσιάζονται µε τη συνεχή προσπέλαση της µνήµης από όλους τους Η/Υ µέσω του µοναδικού διαύλου, προκαλώντας έτσι ανταγωνισµό στη διεκδίκηση του διαύλου. Για αυτό το λόγο, ο αριθµός των Η/Υ πρέπει να είναι µικρότερος από α.1. Η απόδοση της κοινής µνήµης Το πρόβληµα ανταγωνισµού, για τη διεκδίκηση του διαύλου, γίνεται πιο σοβαρό µε την αύξηση της ταχύτητας των επεξεργαστών. Η ταχύτητα της µνήµης και της επικοινωνίας είναι προβλήµατα τα οποία εµποδίζουν την αύξηση της απόδοσης των Η/Υ. Η αύξηση της ταχύτητας των επεξεργαστών δε σηµαίνει και αύξηση της απόδοσης του συστήµατος και αυτό οφείλεται στις άλλες συσκευές όπως είπαµε πιο πάνω. Εφαρµόζονται διάφορες τεχνικές για την αύξηση της απόδοσης των υπολογιστών συστηµάτων, όπως αλληλοεπικάλυψη επικοινωνίαςυπολογισµών, αυτόµατη prefetch δεδοµένων όταν είναι δυνατόν, µείωση 29

30 των µη-τοπικών προσπελάσεων µνήµης δια της µετανάστευσης συγκεκριµένης σελίδας σε τοπική µνήµη. 4.α.2. Συνέπεια της cache Συνέπεια, όσον αφορά τα δεδοµένα, σηµαίνει ότι όλα τα αντίγραφα των δεδοµένων είναι ίδια και σωστά. Υπάρχουν 3 τρόποι για την υλοποίηση της cache συνέπειας. - Στον πρώτο, προγράµµατα (λογισµικό) επιβάλλουν κρίσιµες περιοχές, η πρόσβαση των οποίων γίνεται µε συγχρονισµένο τρόπο. - Στο δεύτερο, προγράµµατα αποτρέπουν τους επεξεργαστές να cache κοινή µνήµη. - Ο τρίτος τρόπος αναφέρεται και ως snoopy cache. Όταν ένας επεξεργαστής γράψει στα δεδοµένα στέλνει αντίστοιχο σήµα στο δίαυλο. Κάθε επεξεργαστής ελέγχει συνεχώς το δίαυλο για πληροφορίες που αφορούν αλλαγές στα δεδοµένα. Όταν ανιχνεύσει αλλαγές, χαρακτηρίζει αυτό το τµήµα της cache ως "dirty". Στη συνέχεια, αν χρειαστεί δεδοµένα από το "dirty" τµήµα, ζητάει νέο "καθαρό" αντίγραφο από την κοινή µνήµη. 4.β. Κατανεµηµένη κοινή µνήµη Η κατανεµηµένη κοινή µνήµη (Κ.Κ.Μ.) υλοποιείται σε συστήµατα πολλών Η/Υ (κάθε Η/Υ έχει τοπική µνήµη). Οι Η/Υ συνδέονται µε ένα δίκτυο διασύνδεσης. Η Κ.Κ.Μ. παρουσιάζει µια λογική άποψη κοινής µνήµης. Εποµένως, το σύστηµα Κ.Κ.Μ. υλοποιεί την απαραίτητη επικοινωνία και διατηρεί συνεπή δεδοµένα για τις εφαρµογές. Όπως και στο µοντέλο κοινής µνήµης, οι περισσότεροι συµµετέχοντες σε Κ.Κ.Μ. διατηρούν µια τοπική cache για λόγους απόδοσης. Κάποιο τµήµα ή και όλη η τοπική µνήµη κάθε συµµετέχοντα αντιστοιχίζεται στον καθολικό χώρο διευθύνσεων των Κ.Κ.Μ. Το σύστηµα Κ.Κ.Μ. διατηρεί έναν κατάλογο για την αποθήκευση της πλήρους κατάστασης και πληροφορίες τοποθεσίας για όλα τα δεδοµένα που εδρεύουν µέσα στο σύστηµα. Υπάρχουν πολλές µέθοδοι υλοποίησης καταλόγου. Η µέθοδος που θα χρησιµοποιηθεί πρέπει να καθορίζεται και να εξαρτάται από το είδος συνέπειας δεδοµένων που απαιτείται από το σύστηµα, όπως θα δούµε στο κεφάλαιο για τα κατανεµηµένα αρχεία. Ανεξάρτητα από την υλοποίηση, το σύστηµα Κ.Κ.Μ. διατηρεί πλήρεις πληροφορίες χρησιµοποιώντας ένα µοναδικό κατάλογο ή διάφορους κατανεµηµένους καταλόγους. 30

31 4.β.1. Μέθοδοι κατανοµής κοινών δεδοµένων Για τη διαχείριση κοινών δεδοµένων πρέπει να παρθούν οι εξής αποφάσεις: α) Πως θα κατανεµηθούν τα κοινά δεδοµένα; β) Πόσοι readers και writers επιτρέπονται σε ένα σύνολο δεδοµένων; Για την κατανοµή των κοινών δεδοµένων υπάρχουν 2 προσεγγίσεις: δηµιουργία αντιγράφων και µετανάστευση. Στη δηµιουργία αντιγράφων (replication) κάθε συµµέτοχος έχει το δικό του αντίγραφο των δεδοµένων. Στη µετανάστευση (migration) αντίγραφο των δεδοµένων µετακινείται στις διάφορες τοποθεσίες που το ζητούν. Στη µετανάστευση µία µόνο τοποθεσία επιτρέπεται να έχει το αντίγραφο. Όταν ζητηθεί αντίγραφο, ενώ αυτό χρησιµοποιείται από άλλο Η/Υ, ο αιτών θα περιµένει µέχρι την αποδέσµευση του αντιγράφου από τον τρέχοντα χρήστη. Όταν υπάρχουν πολλές αιτήσεις, το σύστηµα Κ.Κ.Μ. καθορίζει ποια αίτηση θα ικανοποιηθεί, βάση της σειράς µε την οποία ελήφθησαν οι αιτήσεις ή βάση προτεραιότητας. 4.β.2. ηµιουργία αντιγράφων Ο καθορισµός των readers και writers που θα επιτρέπεται να έχουν ταυτόχρονη πρόσβαση σε ένα σύνολο δεδοµένων είναι επίσης µία απόφαση για τη διαχείριση κοινών δεδοµένων. Τα συστήµατα που επιτρέπουν πολλαπλούς writers είναι πολύ πιο σύνθετα από εκείνα που επιτρέπουν ένα µόνο writer. Υπάρχουν τρεις περιπτώσεις: ένας reader/ένας writer, πολλαπλοί reader/ένας writer και πολλαπλοί reader/πολλαπλοί writer. Ενας reader/ ένας writer εν επιτρέπεται η ταυτόχρονη χρήση των κοινών δεδοµένων, όπως και η δηµιουργία αντιγράφων. Αν µια διεργασία ζητήσει δύο σύνολα δεδοµένων είναι πολύ πιθανό να προέλθουν από διαφορετικές τοποθεσίες. Το ίδιο σύνολο δεδοµένων ελέγχεται πάντα από την ίδια τοποθεσία. Πολλαπλοί reader/ένας writer Όταν πολλαπλοί readers έχουν από ένα αντίγραφο των δεδοµένων και ο µοναδικός writer τροποποιεί τα κοινά δεδοµένα, τότε οι readers δεν έχουν πλέον ακριβή αντίγραφα. Γι' αυτό το λόγο, οι τοποθεσίες αυτές ειδοποιούνται µε κάποιο τρόπο ότι κατέχουν ανακριβή δεδοµένα. Η διαδικασία αυτή απαιτεί ένα σύνολο αντιγράφων (copy set), δηλαδή, µια λίστα των συµµετεχόντων του συστήµατος που έχουν αντίγραφο των κοινών δεδοµένων. 31

32 Η προσέγγιση πολλαπλών reader/ενός writer µπορεί να υλοποιηθεί µε µια συγκεντρωτική λύση, συνδυασµό συγκεντρωτικής και κατανεµηµένης λύσης ή µια κατανεµηµένη λύση. Η συγκεντρωτική λύση απαιτεί έναν εξυπηρετητή που να επεξεργάζεται όλα τα αιτήµατα και να συντηρεί όλα τα δεδοµένα. Ο εξυπηρετητής προωθεί όλες τις αιτήσεις για δεδοµένα στον κάτοχο και περιµένει επιβεβαίωση από τον αιτούντα ότι έλαβε το αντίγραφο δεδοµένων από τον κάτοχο. Το ίδιο κάνει και για τις write αιτήσεις, µε την επιπλέον υποχρέωση να γνωστοποιήσει τη µη εγκυρότητα των δεδοµένων σε όλους τους συµµετέχοντες που έχουν αντίγραφο αυτών, οπότε αυτοί αιτούνται τα αλλαγµένα δεδοµένα, κ.ο.κ. είτε την εικόνα 4.1. Κεντρικός εξυπηρετητής εδοµένα Χ Σύνολο αντιγράφων Μετατροπή του Χ Συµµέτοχος 1 Χ Υ εδοµένα Υ Σύνολο αντιγράφων Μη έγκυρο Χ Συµµέτοχος 2 Χ Μη έγκυρο Χ Συµµέτοχος 5 Συµµέτοχος 4 Συµµέτοχος 3 Χ Υ Υ Υ Εικόνα 4.1. Συγκεντρωτική λύση για Πολλαπλούς Reader/Ένα Writer. Έχουµε δει, ότι οι συγκεντρωτικές λύσεις δεν είναι και οι πιο αποδοτικές, διότι αυξάνουν την κυκλοφορία προς έναν εξυπηρετητή, άρα και το φόρτο εργασίας του. Μια εναλλακτική προσέγγιση είναι η µερική κατανοµή. Τα δεδοµένα είναι στατικά κατανεµηµένα στους Η/Υ του συστήµατος. Ο εξυπηρετητής έχει µια λίστα µε τους κατόχους των δεδοµένων. Κάθε κάτοχος έχει το σύνολο αντιγράφων. Ο κεντρικός εξυπηρετητής λαµβάνει τα αιτήµατα µη-εγκυρότητας δεδοµένων, τα οποία διοχετεύει προς τους κατόχους των δεδοµένων. Ο κάτοχος είναι υπεύθυνος για την 32

33 επεξεργασία του αιτήµατος και για τη γνωστοποίηση της µη-εγκυρότητας των δεδοµένων στους reader, όπως φαίνεται στην εικόνα 4.2. Κεντρικός εξυπηρετητής Συµµέτοχος 1 εδοµένα Α Τοποθεσία 1 Μετατροπή του Γ εδοµένα Σύνολα αντιγράφων Β Γ 1 2 Α 3 2 Ε Ζ 3 3 Μετατροπή του Γ Β Γ Ζ 2 3 Συµµέτοχος 3 Συµµέτοχος 2 εδοµένα Σύνολα αντιγράφων εδοµένα Σύνολα αντιγράφων Ε 2 Μη έγκυρο Γ Γ 1 3 Ζ Α Β Γ Β Ε Ζ Εικόνα 4.2. Μερικώς κατανεµηµένη λύση για Πολλαπλούς Reader/Ένα Writer. Υπάρχουν δύο βασικές προσεγγίσεις για την κατανεµηµένη λύση. Η πρώτη είναι δυναµική και οι πληροφορίες µπορούν να αλλάζουν τοποθεσία. Ο κάτοχος ενός συνόλου δεδοµένων εντοπίζεται εκπέµποντας όλα τα αιτήµατα, όπως φαίνεται στην εικόνα

ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ

ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ Καραΐσκος Ζαφείριος 2010 ΠΕΡΙΕΧΟΜΕΝΑ 1. Εισαγωγή...3 2. ιαδιεργασιακή επικοινωνία...7 2.1 Σύγχρονη και ασύγχρονη επικοινωνία... 7 2.2 Επικοινωνία µε υποδοχές... 11 2.2.1 UDP datagram

Διαβάστε περισσότερα

ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ

ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ρ Καραΐσκος Ζαφείριος ΤΕΙ Λάρισας Ιανουάριος 2010 ΠΕΡΙΕΧΟΜΕΝΑ 1. Εισαγωγή... 3 2. ιαδιεργασιακή επικοινωνία... 7 2.1 Σύγχρονη και ασύγχρονη επικοινωνία...7 2.2 Επικοινωνία µε υποδοχές...

Διαβάστε περισσότερα

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

Εισαγωγή. Κατανεµηµένα Συστήµατα 01-1 Εισαγωγή Υλισµικό Λογισµικό Αρχές σχεδίασης ιαφάνεια Κλιµάκωση Παρεχόµενες υπηρεσίες Μοντέλο πελάτη εξυπηρετητή Μοντέλο πελάτη εξυπηρετητή τριών επιπέδων Κατανοµή επεξεργασίας Κατανεµηµένα Συστήµατα 01-1

Διαβάστε περισσότερα

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων Μαρία Ι. Ανδρέου ΗΜΥ417, ΗΜΥ 663 Κατανεµηµένα Συστήµατα Χειµερινό Εξάµηνο 2006-2007 Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Πανεπιστήµιο

Διαβάστε περισσότερα

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

Τεχνολογικά Επιτεύγµατα. Πλεονεκτήµατα. Ορισµός Κατανεµηµένου Συστήµατος. Μειονεκτήµατα. E-03: Λειτουργικά Συστήµατα ΙΙ 6. Εαρινό Εξάµηνο 2005-06 Τεχνολογικά Επιτεύγµατα Ε-03: Λειτουργικά Συστήµατα ΙΙ Εαρινό Εξάµηνο 2005-06 Ανάπτυξη ισχυρών µικροεπεξεργαστών ηµιουργία τοπικών δικτύων υψηλών ταχυτήτων «Εισαγωγή στα Κατανεµηµένα Λειτουργικά Συστήµατα»

Διαβάστε περισσότερα

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

Αποµακρυσµένη κλήση διαδικασιών Αποµακρυσµένηκλήση διαδικασιών Τοπική κλήση διαδικασιών Αποµακρυσµένη κλήση διαδικασιών Μεταβίβαση παραµέτρων Πρωτόκολλα επικοινωνίας Αντιγραφή µηνυµάτων Προδιαγραφές διαδικασιών RPC στο σύστηµα DCE Κατανεµηµένα

Διαβάστε περισσότερα

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

Γενικές Αρχές. Τεχνολογία ικτύων Επικοινωνιών ΙΙ Τεχνολογία ικτύων Επικοινωνιών ΙΙ 7.1.1. Γενικές Αρχές 1. Τι ονοµάζεται επικοινωνιακό υποδίκτυο και ποιο είναι το έργο του; Το σύνολο όλων των ενδιάµεσων κόµβων που εξασφαλίζουν την επικοινωνία µεταξύ

Διαβάστε περισσότερα

Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που

Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που 7.7 Πρωτόκολλο ARP 1 ύο είδη διευθύνσεων: MAC - IP Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που µπορεί

Διαβάστε περισσότερα

7.3 Πρωτόκολλο TCP. 1. Το TCP πρωτόκολλο παρέχει υπηρεσίες προσανατολισµένες σε σύνδεση. Σ Λ

7.3 Πρωτόκολλο TCP. 1. Το TCP πρωτόκολλο παρέχει υπηρεσίες προσανατολισµένες σε σύνδεση. Σ Λ Ερωτήσεις 7.3 Πρωτόκολλο TCP 1. Τι είναι το τµήµα (segment) στο πρωτόκολλο TCP; Από ποια µέρη αποτελείται; 2. Για ποιο σκοπό χρησιµοποιείται ο Αριθµός ειράς στην επικεφαλίδα ενός segment TCP; 3. την περίπτωση

Διαβάστε περισσότερα

7.9 ροµολόγηση. Ερωτήσεις

7.9 ροµολόγηση. Ερωτήσεις 7.9 ροµολόγηση Ερωτήσεις 1. Να δώσετε τον ορισµό της δροµολόγησης; 2. Από τι εξαρτάται η χρονική στιγµή στην οποία λαµβάνονται οι αποφάσεις δροµολόγησης; Να αναφέρετε ποια είναι αυτή στην περίπτωση των

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Λιβανός Γιώργος Εξάμηνο 2017Β Λιβανός Γιώργος Εξάμηνο 2017Β Υπολογιστικό σύστημα Υλικό (hardware) Λογισμικό (Software) Ολοκληρωμένα κυκλώματα, δίσκοι, οθόνη, κλπ. Λογισμικό συστήματος Προγράμματα εφαρμογών Χρειάζονται ένα συντονιστή!!!

Διαβάστε περισσότερα

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

ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET Κεφάλαιο 4: Τεχνικές Μετάδοσης ΜΕΤΑΓΩΓΗ Τεχνική µεταγωγής ονομάζεται ο τρόπος µε τον οποίο αποκαθίσταται η επικοινωνία ανάµεσα σε δύο κόµβους με σκοπό την

Διαβάστε περισσότερα

Αδιέξοδα Ανάθεση Πόρων (Deadlocks Resource Allocation)

Αδιέξοδα Ανάθεση Πόρων (Deadlocks Resource Allocation) Αδιέξοδα Ανάθεση Πόρων (Deadlocks Resource Allocation) Εισαγωγή Μοντέλο συστήματος Χαρακτηρισμός και ορισμός κατάστασης αδιεξόδου Μέθοδοι χειρισμού αδιεξόδων Αποτροπή αδιεξόδου (Deadlock Prevention) Αποφυγή

Διαβάστε περισσότερα

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

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 7ο ΚΕΦΑΛΑΙΟ ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 7ο ΚΕΦΑΛΑΙΟ ΕΡΩΤΗΣΕΙΣ - ΑΣΚΗΣΕΙΣ 1. Για να διεκπεραιωθεί η μεταφορά των πακέτων από την πηγή στον προορισμό μεταξύ των κόμβων του επικοινωνιακού υποδικτύου απαιτείται η

Διαβάστε περισσότερα

ιαδίκτυα & Ενδοδίκτυα Η/Υ

ιαδίκτυα & Ενδοδίκτυα Η/Υ ιαδίκτυα & Ενδοδίκτυα Η/Υ ΠΡΩΤΟΚΟΛΛΑ ΜΕΤΑΦΟΡΑΣ (Kεφ. 17) TCP Υπηρεσίες TCP Μορφή Επικεφαλίδας TCP Μηχανισµοί TCP Πολιτικές Υλοποίησης TCP Βιβλίο Μαθήµατος: Επικοινωνίες Υπολογιστών & εδοµένων, William

Διαβάστε περισσότερα

Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap

Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap Version 2.00 Επιμέλεια Σημειώσεων: Δημήτρης Κόγιας Πατρικάκης Χαράλαμπος Πίνακας περιεχομένων TELNET... 2 PING...

Διαβάστε περισσότερα

Ερώτηση 1 η μεταγωγής κυκλώματος? : Ποια είναι τα κύρια χαρακτηριστικά της. Ερώτηση 2 η : Ποια είναι τα κύρια χαρακτηριστικά της μεταγωγής μηνύματος?

Ερώτηση 1 η μεταγωγής κυκλώματος? : Ποια είναι τα κύρια χαρακτηριστικά της. Ερώτηση 2 η : Ποια είναι τα κύρια χαρακτηριστικά της μεταγωγής μηνύματος? Μετάδοση Δεδομένων Δίκτυα Υπολογιστών 68 Ερώτηση 1 η μεταγωγής κυκλώματος? : Ποια είναι τα κύρια χαρακτηριστικά της Απάντηση : Στα δίκτυα μεταγωγής κυκλώματος (circuit switching networks), η μετάδοση των

Διαβάστε περισσότερα

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

Κατανεµηµένασυστήµατα αρχείων Κατανεµηµένασυστήµατα αρχείων Θέµατα σχεδίασης ιεπαφή υπηρεσίας αρχείων και ευρετηρίων Ονόµατα και αναγνωριστικά Οργάνωση εξυπηρετητών Σηµασιολογία (κατα)µερισµού αρχείων Ενταµίευση αρχείων Συνέπεια συστήµατος

Διαβάστε περισσότερα

ιαδίκτυα & Ενδοδίκτυα Η/Υ

ιαδίκτυα & Ενδοδίκτυα Η/Υ ιαδίκτυα & Ενδοδίκτυα Η/Υ ΠΡΩΤΟΚΟΛΛΑ ΙΑ ΙΚΤΥΩΣΗΣ (Kεφ. 15) IPV6 ΠΟΛΛΑΠΛΗ ΑΠΟΣΤΟΛΗ ΙΡ ΠΡΟΒΛΗΜΑΤΑ επί του κεφ. 15 Βιβλίο Μαθήµατος: Επικοινωνίες Υπολογιστών & εδοµένων, William Stallings, 6/e, 2000. ΕΥ -

Διαβάστε περισσότερα

Πρωτόκολλα Διαδικτύου

Πρωτόκολλα Διαδικτύου Πρωτόκολλα Διαδικτύου Ερωτήσεις Ασκήσεις Επικοινωνίες Δεδομένων Μάθημα 3 ο Ερωτήσεις 1. Τι είναι το intranet και ποια τα πλεονεκτήματα που προσφέρει; 2. Τι δηλώνει ο όρος «TCP/IP»; 3. Να αναφέρετε τα πρωτόκολλα

Διαβάστε περισσότερα

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX Μάθημα: Λειτουργικά Συστήματα Συστήματα Αρχείων Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης (clam@unipi.gr) Δρ. Α. Γαλάνη (agalani@unipi.gr) Λειτουργικά Συστήματα 1 Αρχεία με Χαρτογράφηση

Διαβάστε περισσότερα

ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ. Παράδοση Ασκήσεων Κεφάλαιο 2 Ασκήσεις 3,6,8,9,15,22,24,26. Γεωργόπουλος Άλκης Α.Μ.: 39 Κοντογιώργης Αναστάσιος A.M.

ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ. Παράδοση Ασκήσεων Κεφάλαιο 2 Ασκήσεις 3,6,8,9,15,22,24,26. Γεωργόπουλος Άλκης Α.Μ.: 39 Κοντογιώργης Αναστάσιος A.M. ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ Παράδοση Ασκήσεων Κεφάλαιο 2 Ασκήσεις 3,6,8,9,15,22,24,26 Γεωργόπουλος Άλκης Α.Μ.: 39 Κοντογιώργης Αναστάσιος A.M.: 43 Άσκηση 3 Μια αξιόπιστη multicast υπηρεσία επιτρέπει σε έναν

Διαβάστε περισσότερα

Συνεχής ροή πολυµέσων

Συνεχής ροή πολυµέσων Συνεχής ροή πολυµέσων Εισαγωγή ικτυακά πρωτόκολλα Πολυµέσα και δίκτυα Συνεχής ροή Ροή από εξυπηρετητές ιστοσελίδων Ροή από εξυπηρετητές µέσων Πρωτόκολλο RTSP Πρωτόκολλο RTP οµή πακέτων RTP Πρωτόκολλο RTCP

Διαβάστε περισσότερα

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΣΤΑ ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ Γ Τάξη Ε.Π.Α.Λ.

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΣΤΑ ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ Γ Τάξη Ε.Π.Α.Λ. ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΣΤΑ ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ 2016 Γ Τάξη Ε.Π.Α.Λ. ΘΕΜΑ Α Α1. Να γράψετε στο τετράδιό σας τον αριθµό καθεµιάς από τις παρακάτω προτάσεις και δίπλα το γράµµα Σ, αν είναι σωστή, ή το γράµµα

Διαβάστε περισσότερα

a. b. c. d ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

a. b. c. d ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 7.7 Πρωτόκολλο Μέχρι τώρα έχουμε αναφέρει, ότι, για να μεταδοθούν τα αυτοδύναμα πακέτα στο φυσικό μέσο, πρέπει αυτά να μετατραπούν σε πακέτα φυσικού δικτύου (π.χ. Ethernet). Όμως, δεν έχει ειπωθεί τίποτε

Διαβάστε περισσότερα

ΔΙΑΓΩΝΙΣΜΑ ΤΕΛΙΚΗΣ ΕΠΑΝΑΛΗΨΗΣ ΣΤΙΣ ΕΝΟΤΗΤΕΣ

ΔΙΑΓΩΝΙΣΜΑ ΤΕΛΙΚΗΣ ΕΠΑΝΑΛΗΨΗΣ ΣΤΙΣ ΕΝΟΤΗΤΕΣ ΕΠΑ.Λ. Άμφισσας Σχολικό Έτος : 2011-2012 Τάξη : Γ Τομέας : Πληροφορικής Μάθημα : ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ Διδάσκων : Χρήστος Ρέτσας Η-τάξη : tiny.cc/retsas-diktya2 ΔΙΑΓΩΝΙΣΜΑ ΤΕΛΙΚΗΣ ΕΠΑΝΑΛΗΨΗΣ ΣΤΙΣ ΕΝΟΤΗΤΕΣ

Διαβάστε περισσότερα

Πρωτόκολλα Διαδικτύου Μέρος 2ο. Επικοινωνίες Δεδομένων Μάθημα 3 ο

Πρωτόκολλα Διαδικτύου Μέρος 2ο. Επικοινωνίες Δεδομένων Μάθημα 3 ο Πρωτόκολλα Διαδικτύου Μέρος 2ο Επικοινωνίες Δεδομένων Μάθημα 3 ο Internet Protocol (IP) Στο επίπεδο δικτύου της τεχνολογίας TCP/IP, συναντάμε το πρωτόκολλο IP. Η λειτουργία του IP βασίζεται αποκλειστικά

Διαβάστε περισσότερα

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Μάθηµα 1 Ο ρόλος του ΛΣ Υλικό Υπολογιστικό σύστηµα Λειτουργικό σύστηµα Λογισµικό Προγράµµατα εφαρµογής Στόχοι του ΛΣ Χρήστες ιευκόλυνση των χρηστών ιευκόλυνση

Διαβάστε περισσότερα

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ)

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ) ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ) Συσκευές αποθήκευσης Ένας υπολογιστής προκειµένου να αποθηκεύσει δεδοµένα χρησιµοποιεί δύο τρόπους αποθήκευσης: Την Κύρια Μνήµη Τις συσκευές µόνιµης αποθήκευσης (δευτερεύουσα

Διαβάστε περισσότερα

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

Εισαγωγή. E-03: Λειτουργικά Συστήµατα ΙΙ 6. Εαρινό Εξάµηνο 2005-06. Κατανεµηµένα συστήµατα αρχείων. Μέρη κατανεµηµένου συστήµατος αρχείων Εισαγωγή Ε-03: Λειτουργικά Συστήµατα ΙΙ Εαρινό Εξάµηνο 2005-06 «Κατανεµηµένα Συστήµατα Αρχείων (1/2)» ρ. Παναγιώτης Χατζηδούκας (Π..407/80) Σύστηµα αρχείων Αποθήκευση, προσπέλαση και διαχείριση δεδοµένων

Διαβάστε περισσότερα

Network Address Translation (NAT)

Network Address Translation (NAT) HY335Α Δίκτυα Υπολογιστών Xειμερινό Εξάμηνο 2016-2017 Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών Network Address Translation (NAT) Network Layer Private IP Addresses Πρόβλημα: o χώρος των ΙΡ διευθύνσεων

Διαβάστε περισσότερα

Αµοιβαίοςαποκλεισµός. Κατανεµηµένα Συστήµατα 03-1

Αµοιβαίοςαποκλεισµός. Κατανεµηµένα Συστήµατα 03-1 Αµοιβαίοςαποκλεισµός Εισαγωγή Συγκεντρωτική προσέγγιση Κατανεµηµένη προσέγγιση Αλγόριθµος Lamport Αλγόριθµος Ricart-Agrawala Προσέγγιση µεταβίβασης σκυτάλης Αλγόριθµος LeLann Αλγόριθµος Raymond Αλγόριθµος

Διαβάστε περισσότερα

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

ΤΕΧΝΟΛΟΓΙΑ ΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ Ηυιοθέτησητης τεχνολογίαςκαι αρχιτεκτονικής TCP/IP δεν έρχεται σε σύγκρουσηµε το µοντέλο του OSI και αυτό γιατί και τα δυο συστήµατααναπτύχθηκαν συγχρόνως. Παρόλα αυτά, υπάρχουν ορισµένες ουσιώδεις διαφορές

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ Τεχνολογία ικτύων Επικοινωνιών ΙΙ 7.5 Πρωτόκολλο IP 38. Τι είναι το πρωτόκολλο ιαδικτύου (Internet Protocol, IP); Είναι το βασικό πρωτόκολλο του επιπέδου δικτύου της τεχνολογίας TCP/IP. Βασίζεται στα αυτοδύναµα

Διαβάστε περισσότερα

7.7 Πρωτόκολλο ARP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

7.7 Πρωτόκολλο ARP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ Τεχνολογία ικτύων Επικοινωνιών ΙΙ 7.7 Πρωτόκολλο ARP 73. Ποιο είναι το έργο του Πρωτοκόλλου Μετατροπής ιεύθυνσης (Address Resolution Protocol ARP); Η µετατροπή των ΙΡ διευθύνσεων στις αντίστοιχες φυσικές

Διαβάστε περισσότερα

Πρωτόκολλα Διαδικτύου

Πρωτόκολλα Διαδικτύου Πρωτόκολλα Διαδικτύου Μέρος 1ο Επικοινωνίες Δεδομένων Μάθημα 3 ο Εισαγωγή στην Τεχνολογία TCP/IP To TCP/IP σημαίνει Transmission Control Protocol / Internet Protocol και θα μπορούσε να θεωρηθεί ότι πρόκειται

Διαβάστε περισσότερα

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

Επικοινωνία με μηνύματα. Κατανεμημένα Συστήματα 1 Επικοινωνία με μηνύματα Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Επικοινωνία με ανταλλαγή μηνυμάτων Η επικοινωνία με μηνύματα είναι ο πιο ευέλικτος τρόπος αλληλεπίδρασης σε κατανεμημένα συστήματα πιο

Διαβάστε περισσότερα

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

ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ 1 o ΔΙΑΓΩΝΙΣΜΑ ΘΕΜΑ 1 ο Α) Ποια είναι τα βασικά στοιχεία, τα οποία χαρακτηρίζουν το ISDN; Η ψηφιακή μετάδοση. Όλα τα σήματα μεταδίδονται σε ψηφιακή μορφή απ' άκρη σ' άκρη του δικτύου,

Διαβάστε περισσότερα

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

Λογισµικό (Software SW) Λειτουργικά Συστήµατα και ίκτυα Λογισµικό (Software SW) Λειτουργικά Συστήµατα και ίκτυα Μαζική επεξεργασία ή επεξεργασία κατά δέσµες (batch processing) Χώρος χρήστη Εργασίες (Jobs): Πρόγραµµα, δεδοµένα και οδηγίες Αποτελέσµατα Χώρος

Διαβάστε περισσότερα

3.1 Λειτουργικό Σύστηµα. Λειτουργικό Σύστηµα (2) ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα. Ο υπολογιστής σαν σκέτο hardware έχει περιορισµένη χρησιµότητα

3.1 Λειτουργικό Σύστηµα. Λειτουργικό Σύστηµα (2) ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα. Ο υπολογιστής σαν σκέτο hardware έχει περιορισµένη χρησιµότητα ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα 3. Λειτουργικό Σύστηµα 3. Η εξέλιξη των λειτουργικών συστηµάτων 3.2 Αρχιτεκτονική λειτουργικών συστηµάτων 3.3 Συντονισµός των δραστηριοτήτων του υπολογιστή 3.4 Χειρισµός

Διαβάστε περισσότερα

Α2. Να γράψετε τους αριθμούς 1-5 από τη Στήλη Α και δίπλα το γράμμα της Στήλης Β που δίνει τη σωστή αντιστοίχηση.

Α2. Να γράψετε τους αριθμούς 1-5 από τη Στήλη Α και δίπλα το γράμμα της Στήλης Β που δίνει τη σωστή αντιστοίχηση. ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ / Γ- ΕΠΑ.Λ. ΗΜΕΡΟΜΗΝΙΑ: 21-02- 2016 ΕΠΙΜΕΛΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ: Ι. ΜΙΧΑΛΕΑΚΟΣ-Α.ΚΑΤΡΑΚΗ ΘΕΜΑ Α. A1. Να γράψετε το γράμμα καθεμιάς από τις παρακάτω προτάσεις και δίπλα τη

Διαβάστε περισσότερα

Δίκτυα Θεωρία

Δίκτυα Θεωρία Δίκτυα Θεωρία 2016-17 Κεφάλαιο 4 1. Γιατί η μεταφορά των δεδομένων δεν καλύπτεται επαρκώς από το Επίπεδο Δικτύου; Επειδή το επίπεδο δικτύου από τη φύση του είναι αναξιόπιστο, τα πακέτα φθάνουν καθυστερημένα,

Διαβάστε περισσότερα

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 6ο ίκτυα υπολογιστών

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 6ο ίκτυα υπολογιστών Εισαγωγή στην επιστήμη των υπολογιστών Υλικό Υπολογιστών Κεφάλαιο 6ο ίκτυα υπολογιστών 1 ίκτυα μικρά και μεγάλα Ένα δίκτυο υπολογιστών (computer network) είναι ένας συνδυασμός συστημάτων (δηλαδή, υπολογιστών),

Διαβάστε περισσότερα

ίκτυα υπολογιστών Στόχοι κεφαλαίου ίκτυα

ίκτυα υπολογιστών Στόχοι κεφαλαίου ίκτυα Στόχοι κεφαλαίου ίκτυα υπολογιστών (Κεφαλαιο 15 στο βιβλιο) Περιγραφή των κύριων θεµάτων σχετικά µε τα δίκτυα υπολογιστών Αναφορά στα διάφορα είδη δικτύων Περιγραφή των διαφόρων τοπολογιών των τοπικών

Διαβάστε περισσότερα

6.2 Υπηρεσίες Διαδικτύου

6.2 Υπηρεσίες Διαδικτύου 6.2 Υπηρεσίες Διαδικτύου 1 / 34 Όλες οι υπηρεσίες στο Διαδίκτυο, όπως και πολλές εφαρμογές λογισμικού, στηρίζονται στο μοντέλο Πελάτη Εξυπηρετητή. 2 / 34 Σύμφωνα με αυτό το μοντέλο ο Εξυπηρετητής οργανώνει,

Διαβάστε περισσότερα

Επαναληπτικές Ασκήσεις Μαθήματος

Επαναληπτικές Ασκήσεις Μαθήματος Επαναληπτικές Ασκήσεις Μαθήματος Ερώτηση: EAM1. Ποιο από τα παρακάτω χαρακτηριστικά δεν αποτελεί κριτήριο κατηγοριοποίησης δικτύων. Κλίμακα Τεχνολογία μετάδοσης Πλήθος τερματικών εντός του δικτύου Ερώτηση:

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων Εισαγωγή

ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων Εισαγωγή ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων 1.1. Εισαγωγή Γενικότερα δεν υπάρχει κάποια ταξινόμηση των πιθανών δικτύων κάτω από την οποία να ταιριάζουν όλα τα δίκτυα. Παρόλα αυτά η ταξινόμηση τους είθισται να γίνεται

Διαβάστε περισσότερα

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

Δίκτυα Υπολογιστών Firewalls. Χάρης Μανιφάβας Δίκτυα Υπολογιστών Firewalls Χάρης Μανιφάβας 1 Επικοινωνία Βασίζεται στη μεταβίβαση μηνυμάτων (λόγω απουσίας διαμοιραζόμενης μνήμης) Απαιτείται συμφωνία φόρμας μηνυμάτων Πρότυπο Στόχος τυποποίησης = Συνεργασία

Διαβάστε περισσότερα

Ειδικά Θέματα Προγραμματισμού

Ειδικά Θέματα Προγραμματισμού Ειδικά Θέματα Προγραμματισμού Ενότητα 11: Sockets Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

Κεφάλαιο 7.3. Πρωτόκολλο TCP

Κεφάλαιο 7.3. Πρωτόκολλο TCP Κεφάλαιο 7.3 Πρωτόκολλο TCP Πρωτόκολλο TCP Το πρωτόκολλο Ελέγχου Μετάδοσης (Transmission Control Protocol, TCP) είναι το βασικό πρωτόκολο του Επιπέδου Μεταφοράς του μοντέλου TCP/IP. Παρέχει υπηρεσίες προσανατολισμένες

Διαβάστε περισσότερα

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

Εισαγωγή στην Πληροφορική Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Εισαγωγή στην Πληροφορική Ενότητα 8: Λειτουργικά Συστήματα Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

Διαβάστε περισσότερα

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

Επιτεύγµατα των Λ.Σ. Επιτεύγµατα των Λ.Σ. ιεργασίες ιαχείριση Μνήµης Ασφάλεια και προστασία δεδοµένων Χρονοπρογραµµατισµός & ιαχείρηση Πόρων οµή Συστήµατος ιεργασίες Ένα πρόγραµµα σε εκτέλεση Ένα στιγµιότυπο ενός προγράµµατος

Διαβάστε περισσότερα

Μάθημα 4: Πρότυπα, Πρωτόκολλα & Υπηρεσίες

Μάθημα 4: Πρότυπα, Πρωτόκολλα & Υπηρεσίες Μάθημα 4: Πρότυπα, Πρωτόκολλα & Υπηρεσίες 4.1 Γενικά Σκοπός ενός δικτύου υπολογιστών είναι οι χρήστες να έχουν τη δυνατότητα να διαμοιράζονται πληροφορίες και συσκευές του δικτύου. Η σχεδίαση και η ανάπτυξη

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα (ΗΥ321) Λειτουργικά Συστήματα (ΗΥ321) Διάλεξη 17: Χειρισμός Εισόδου - Εξόδου Συστήματα Εισόδου / Εξόδου: Το Υλικό Ε/Ε Μεγάλη ποικιλία συσκευών Ε/Ε Και μεγαλώνει Συνηθισμένες έννοιες: Πόρτα Δίαυλος Κοινό μέσο πρόσβασης

Διαβάστε περισσότερα

Είναι η διαδικασία εύρεσης της διαδρομής που πρέπει να ακολουθήσει ένα πακέτο για να φτάσει στον προορισμό του. Η διαδικασία αυτή δεν είναι πάντα

Είναι η διαδικασία εύρεσης της διαδρομής που πρέπει να ακολουθήσει ένα πακέτο για να φτάσει στον προορισμό του. Η διαδικασία αυτή δεν είναι πάντα 1 Είναι η διαδικασία εύρεσης της διαδρομής που πρέπει να ακολουθήσει ένα πακέτο για να φτάσει στον προορισμό του. Η διαδικασία αυτή δεν είναι πάντα εύκολη, τη στιγμή που γνωρίζουμε ότι ένα σύνθετο δίκτυο

Διαβάστε περισσότερα

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

Επικοινωνία Client/Server Επικοινωνία Client/Server Χάρης Μανιφάβας Τμήμα Εφ. Πληροφορικής & Πολυμέσων ΤΕΙ Κρήτης Επικοινωνία - Client/Server 1 Μοντέλο Πελάτη-Εξυπηρετητή Βασική ιδέα: να δομηθεί το λειτουργικό σύστημα ως συνεργαζόμενες

Διαβάστε περισσότερα

Δίκτυα Θεωρία

Δίκτυα Θεωρία Δίκτυα Θεωρία 2016-17 Κεφάλαιο 1 1. Ποια είναι τα επίπεδα που χρησιμοποιεί το μοντέλο αναφοράς για τη Διασύνδεση Ανοικτών Συστημάτων (OSI); i. Φυσικό Επίπεδο ii. επίπεδο Ζεύξης ή Σύνδεσης Δεδομένων iii.

Διαβάστε περισσότερα

ιαδίκτυα & Ενδοδίκτυα Η/Υ

ιαδίκτυα & Ενδοδίκτυα Η/Υ ιαδίκτυα & Ενδοδίκτυα Η/Υ ΙΑ ΙΚΤΥΑΚΗ ΛΕΙΤΟΥΡΓΙΑ (Kεφ. 16) ΠΡΩΤΟΚΟΛΛΑ ΡΟΜΟΛΟΓΗΣΗΣ Αυτόνοµα Συστήµατα Πρωτόκολλο Συνοριακών Πυλών OSPF ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΟΛΟΚΛΗΡΩΜΕΝΩΝ ΥΠΗΡΕΣΙΩΝ (ISA) Κίνηση ιαδικτύου Προσέγγιση

Διαβάστε περισσότερα

7.7 Πρωτόκολλο ARP. 1. Το πρωτόκολλο ARP μετατρέπει τις διευθύνσεις IP στις αντίστοιχες φυσικές. Σ Λ

7.7 Πρωτόκολλο ARP. 1. Το πρωτόκολλο ARP μετατρέπει τις διευθύνσεις IP στις αντίστοιχες φυσικές. Σ Λ 7.7 Πρωτόκολλο ARP & Ερωτήσεις 1. Ποιος ο ρόλος του Πρωτοκόλλου Μετατροπής Διεύθυνσης (ARP); 2. Τι είναι ο πίνακας ARP, τι πληροφορία περιλαμβάνει και με ποιο τρόπο ενημερώνεται και ποιος ο χρόνος ζωής

Διαβάστε περισσότερα

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

Βασικές έννοιες. Κατανεμημένα Συστήματα 1 Βασικές έννοιες Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Ορισμός κατανεμημένου συστήματος Ένα σύστημα από ξεχωριστές ενεργές οντότητες (ονομάζονται «κόμβοι» ή «διεργασίες») που εκτελούνται ταυτόχρονα/ανεξάρτητα

Διαβάστε περισσότερα

Οργάνωση και Αρχιτεκτονική Υπολογιστών. Κεφάλαιο 7.4

Οργάνωση και Αρχιτεκτονική Υπολογιστών. Κεφάλαιο 7.4 Οργάνωση και Αρχιτεκτονική Υπολογιστών Κεφάλαιο 7.4 Ε/Ε Οδηγούμενη από Διακοπές Το πρόβλημα με την προγραμματιζόμενη Ε/Ε είναι ότι ο επεξεργαστής πρέπει να περιμένει ώστε η μονάδα Ε/Ε που τον ενδιαφέρει

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών Οργάνωση Υπολογιστών Υπολογιστικό Σύστημα Λειτουργικό Σύστημα Αποτελεί τη διασύνδεση μεταξύ του υλικού ενός υπολογιστή και του χρήστη (προγραμμάτων ή ανθρώπων). Είναι ένα πρόγραμμα (ή ένα σύνολο προγραμμάτων)

Διαβάστε περισσότερα

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

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 7.4 Πρωτόκολλο Μέχρι τώρα περιγράψαμε συνδέσεις, που χρησιμοποιούν το πρωτόκολλο TCP. Θυμηθείτε, ότι το TCP είναι υπεύθυνο για το τεμαχισμό των μηνυμάτων σε τμήματα και την επανασύνδεση τους στον προορισμό.

Διαβάστε περισσότερα

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

Τι είναι ένα δίκτυο υπολογιστών; Αρχιτεκτονική επιπέδων πρωτοκόλλων. Δικτυακά πρωτόκολλα Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Δίκτυα υπολογιστών (και το Διαδίκτυο) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι ένα δίκτυο υπολογιστών;

Διαβάστε περισσότερα

ιεργασίες και νήµατα Προγραµµατισµός ΙΙΙ 1 lalis@inf.uth.gr

ιεργασίες και νήµατα Προγραµµατισµός ΙΙΙ 1 lalis@inf.uth.gr ιεργασίες και νήµατα Προγραµµατισµός ΙΙΙ 1 lalis@inf.uth.gr Η έννοια της διεργασίας ιεργασία (process) είναι ο µηχανισµός εκτέλεσης ενός προγράµµατος σε ένα λειτουργικό σύστηµα. Η διεργασία είναι µια ενεργή

Διαβάστε περισσότερα

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

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15. Δίκτυα υπολογιστών. (και το Διαδίκτυο) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Δίκτυα υπολογιστών (και το Διαδίκτυο) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι ένα δίκτυο υπολογιστών;

Διαβάστε περισσότερα

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

Κεφάλαιο 7 Διαδικτύωση-Internet. 7.2 Τεχνολογία TCP/IP Κεφάλαιο 7 Διαδικτύωση-Internet 7.2 Τεχνολογία TCP/IP Τι δηλώνει ο όρος «TCP/IP»; Ο όρος TCP/IP αναφέρεται σε μια ομάδα ομοειδών πρωτοκόλλων που χρησιμοποιούνται για την επικοινωνία των δικτύων υπολογιστών

Διαβάστε περισσότερα

Σκοπιµότητα των firewalls

Σκοπιµότητα των firewalls Σκοπιµότητα των firewalls Παρέχουν προστασία των εσωτερικών δικτύων από απειλές όπως: Μη εξουσιοδοτηµένη προσπέλαση των δικτυακών πόρων: όταν επίδοξοι εισβολείς προσπαθούν να εισχωρήσουν στο δίκτυο και

Διαβάστε περισσότερα

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

Εισαγωγή στην Πληροφορική Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόµων Τοπογράφων Μηχανικών Εισαγωγή στην Πληροφορική Αστροφυσικός Αναπλ. Καθηγητής ΕΜΠ romylos@survey.ntua.gr Λειτουργικά συστήµατα, διεργασίες και δροµολόγηση Σύνδεση

Διαβάστε περισσότερα

T.E.I. ΗΠΕΙΡΟΥ ΤΜΗΜΑ ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ & ΔΙΟΙΚΗΣΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ

T.E.I. ΗΠΕΙΡΟΥ ΤΜΗΜΑ ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ & ΔΙΟΙΚΗΣΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ T.E.I. ΗΠΕΙΡΟΥ ΤΜΗΜΑ ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ & ΔΙΟΙΚΗΣΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΘΕΜΑ: ΜΕΛΕΤΗ & ΡΥΘΜΙΣΕΙΣ ΠΡΩΤΟΚΟΛΛΟΥ ΔΡΟΜΟΛΟΓΗΣΗΣ RIP ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ: ΣΤΕΡΓΙΟΥ ΕΛΕΥΘΕΡΙΟΣ ΣΠΟΥΔΑΣΤΡΙΑ: ΤΣΙΜΠΙΔΑ ΙΩΑΝΝΑ- ΠΑΡΑΣΚΕΥΗ

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα Λειτουργικά Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:09 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

Διαβάστε περισσότερα

Επίπεδο Δικτύου: Διαδικτύωση

Επίπεδο Δικτύου: Διαδικτύωση Επίπεδο Δικτύου: Διαδικτύωση Μάθημα «Δίκτυα Υπολογιστών» Τμήμα Πληροφορικής Οικονομικό Πανεπιστήμιο Αθηνών Εαρινό Εξάμηνο 2013-14 Γεώργιος Ξυλωμένος Γεώργιος Δ. Σταμούλης Βασίλειος Σύρης Εισαγωγή Υπάρχει

Διαβάστε περισσότερα

Αδιέξοδα Ανάθεση Πόρων (Deadlocks Resource Allocation)

Αδιέξοδα Ανάθεση Πόρων (Deadlocks Resource Allocation) Αδιέξοδα Ανάθεση Πόρων (Deadlocks Resource Allocation) Το Πρόβλημα του Αδιεξόδου Ένα σύνολο από διεργασίες σε αναμονή, όπου η κάθε μια κατέχει έναν αριθμό από πόρους και περιμένει να αποκτήσει και έναν

Διαβάστε περισσότερα

Διαδίκτυο: δίκτυο διασυνδεμένων δικτύων Ξεκίνησε ως ένα μικρό κλειστό στρατιωτικό δίκτυο, απόρροια του Ψυχρού Πολέμου μεταξύ ΗΠΑ και ΕΣΣΔ.

Διαδίκτυο: δίκτυο διασυνδεμένων δικτύων Ξεκίνησε ως ένα μικρό κλειστό στρατιωτικό δίκτυο, απόρροια του Ψυχρού Πολέμου μεταξύ ΗΠΑ και ΕΣΣΔ. ΚΕΦΑΛΑΙΟ 9 Διαδίκτυο: δίκτυο διασυνδεμένων δικτύων Ξεκίνησε ως ένα μικρό κλειστό στρατιωτικό δίκτυο, απόρροια του Ψυχρού Πολέμου μεταξύ ΗΠΑ και ΕΣΣΔ. Το 1966 αρχίζει ο σχεδιασμός του ARPANET, του πρώτου

Διαβάστε περισσότερα

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

Βασικές έννοιες. Κατανεμημένα Συστήματα 1 Βασικές έννοιες Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Ορισμός κατανεμημένου συστήματος Ένα σύστημα από ξεχωριστές ενεργές οντότητες (ονομάζονται «κόμβοι» ή «διεργασίες») που εκτελούνται ταυτόχρονα/ανεξάρτητα

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Δίκτυα ΙΙ. Κεφάλαιο 7

Δίκτυα ΙΙ. Κεφάλαιο 7 Δίκτυα ΙΙ Κεφάλαιο 7 Στο κεφάλαιο αυτό παρουσιάζεται ο τρόπος επικοινωνίας σε ένα δίκτυο υπολογιστών. Το κεφάλαιο εστιάζεται στο Επίπεδο Δικτύου του OSI (το οποίο είδατε στο μάθημα της Β Τάξης). Οι βασικές

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα (Λ/Σ) Λειτουργικά Συστήματα (Λ/Σ) Βασικές Έννοιες Λειτουργικών Συστημάτων Βασίλης Σακκάς 13/11/2013 1 ΒασικέςΈννοιεςΛ/Σ Η επικοινωνία μεταξύ Λ/Σ και των προγραμμάτων του χρήστη γίνεται μέσω του συνόλου των «εκτεταμένων

Διαβάστε περισσότερα

ιαδίκτυα & Ενδοδίκτυα Η/Υ

ιαδίκτυα & Ενδοδίκτυα Η/Υ ιαδίκτυα & Ενδοδίκτυα Η/Υ (Kεφ. 10) ΑΡΧΕΣ ΜΕΤΑΓΩΓΗΣ ΠΑΚΕΤΩΝ Τεχνική Μεταγωγής Μέγεθος Πακέτου Σύγκριση Μεταγωγής Κυκλώµατος και Μεταγωγής Πακέτου Εξωτερική και Εσωτερική Λειτουργία Βιβλίο Μαθήµατος: Επικοινωνίες

Διαβάστε περισσότερα

Ethernet Ethernet ΙΕΕΕ CSMA/CD

Ethernet Ethernet ΙΕΕΕ CSMA/CD Ethernet Τα τοπικά δίκτυα είναι συνήθως τύπου Ethernet ή λέμε ότι ακολουθούν το πρότυπο ΙΕΕΕ 802.3 Ακολουθούν το μηχανισμό CSMA/CD (Πολλαπλή πρόσβαση με Ακρόαση Φέροντος και Ανίχνευση Συγκρούσεων). Πολλαπλή

Διαβάστε περισσότερα

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

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ Όπως έχουμε ήδη αναφέρει, τα δίκτυα τεχνολογίας / χρησιμοποιούν διεύθυνση 32 bits, προκειμένου να δρομολογήσουν ένα αυτοδύναμο πακέτο στο προορισμό του. Κατά σύμβαση έχει επικρατήσει οι διευθύνσεις να

Διαβάστε περισσότερα

WIRELESS SENSOR NETWORKS (WSN)

WIRELESS SENSOR NETWORKS (WSN) WIRELESS SENSOR NETWORKS (WSN) Δρ. Ιωάννης Παναγόπουλος Εργαστήριο Υπολογιστικών Συστημάτων Καθ. Γεώργιος Παπακωνσταντίνου Αθήνα 2008 ΕΙΣΑΓΩΓΗ ΣΤΑ WSN Σε συγκεκριμένες εφαρμογές, επιθυμείται η μέτρηση

Διαβάστε περισσότερα

Πρωτόκολλο ARP. Γεωργιλά Χιονία Καθηγήτρια Πληροφορικής ΠΕ1901

Πρωτόκολλο ARP. Γεωργιλά Χιονία Καθηγήτρια Πληροφορικής ΠΕ1901 Πρωτόκολλο ARP Γεωργιλά Χιονία Καθηγήτρια Πληροφορικής ΠΕ1901 Ποιο είναι το έργο του Πρωτοκόλλου Μετατροπής Διεύθυνσης (Address Resolution Protocol ARP) Κάνει δυναμική μετατροπή των IP διευθύνσεων σε φυσικές

Διαβάστε περισσότερα

Το Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash model) Οι διεργασίες µπορούν να σταµατούν να εκτελούνται σε

Το Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash model) Οι διεργασίες µπορούν να σταµατούν να εκτελούνται σε Οµοφωνία σε σύγχρονο σύστηµα µε αϖοτυχίες κατάρρευσης διεργασιών Παναγιώτα Φατούρου Κατανεµηµένος Υπολογισµός 1 Το Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash

Διαβάστε περισσότερα

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

Επικοινωνία με μηνύματα. Κατανεμημένα Συστήματα 1 Επικοινωνία με μηνύματα Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Επικοινωνία με ανταλλαγή μηνυμάτων Η επικοινωνία με μηνύματα είναι ο πιο ευέλικτος τρόπος αλληλεπίδρασης σε κατανεμημένα συστήματα πιο

Διαβάστε περισσότερα

ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ Αθήνα 18/ 10/ 2001

ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ Αθήνα 18/ 10/ 2001 ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ Αθήνα 18/ 10/ 2001 ΥΠ.ΕΣ...Α Αριθµ.Πρωτ. / ΙΑ Π/A1/22123 Γ.Γ. ΗΜΟΣΙΑΣ ΙΟΙΚΗΣΗΣ ΓΕΝ. /ΝΣΗ ΙΟΙΚΗΤΙΚΗΣ ΟΡΓΑΝΩΣΗΣ /ΝΣΗ ΑΠΛΟΥΣΤΕΥΣΗΣ ΙΑ ΙΚΑΣΙΩΝ ΚΑΙ ΠΑΡΑΓΩΓΙΚΟΤΗΤΑΣ ΤΜΗΜΑ ΜΕΘΟ ΩΝ ΕΡΓΑΣΙΩΝ

Διαβάστε περισσότερα

ΕΚΦΩΝΗΣΕΙΣ ΘΕΜΑ Α. α. Πριν εμφανιστεί η τεχνολογία ISDN οι υπηρεσίες φωνής, εικόνας και δεδομένων απαιτούσαν διαφορετικά δίκτυα.

ΕΚΦΩΝΗΣΕΙΣ ΘΕΜΑ Α. α. Πριν εμφανιστεί η τεχνολογία ISDN οι υπηρεσίες φωνής, εικόνας και δεδομένων απαιτούσαν διαφορετικά δίκτυα. ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ ΕΠΑΛ (ΟΜΑΔΑ Α ) & ΜΑΘΗΜΑΤΩΝ ΕΙΔΙΚΟΤΗΤΑΣ ΕΠΑΛ (ΟΜΑΔΑ Β ) ΘΕΜΑ Α ΚΥΡΙΑΚΗ 04/05/2014- ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΟΚΤΩ (8) ΕΚΦΩΝΗΣΕΙΣ Α1. Να χαρακτηρίσετε

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα (Λ/Σ) Λειτουργικά Συστήματα (Λ/Σ) Διαχείριση Κεντρικής Μονάδας Επεξεργασίας (CPU) Βασίλης Σακκάς 4/12/2013 1 Xρονοδρομολόγηση Διεργασιών 1 Η χρονοδρομολόγηση σε ένα Λ/Σ αποφασίζει ποια διεργασία θα χρησιμοποιεί

Διαβάστε περισσότερα

ΕΠΑΝΑΛΗΠΤΙΚΟ ΤΕΣΤ ΣΤΙΣ ΕΝΟΤΗΤΕΣ

ΕΠΑΝΑΛΗΠΤΙΚΟ ΤΕΣΤ ΣΤΙΣ ΕΝΟΤΗΤΕΣ ΕΠΑ.Λ. Άμφισσας Σχολικό Έτος : 2011-2012 Τάξη : Γ Τομέας : Πληροφορικής Μάθημα : ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ Διδάσκων : Χρήστος Ρέτσας Η-τάξη : tiny.cc/retsas-diktya2 ΕΠΑΝΑΛΗΠΤΙΚΟ ΤΕΣΤ ΣΤΙΣ ΕΝΟΤΗΤΕΣ 7.1-7.2

Διαβάστε περισσότερα

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Τμήμα Πληροφορικής

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Τμήμα Πληροφορικής Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Τμήμα Πληροφορικής Άσκηση : Λυμένες Ασκήσεις Έστω ένα σύστημα μνήμης, στο οποίο έχουμε προσθέσει μια κρυφή μνήμη θυμάτων 6 θέσεων

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 8 ΣΥΜΠΕΡΑΣΜΑΤΑ. 8.1 Εισαγωγή

ΚΕΦΑΛΑΙΟ 8 ΣΥΜΠΕΡΑΣΜΑΤΑ. 8.1 Εισαγωγή ΣΥΜΠΕΡΑΣΜΑΤΑ 8.1 Εισαγωγή Η διατριβή συµβάλλει στην ανάπτυξη µεθόδων παροχής ΠοιΥπ σε DiffServ IP δίκτυα και το επιτυγχάνει µε δύο διαφορετικούς τρόπους: µε την παρουσίαση µεθόδων παροχής ΠοιΥπ που παρέχουν

Διαβάστε περισσότερα

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

Διαφορές single-processor αρχιτεκτονικών και SoCs 13.1 Τα συστήματα και η επικοινωνία μεταξύ τους γίνονται όλο και περισσότερο πολύπλοκα. Δεν μπορούν να περιγραφούνε επαρκώς στο επίπεδο RTL καθώς αυτή η διαδικασία γίνεται πλέον αρκετά χρονοβόρα. Για αυτό

Διαβάστε περισσότερα

4.1.1 Πρωτόκολλο TCP - Δομή πακέτου

4.1.1 Πρωτόκολλο TCP - Δομή πακέτου 4.1.1 Πρωτόκολλο TCP - Δομή πακέτου 1 / 38 Παράδειγμα Έστω ότι θέλουμε να αποστείλουμε ένα μήνυμα μέσω ηλεκτρονικού ταχυδρομείου. Αρχικά η εφαρμογή χρησιμοποιώντας τα πρωτόκολλα του επιπέδου εφαρμογής

Διαβάστε περισσότερα

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

Μάθημα 5: To Μοντέλο Αναφοράς O.S.I. Μάθημα 5: To Μοντέλο Αναφοράς O.S.I. 5.1 Γενικά Τα πρώτα δίκτυα χαρακτηρίζονταν από την «κλειστή» αρχιτεκτονική τους με την έννοια ότι αυτή ήταν γνωστή μόνο στην εταιρία που την είχε σχεδιάσει. Με τον

Διαβάστε περισσότερα

Σύστηµα CORBA. Κατανεµηµένα Συστήµατα 18-1

Σύστηµα CORBA. Κατανεµηµένα Συστήµατα 18-1 Σύστηµα CORBA οµή συστήµατος Μεταβίβαση παραµέτρων Μοντέλα επικοινωνίας υναµικές κλήσεις Αναφορές αντικειµένων Ονόµατα αντικειµένων ιαχείριση αντικειµένων Υλοποίηση συστηµάτων CORBA Κατανεµηµένα Συστήµατα

Διαβάστε περισσότερα

7.4 Πρωτόκολλο UDP. 3. Στη περίπτωση που ένα μήνυμα χωράει σε ένα τμήμα, χρησιμοποιούμε το πρωτόκολλο TCP.

7.4 Πρωτόκολλο UDP. 3. Στη περίπτωση που ένα μήνυμα χωράει σε ένα τμήμα, χρησιμοποιούμε το πρωτόκολλο TCP. 7.4 Πρωτόκολλο UDP & Ερωτήσεις 1. ε ποιες περιπτώσεις χρησιμοποιείται το πρωτόκολλο UDP, εναλλακτικά του TCP; 2. ε τι είδους εφαρμογές χρησιμοποιείται συνήθως το πρωτόκολλο UDP; Να δώσετε παράδειγμα μιας

Διαβάστε περισσότερα

Προγραμματισμός συστημάτων UNIX/POSIX

Προγραμματισμός συστημάτων UNIX/POSIX Προγραμματισμός συστημάτων UNIX/POSIX Προχωρημένη διαδιεργασιακή επικοινωνία: επώνυμοι αγωγοί (FIFOs) ουρές μηνυμάτων (message queues) κοινόχρηστη μνήμη (shared memory) Ανάγκη Ότι είδαμε μέχρι τώρα μπορεί

Διαβάστε περισσότερα