ΒΑΣΙΚΑ ΑΤΟΜΙΚΑ ΑΝΤΙΚΕΙΜΕΝΑ Καταχωρητής Read/Write Αποθηκεύει µια τιµή από κάποιο σύνολο και υποστηρίζει δύο λειτουργίες: read(r): επιστρέφει την τιµή

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

Download "ΒΑΣΙΚΑ ΑΤΟΜΙΚΑ ΑΝΤΙΚΕΙΜΕΝΑ Καταχωρητής Read/Write Αποθηκεύει µια τιµή από κάποιο σύνολο και υποστηρίζει δύο λειτουργίες: read(r): επιστρέφει την τιµή"

Transcript

1 ΑΤΟΜΙΚΑ ΑΝΤΙΚΕΙΜΕΝΑ Ένα ατοµικό αντικείµενο κάποιου τύπου µοιάζει µε µια κοινή µεταβλητή αυτού του τύπου. Ένα ατοµικό αντικείµενο βρίσκεται σε µια κατάσταση και υποστηρίζει ένα σύνολο από λειτουργίες µέσω των οποίων µπορεί να αλλάξει η κατάστασή του. Τα ατοµικά αντικείµενα έχουν προταθεί σαν δοµικά µπλοκ για την κατασκευή πολυ-επεξεργαστικών συστηµάτων: Εκκίνηση µε απλά βασικά ατοµικά αντικείµενα που παρέχονται από το υλικό. ιαδοχική κατασκευή όλο και πιο πολύπλοκων ατοµικών αντικειµένων από πιο απλά αντικείµενα. Το σύστηµα που προκύπτει είναι απλό, καλά δοµηµένο, και είναι εύκολο να αποδειχθεί ότι είναι ορθό.

2 ΒΑΣΙΚΑ ΑΤΟΜΙΚΑ ΑΝΤΙΚΕΙΜΕΝΑ Καταχωρητής Read/Write Αποθηκεύει µια τιµή από κάποιο σύνολο και υποστηρίζει δύο λειτουργίες: read(r): επιστρέφει την τιµή που είναι αποθηκευµένη στον R χωρίς να τον αλλάξει, write(r,v): γράφει την τιµή v στον R και επιστρέφει ack Καταχωρητής Test-And-Set Αποθηκεύει µια τιµή από το σύνολο {0,1} και υποστηρίζει δύο λειτουργίες: read(r): επιστρέφει την τιµή που είναι αποθηκευµένη στον R χωρίς να τον αλλάξει, Test-And-Set(R): αποθηκεύει την τιµή 1 στον R και επιστρέφει την παλιά τιµή του

3 ΒΑΣΙΚΑ ΑΤΟΜΙΚΑ ΑΝΤΙΚΕΙΜΕΝΑ Καταχωρητής Load-Link, Store-Conditional (LL/SC) Αποθηκεύει µια τιµή από κάποιο σύνολο και υποστηρίζει δύο λειτουργίες LL και SC, όπου κάθε LL συσχετίζεται µια κάποια SC. LL(R): επιστρέφει την τιµή του R, SC(R,v): αποθηκεύει v στον R αν δεν έχει γίνει καµία αλλαγή στον R από την χρονική στιγµή που εκτελέστηκε η LL η οποία έχει συσχετισθεί µε την SC. Καταχωρητής Compare-And-Swap Αποθηκεύει µια τιµή από κάποιο σύνολο και υποστηρίζει δύο λειτουργίες: read(r): επιστρέφει την τιµή του R, CAS(R,u,v): Αν η κατάσταση του R είναι u αλλάζει σε v και επιστρέφεται TRUE. ιαφορετικά δεν αλλάζει ο R και επιστρέφεται FALSE.

4 ΒΑΣΙΚΑ ΑΤΟΜΙΚΑ ΑΝΤΙΚΕΙΜΕΝΑ Καταχωρητής Πολλαϖλής-Εγγραφής (MW) Όλες οι διεργασίες επιτρέπεται να γράφουν στον καταχωρητή Καταχωρητής Αϖλής-Εγγραφής (SW) Μόνο µια από τις διεργασίες µπορεί να γράφει στον καταχωρητή. Χωρητικότητα καταχωρητή Ένας καταχωρητής είναι πεπερασµένης χωρητικότητας όταν το σύνολο τιµών που µπορεί να αποθηκεύει είναι πεπερασµένο. Στην αντίθετη περίπτωση είναι µη-πεπερασµένης χωρητικότητας. Το υλικό πολλών συστηµάτων υποστηρίζει κάποια από τα παραπάνω αντικείµενα. Το υλικό τότε εγγυάται ότι κάθε µια λειτουργία εκτελείται ατοµικά.

5 ΕΠΑΛΗΘΕΥΣΗ ΚΑΘΟΛΙΚΩΝ ΚΑΤΗΓΟΡΗΜΑΤΩΝ (GLOBAL PREDICATE EVALUATION) Σε πολλά προβλήµατα των κατανεµηµένων συστηµάτων µια ενέργεια πρέπει να συµβεί αν ένα κατηγόρηµα (predicate) που αφορά την καθολική κατάσταση του συστήµατος είναι αληθές. Παραδείγµατα Ανίχνευση αδιεξόδων (deadlock detection). Ανίχνευση τερµατισµού (termination detection). Ανίχνευση απώλειας διακριτικού (token loss detection). ιαχείριση µη-προσβάσιµης ή αχρησιµοποίητης µνήµης (garbage collection). Εισαγωγή σηµείων ελέγχου και επανεκκίνηση (checkpointing & restarting). Παρακολούθηση και αποσφαλµάτωση (monitoring & debugging).

6 ΟΡΘΟΤΗΤΑ & ΑΠΟΣΦΑΛΜΑΤΩΣΗ Η µεγαλύτερη δυσκολία στο να αποδειχθεί η ορθότητα λειτουργίας ενός κατανεµηµένου αλγορίθµου είναι η αναγκαιότητα στήριξης της επιχειρηµατολογίας σε µη συνεπείς όψεις των διαµοιραζόµενων µεταβλητών. Ο υπολογισµός συνεπών όψεων διευκολύνει το έργο επαλήθευσης της ορθότητας των κατανεµηµένων αλγορίθµων αλλά δεν είναι εύκολο πρόβληµα.

7 ΑΤΟΜΙΚΑ ΣΤΙΓΜΙΟΤΥΠΑ ΜΝΗΜΗΣ ιαµοιραζόµενο αντικείµενο που αποτελείται από έναν πίνακα µε m τµήµατα που το καθένα αποθηκεύει µια τιµή. Υποστηρίζει δύο είδη ατοµικών λειτουργιών: UPDATE(i,v): εγγράφει στο τµήµα A i του στιγµιoτύπου την τιµή υ. SCAN: επιστρέφει ένα διάνυσµα τιµών, µία για κάθε τµήµα και είναι εγγυηµένο πως οι τιµές αυτές είναι συνεπείς. A 1 A 2... A m Τα ατοµικά στιγµιότυπα αποσκοπούν στην παροχή συνεπών όψεων. Ατοµικό Στιγµιότυπο A

8 ΑΤΟΜΙΚΑ ΣΤΙΓΜΙΟΤΥΠΑ Ατοµικό Στιγµιότυϖο Πολλαϖλής-Εγγραφής (MW Atomic Snapshot) Κάθε διεργασία µπορεί να εκτελεί UPDATES σε κάθε τµήµα. Στιγµιότυϖο Αϖλής-Εγγραφής (SW Atomic Snapshot) Μόνο η διεργασία i µπορεί να εκτελεί UPDATES στο τµήµα A i. Τα ατοµικά στιγµιότυπα είναι πιο ισχυρά αντικείµενα από τους καταχωρητές και διευκολύνουν τη σχεδίαση κατανεµηµένων αλγορίθµων! Τα ατοµικά στιγµιότυπα δεν παρέχονται από το υλικό.

9 ΕΦΑΡΜΟΓΕΣ Aµοιβαίος αποκλεισµός [Κatseff - STOC 78, Lamport JACM 86, Dolev & Gafni & Shavit STOC 88]. Επίτευξη οµοφωνίας [Aspnes - J. of Alg. 93, Aspnes & Herlihy J. of Alg 90] & Approximate Agreement [Attiya, Lynch & Shavit JACM 94] Κατασκευή συστηµάτων παράλληλης ανάθεσης χρονοσφραγίδων [Dolev & Shavit - STOC 88]. Αξιόπιστη και αποδοτική υλοποίηση κατανεµηµένων δοµών δεδοµένων [Aspnes & Herlihy - SPAA 90, Herlihy PODC 91]. Υλοποίηση χρήσιµων κατανεµηµένων αντικειµένων [Vitanyi & Awerbuch - FOCS 86, Bloom PODC 87, Peterson & Burns FOCS 87].

10 ΥΛΟΠΟΙΩΝΤΑΣ ΑΤΟΜΙΚΑ ΣΤΙΓΜΙΟΤΥΠΑ ΜΕ ΧΡΗΣΗ ΚΑΤΑΧΩΡΗΤΩΝ Παροχή αλγορίθµων για τις λειτουργίες SCAN και UPDATE. Αποτελεσµατικότητα Υλοποίησης Χρονική πολυπλοκότητα µιας SCAN ή µιας UPDATE λειτουργίας: ο µέγιστος αριθµός βηµάτων που εκτελούνται από οποιαδήποτε διεργασία σε οποιαδήποτε εκτέλεση προκειµένου να υλοποιηθεί η λειτουργία Χωρική Πολυπλοκότητα υλοποίησης: # καταχωρητών που χρησιµοποιούνται A 1 A 2... A m SCAN ή UPDATE... R 1 R 2 R k read ή write

11 Χρήσιµοι Ορισµοί ιαφορετικά στιγµιότυπα των λειτουργιών του αντικειµένου µπορούν να εκτελούνται από διαφορετικές διεργασίες ταυτόχρονα. Σε κάθε εκτέλεση, οι κλήσεις και οι αποκρίσεις των λειτουργιών του ατοµικού αντικειµένου µπορεί να πραγµατοποιούνται µε οποιαδήποτε σειρά. Πολλές κλήσεις µπορούν π.χ. να συµβούν πριν να συµβεί οποιαδήποτε απόκριση. Το διάστηµα εκτέλεσης µιας λειτουργίας (SCAN ή UPDATE) είναι το διάστηµα από την κλήση της µέχρι την απόκρισή της. Τα διαστήµατα εκτέλεσης των λειτουργιών ενός ατοµικού στιγµιοτύπου µπορεί να επικαλύπτονται (µερικώς ή ολικώς). Μια ακολουθία από κλήσεις και αποκρίσεις είναι έγκυρη, αν κάθε κλήση µπορεί να συσχετισθεί µε µια απόκριση.

12 ΤΕΡΜΑΤΙΣΜΟΣ & ΣΕΙΡΙΟΠΟΙΗΣΙΜΟΤΗΤΑ Ιδιότητα Ελευθερίας Αναµονής (Wait-Freedom) Kάθε µη-εσφαλµένη διεργασία εκτελεί έναν πεπερασµένο αριθµό βηµάτων προκειµένου να διεκπεραιώσει τη λειτουργία της. Σειριοϖοιησιµότητα (Linearizability) Ακόµα και αν εκτελούνται παράλληλα λειτουργίες σε ένα διαµοιραζόµενο αντικείµενο, υπάρχει µία σειριακή εκτέλεση των λειτουργιών αυτών που έχει τα ίδια αποτελέσµατα. Σε κάθε εκτέλεση, κάθε SCAN και UPDATE λειτουργία που εµπεριέχεται στην εκτέλεση επιστρέφει το ίδιο αποτέλεσµα σαν να εκτελέστηκε σειριακά σε κάποιο σηµείο στο χρονικό διάστηµα της εκτέλεσης της. Το σηµείο αυτό λέγεται σηµείο σειριοποίησης της λειτουργίας (linearization point).

13 ΣΕΙΡΙΟΠΟΙΗΣΙΜΟΤΗΤΑ Παράδειγµα σειριοποιήσιµης εκτέλεσης update(α 0, 1) update(α 1, 2) * * * χρόνος scan() -> <1, 0> Παράδειγµα µη-σειριοποιήσιµης εκτέλεσης update(α 0, 1) update(α 1, 2) * * *? *? *? χρόνος scan() -> <0, 2>

14 Σειριοποιησιµότητα - Φορµαλιστικά Έστω µια εκτέλεση β. Λέµε ότι η β είναι σειριοποιήσιµη αν τα ακόλουθα είναι δυνατά: Για κάθε προσοµοιούµενη λειτουργία π που έχει περατωθεί στη β, µπορούµε να επιλέξουµε ένα σηµείο σειριοποίησης *π κάπου µεταξύ της κλήσης της π και της απόκρισής της. Μπορούµε να επιλέξουµε ένα υποσύνολο Φ των λειτουργιών των οποίων η εκτέλεση δεν έχει περατωθεί στη β τ.ω. για κάθε λειτουργία π στο Φ: µπορούµε να εισάγουµε µια απόκριση, και µπορούµε να επιλέξουµε ένα σηµείο σειριοποίησης *π, το οποίο να βρίσκεται σε κάποιο σηµείο της εκτέλεσης που έπεται της κλήσης της π. ιαισθητικά: «Κάθε λειτουργία µοιάζει σαν να εκτελέστηκε στιγµιαία κάποια χρονική στιγµή µέσα στο διάστηµα εκτέλεσής της.» «Αν και η εκτέλεση κάποιων λειτουργιών µπορεί να συµβαίνει ταυτόχρονα, η υλοποίηση πρέπει να εγγυάται ότι οι λειτουργίες λαµβάνουν χώρα σειριακά, µια κάθε φορά, και η σειριακή αυτή διάταξη θα πρέπει να σέβεται τις κλήσεις και αποκρίσεις των λειτουργιών». Ατοµικά Στιγµιότυπα Μνήµης Παναγιώτα Φατούρου

15 Σειριοποιησιµότητα Περισσότερα Παραδείγµατα Μια ουρά FIFO Q υποστηρίζει δύο λειτουργίες: enq(q,v): προσθέτει το στοιχείο v στο τέλος της ουράς Q deq(q): αφαιρεί και επιστρέφει το πρώτο στοιχείο της ουράς Q Σε µια παράλληλη ουρά πολλές διεργασίες µπορεί να προσπαθούν να εισάγουν (enq) και να εξάγουν(deq) στοιχεία ταυτόχρονα. head tail Ουρές µπορούν να υλοποιηθούν από απλούστερα αντικείµενα (π.χ., Test-And- Set και LL/SC registers). Το ίδιο ισχύει και για άλλα αντικείµενα, π.χ., στοίβες, λίστες, λίστες παράλειψης, γράφους, κλπ.

16 Σειριοποιήσιµες Εκτελέσεις enq(x) enq(y) deq() x deq() y χρόνος enq(x) enq(y) deq() y deq() x enq(8) deq() NULL enq(8) deq() 8

17 Σειριοποιήσιµες Εκτελέσεις deq() 8 enq(8).... deq() NULL enq(8)... deq() 8

18 Μη-Σειριοποιήσιµες Εκτελέσεις enq(x) enq(y) deq y deq 8 enq(8)...

19 Ατοµικά Στιγµιότυπα Προφανής Λύση Είναι δύσκολο για µια διεργασία να καταφέρει να υπολογίσει µια συνεπή όψη όλων των καταχωρητών. Λειτουργίες ιεργασιών Τιµές Καταχ/τών P Q R 0 R read R 0 0 write(r 0,1) 1 0 write(r 1,2) 1 2 read R 1 2 UPDATE(A 0,1) UPDATE(A 1,2) * * *? *? *? SCAN [read R 0, read R 1 ] <0,2> χρόνος Σε καµία χρονική στιγµή δεν συνυπάρχουν οι τιµές 0 και 2 στους καταχωρητές. Τα ατοµικά στιγµιότυπα έχουν σειριοποιήσιµες, ελεύθερες-αναµονής υλοποιήσεις χρησιµοποιώντας καταχωρητές. [Afek et. al JACM 93, Anderson DistComp 93, Aspnes&Herlihy SPAA 90] Ατοµικά Στιγµιότυπα Μνήµης Παναγιώτα Φατούρου

20 ΑΠΛΗ ΥΛ/ΣΗ SW Snapshot ΜΕ ΧΡΗΣΗ n SW ΚΑΤΑΧΩΡΗΤΩΝ Υπάρχουν n τµήµατα, A 1,..., A n, ένα για κάθε διεργασία. Στο τµήµα A i µπορεί να εκτελεί UPDATES µόνο η p i. Κάθε καταχωρητής R i µπορεί να εγγραφεί µόνο από την p i αλλά να διαβαστεί από όλες τις διεργασίες. Το τµήµα A i έχει συσχετισθεί µε τον καταχωρητή R i. UPDATES στο A i γράφουν µόνο στον R i. Κάθε καταχωρητής R i αποτελείται από τα πεδία: val i : τιµή του τµήµατος µε το οποίο έχει συσχετισθεί tag i : χρονοσφραγίδα την οποία χρησιµοποιεί η p i για να ξεχωρίζει τις UPDATES της view i : διάνυσµα n τιµών, µια για κάθε τµήµα.

21 Ο αλγόριθµος UnboundedSnapshot UPDATE στο τµήµα A i µε τιµή v: view := SCAN; increment p i s tag; write(r i,<v, tag,view>); SCAN από τη διεργασία p: repeatedly read R 1,, R n until see 1. either the same vector twice (then, return the vector), or 2. two new UPDATES by some process (return the view written 2 nd time); Χρονική Πολυπλοκότητα = O(n 2 ) για τη SCAN και την UPDATE. Απαιτούνται n µη-πεπερασµένης χωρητικότητας MW καταχωρητές.

22 Ο αλγόριθµος UnboundedSnapshot p k1 p k2 p k3 p kn SCANS ή embedded SCANS UPDATES Όλες οι p k1, p k2,..., p kn είναι ενεργές ταυτόχρονα. Έχουµε n διεργασίες στο σύστηµα. Άρα, η embedded SCAN που εκτελείται από την p kn πρέπει να τερµατίζει βλέποντας το ίδιο διάνυσµα τιµών σε δύο συνεχόµενες οµάδες αναγνώσεων.

23 Ο αλγόριθµος UnboundedSnapshot Θεώρηµα: Ο παραπάνω αλγόριθµος είναι µια σωστή υλοποίηση ενός ατοµικού στιγµιοτύπου µνήµης και επιτυγχάνει τερµατισµό ελεύθερο-αναµονής. Ορισµός: Μια SCAN επιστρέφει ένα συνεϖές διάνυσµα τιµών αν, για κάθε τµήµα του στιγµιοτύπου, η τιµή που επιστρέφει η SCAN για το τµήµα είναι η τιµή που χρησιµοποίησε (ως παράµετρο), η τελευταία UPDATE στο τµήµα που σειριοποιείται πριν τη SCAN. Αν δεν υπάρχει τέτοια UPDATE η τιµή που επιστρέφει η SCAN για το τµήµα είναι η αρχική τιµή του τµήµατος. Για να αϖοδείξουµε το θεώρηµα θα ϖρέϖει: Να αποδώσουµε σηµεία σειριοποίησης. Να δείξουµε ότι για κάθε λειτουργία (SCAN ή UPDATE), το σηµείο σειριοποίησης της βρίσκεται εντός του διαστήµατος εκτέλεσής της. Να δείξουµε ότι οι SCANS επιστρέφουν συνεπή διανύσµατα.

24 Αϖόδοση Σηµείων Σειριοϖοίησης Ο αλγόριθµος UnboundedSnapshot Κάθε UPDATE σειριοποιείται στο σηµείο που εκτελεί τη write εντολή της. Για ευκολία αποδίδουµε σηµεία σειριοποίησης όχι µόνο στις SCANS αλλά και στις embedded SCANS (δηλαδή σε αυτές που καλούνται από τις UPDATES). Στη συνέχεια θα τις ονοµάζουµε όλες SCAN. Χωρίζουµε τις SCAN σε δύο κατηγορίες: Εύκολες: Αυτές που τερµατίζουν λόγω της συνθήκης 1 στον ψευδο-κώδικα. ύσκολες: Αυτές που τερµατίζουν λόγω της συνθήκης 2. Σειριοποιούµε κάθε εύκολη SCAN ανάµεσα στις δύο οµάδες αναγνώσεων (collect) που επιστρέφουν το ίδιο διάνυσµα. Σειριοποιούµε τις δύσκολες SCAN µε επαγωγή ως προς τα σηµεία απόκρισης τους.

25 Ο αλγόριθµος UnboundedSnapshot Βάση Εϖαγωγής: Απόδοση σηµείο σειριοποίησης στη δύσκολη SCAN (έστω S) της οποίας το σηµείο απόκρισης είναι 1 ο. Η S επιστρέφει ένα διάνυσµα τιµών το οποίο έχει εγγραφεί από µια UPDATE U (δηλαδή το διάνυσµα αυτό υπολογίστηκε από την embedded SCAN S της UPDATE): H S είναι εύκολη SCAN και έτσι της έχει ήδη αποδοθεί σηµείο σειριοποίησης. Η U (και άρα και η S ) εµπεριέχονται στην S. Το σηµείο σειριοποίησης της S τοποθετείται στο ίδιο σηµείο µε εκείνο της S. Εϖαγωγική Υϖόθεση: Έστω S η δύσκολη SCAN της οποίας το σηµείο απόκρισης είναι το k-οστό. Ας υποθέσουµε ότι έχουµε αποδώσει σηµεία σειριοποίησης σε όλες τις δύσκολες SCAN των οποίων το σηµείο απόκρισης προηγείται εκείνου της S.

26 Ο αλγόριθµος UnboundedSnapshot Εϖαγωγικό Βήµα: Αποδίδουµε σηµείο σειριοποίησης στην S. Η S επιστρέφει ένα διάνυσµα τιµών το οποίο έχει εγγραφεί από µια UPDATE U (δηλαδή το διάνυσµα αυτό υπολογίστηκε από την embedded SCAN S της UPDATE): Η U (και άρα και η S ) εµπεριέχονται στην S. Αν η S είναι εύκολη SCAN, της έχει ήδη αποδοθεί σηµείο σειριοποίησης. Αν η S είναι δύσκολη SCAN, έχει τερµατίσει πριν την S της έχει αποδοθεί σήµειο σειριοποίησης (από επαγωγική υπόθεση). Το σηµείο σειριοποίησης της S τοποθετείται στο ίδιο σηµείο µε εκείνο της S. Λήµµα: Τα σηµεία σειριοποίησης κάθε SCAN ή UPDATE βρίσκεται µέσα στο διάστηµα εκτέλεσης της. Αϖόδειξη: Για τις UPDATES και τις εύκολες SCAN αυτό είναι προφανές. Για τις δύσκολες SCANS αποδεικνύεται επαγωγικά ως προς τα σηµεία απόκρισής τους.

27 Ο αλγόριθµος UnboundedSnapshot Στη βάση της επαγωγής (θυµηθείτε ότι) η SCAN S της οποίας το σηµείο απόκρισης είναι 1 ο σειριοποιείται στο ίδιο σηµείο µε την εύκολη embedded SCAN S της οποίας το διάνυσµα επιστρέφει. Επίσης, η S εµπεριέχεται στην S. Το σηµείο σειριοποίησης της S βρίσκεται στο διάστηµα εκτέλεσής της το σηµείο σειριοποίησης της S εµπεριέχεται στο διάστηµα εκτέλεσής της. Εϖαγωγικό Βήµα: Αποδεικνύουµε τον ισχυρισµό για τη δύσκολη SCAN S της οποίας το σηµείο σειριοποίησης είναι το k-οστό. Η S επιστρέφει ένα διάνυσµα τιµών το οποίο έχει εγγραφεί από µια UPDATE U (δηλαδή το διάνυσµα αυτό υπολογίστηκε από την embedded SCAN S της UPDATE): Η U (και άρα και η S ) εµπεριέχονται στην S. Αν η S είναι εύκολη το σηµείο σειριοποίησης είναι µέσα στο διάστηµα εκτέλεσής της. Το ίδιο ισχύει αν η S είναι δύσκολη (επαγωγική υπόθεση: η S τερµατίζει πριν την S). Το σηµείο σειριοποίησης της S τοποθετείται στο ίδιο σηµείο µε εκείνο της S. το σηµείο σειριοποίησης της S βρίσκεται µέσα στο διάστηµα εκτέλεσής της.

28 Ο αλγόριθµος UnboundedSnapshot Λήµµα: Σε κάθε εκτέλεση του αλγορίθµου, οι SCAN λειτουργίες επιστρέφουν συνεπή διανύσµατα τιµών. Αϖόδειξη: Ο ισχυρισµός ισχύει προφανώς για τις εύκολες SCAN. Για δύσκολες SCAN θα αποδειχθεί µε επαγωγή ως προς τα σηµεία απόκρισης. Στη βάση της επαγωγής (θυµηθείτε ότι) η SCAN S, της οποίας το σηµείο απόκρισης είναι 1 ο, σειριοποιείται στο ίδιο σηµείο µε την εύκολη embedded SCAN S της οποίας το διάνυσµα επιστρέφει. Αφού η S επιστρέφει συνεπές διάνυσµα, το ίδιο και η S. Εϖαγωγικό Βήµα: Η Αποδεικνύουµε τον ισχυρισµό για τη δύσκολη SCAN S της οποίας το σηµείο σειριοποίησης είναι το k-οστό. Η S επιστρέφει το ίδιο διάνυσµα τιµών που επιστρέφει µια embedded SCAN S και σειριοποιείται στο ίδιο σηµείο. Αν η S είναι εύκολη, επιστρέφει προφανώς συνεπές διάνυσµα. Αν η S είναι δύσκολη επιστρέφει συνεπές διάνυσµα από επαγωγική υπόθεση (η S τερµατίζει πριν την S). Άρα και η S επιστρέφει συνεπές διάνυσµα.

29 Αλγόριθµος που χρησιµοποιεί καταχωρητές πεπερασµένου µεγέθους Οι καταχωρητές που χρησιµοποιεί ο UnboundedSnapshot είναι µη-πεπερασµένου µεγέθους λόγω του πεδίου tag που αποθηκεύει τιµές από µη-πεπερασµένο σύνολο (σύνολο ακεραίων). Τα tags χρησιµοποιούνται από τις διεργασίες που εκτελούν SCAN (και embedded SCAN) για να καθορίσουν αν συνέβησαν νέες UPDATES κατά τη διάρκεια τους. Αυτή η πληροφορία µπορεί να παρασχεθεί, και αν αντικατασταθούν τα tags από έναν λιγότερο ισχυρό µηχανισµό που αποτελείται από ένα συνδυασµό bits χειραψίας (handshaking bits) και ένα bit εναλλαγής (toggle bit).

30 Αλγόριθµος που χρησιµοποιεί καταχωρητές πεπερασµένου µεγέθους Υπάρχουν 2n κοινές µεταβλητές, R 1,..., R n, R 1,..., R n. Κάθε καταχωρητής R i εγγράφεται από την p i κάθε φορά που εκτελεί µια UPDATE στο A i. Κάθε καταχωρητής R i εγγράφεται από την p i κάθε φορά που εκτελεί µια SCAN. Κάθε καταχωρητής R i περιέχει µια τιµή val, ένα διάνυσµα τιµών view, και αντί για tag, ένα διάνυσµα comm των n bits, µέσω των οποίων η p i µπορεί να ενηµερώνει τις υπόλοιπες διεργασίες για τις UPDATES της. Κάθε καταχωρητής R j αποτελείται από ένα διάνυσµα ack των n bits, όπου το R j.ack[i] χρησιµοποιείται από την p j για να επιβεβαιώσει ότι έχει δει νέες UPDATES από την p i. Για κάθε ζεύγος διεργασίων (p i, p j ), υπάρχει ένα ζεύγος bits χειραψίας, το (R i.comm[j], R j.ack[i]).

31 1 η Προσπάθεια Σχεδίασης του Αλγορίθµου Κατά την εκτέλεση µιας UPDATE(v) αϖό την p i : διάβασε τα n bits R k.ack[i], για κάθε k υπολόγισε ένα διάνυσµα n bits, όπου για κάθε k, η τιµή του k-οστού στοιχείου του διανύσµατος είναι ΝΟΤ(R k.ack[i]) γράψε το διάνυσµα που υπολογίστηκε στο R i.comm Κατά την εκτέλεση µιας SCAN αϖό την p j : επαναληπτικά εκτέλεσε 2 οµάδες αναγνώσεων και εξέτασε αν έχει αλλάξει κάτι από την 1 η στη 2 η οµάδα αναγνώσεων: πριν εκτελέσει τις οµάδες αναγνώσεων, η p j διαβάζει όλα τα bits χειραψίας R k.comm[j], για κάθε k, υπολογίζοντας έτσι ένα διάνυσµα n bits το οποίο αντιγράφει ως έχει στον R j. η p j ελέγχει για αλλαγές στα R k.comm[j], k, µεταξύ των δύο οµάδων αναγνώσεων της. αν σε 2n+1 προσπάθειες δει τέτοιες αλλαγές, τότε έχει δει 3 UPDATES από την ίδια διεργασία οπότε δανείζεται το διάνυσµα της 3 ης UPDATE.

32 1 η Προσπάθεια Σχεδίασης του Αλγορίθµου i j R 1... ~(NOT) R. i γραµµή i... R. j... R n i SCAN j UPDATE R 1... R i... R j γραµµή j... R n Στον παραπάνω αλγόριθµο, κάθε φορά που µια διεργασία που εκτελεί SCAN βλέπει µια αλλαγή, κάποια UPDATE έχει συµβεί! Ατοµικά Στιγµιότυπα Μνήµης Παναγιώτα Φατούρου

33 Είναι όµως το αντίθετο σωστό; 1 η Προσπάθεια Σχεδίασης του Αλγορίθµου UPDATE(v 1 ) i η i διαβάζει το R j.ack[i] = 1 η i γράφει v 1 και θέτει R i.comm[j] = 0 acknowledgement i UPDATE(v 2 ) i η i διαβάζει το R j.ack[i] = 1 η i γράφει v 2 και θέτει το R i.comm[j] = 0 (w) acknowledgement i U(w 1 ) U(w 2 ) r w r 1 r 2 r 3 SCAN j SCAN j η j διαβάζει R i.comm[j] = 0 (r 1 ) η j θέτει το R j.ack[i] = 0 η j διαβάζει το R i.comm[j] = 0 (r 2 ) η j διαβάζει R i.comm[j]=0 (r 3 ) και αποφασίζει ότι δεν έχει συµβεί καµία UPDATE από την προηγούµενη ανάγνωση του R i

34 Αλγόριθµος που χρησιµοποιεί καταχωρητές πεπερασµένου µεγέθους Για να επιλύσουµε το πρόβληµα, αποθηκεύουµε επιπλέον ένα bit εναλλαγής σε κάθε καταχωρητή R i, το οποίο αλλάζει τιµή κάθε φορά που εγγράφεται ο R i. O Αλγόριθµος BoundedSnapshot Κάθε καταχωρητής R i περιέχει τα εξής: val: η τιµή του τµήµατος A i comm: ένα διάνυσµα n bits toggle: ένα bit εναλλαγής view: ένα διάνυσµα τιµών, µια για κάθε τµήµα Κάθε καταχωρητής R j περιέχει ένα διάνυσµα ack των n bits.

35 Αλγόριθµος που χρησιµοποιεί καταχωρητές πεπερασµένου µεγέθους SCAN αϖό τη διεργασία j: η j διαβάζει όλα τα bits χειραψίας R i.comm[j], για κάθε i, υπολογίζοντας έτσι ένα διάνυσµα n bits το οποίο αντιγράφει ως έχει στον R j. η j εκτελεί δύο οµάδες αναγνώσεων των R 1,.., R n αν για κάθε i, τα R i.comm[j] και R i. toggle είναι ίδια στις δύο οµάδες αναγνώσεων, και η κοινή τιµή R i.comm[j] είναι ίδια µε την αρχική τιµή του R i.comm[j] που η j διάβασε αρχικά, τότε επιστρέφεται το διάνυσµα των R i.val που διαβάστηκαν στη 2 η οµάδα αναγνώσεων διαφορετικά η j καταγράφει τι αλλαγές έχουν γίνει αν καταγραφεί ότι κάποιος καταχωρητής R i έχει αλλάξει δύο φορές (από αυτό που διαβάστηκε αρχικά), επιστρέφεται το R i.view της τελευταίας οµάδας αναγνώσεων.

36 Αλγόριθµος που χρησιµοποιεί καταχωρητές πεπερασµένου µεγέθους Update(v) αϖό την i: για κάθε j, διάβασε το R j.ack[i] και υπολόγισε ένα διάνυσµα b των n bits όπου για κάθε j, b[j] = NOT(R j.ack[i]) εκτέλεσε µια embedded SCAN εκτέλεσε ένα write για να γράψεις στον R i τα εξής: R i.val = v R i.comm = b R i.toggle = NOT(R i.toggle) R i.view = το διάνυσµα που υπολογίστηκε από την embedded SCAN Επέστρεψε acknowledgement

37 Αλγόριθµος που χρησιµοποιεί καταχωρητές πεπερασµένου µεγέθους Θεώρηµα: Ο αλγόριθµος BoundedSnapshot αποτελεί σωστή υλοποίηση ενός ατοµικού στιγµιοτύπου µνήµης και επιτυγχάνει τερµατισµό ελεύθερο αναµονής. Αϖόδειξη Τα σηµεία σειριοποίησης εισάγονται µε τον ίδιο τρόπο όπως και στον UnboundedSnapshot. Όπως στον UnboundedSnapshot, αποδεικνύεται ότι για κάθε λειτουργία, το σηµείο σειριοποίησης της είναι µέσα στο διάστηµα εκτέλεσής της. Τώρα είναι ενδιαφέρον να αποδειχθεί ότι εύκολες SCAN και embedded SCAN είναι συνεπείς. Για τις δύσκολες SCAN (και embedded SCAN) τα επιχειρήµατα είναι ίδια µε εκείνα του UnboundedSnapshot. Λήµµα: Κάθε καλή SCAN (ή embedded SCAN) επιστρέφει ένα συνεπές διάνυσµα τιµών.

38 Αλγόριθµος που χρησιµοποιεί καταχωρητές πεπερασµένου µεγέθους Αϖόδειξη Λήµµατος: Με εις άτοπο απαγωγή. Έστω ότι µια SCAN από την p j επιστρέφει επειδή δεν είδε αλλαγή σε δύο διαδοχικές οµάδες αναγνώσεων. π 1, π 2 : τα 2 reads από την p j στον R i (στην 1 η και στη 2 η οµάδα αναγνώσεων, αντίστοιχα). Ας υποθέσουµε ότι τουλάχιστον µια write από την p i συµβαίνει µεταξύ των π 1 και π 2. Έστω φ το τελευταίο τέτοιο write από την p i (που προηγείται του π 2 ). ψ read of Rj.ack[i] by p i, It must be that R j.ack[i] ~b π 0 last write to R j by p j, R j.ack[i] b π 1 read by p j, R i.comm[j] b, R i.toggle t φ last write to R i by p i, R i.comm[j] b, R i.toggle t π 2 read by p j, R i.comm[j] b, R i.toggle t Οι ψ και φ είναι εντολές της ίδιας UPDATE. Άρα, οι π 1 και π 2 διαβάζουν ότι έγραψε η p i σε δύο διαδοχικές write εντολές. Τότε όµως το R i.toggle θα έπρεπε να είναι διαφορετικό στις π 1, π 2.

ΑΤΟΜΙΚΑ ΑΝΤΙΚΕΙΜΕΝΑ Ένα ατοµικό αντικείµενο κάποιου τύπου µοιάζει µε µια κοινή µεταβλητή αυτού του τύπου. Ένα ατοµικό αντικείµενο βρίσκεται σε µια κατ

ΑΤΟΜΙΚΑ ΑΝΤΙΚΕΙΜΕΝΑ Ένα ατοµικό αντικείµενο κάποιου τύπου µοιάζει µε µια κοινή µεταβλητή αυτού του τύπου. Ένα ατοµικό αντικείµενο βρίσκεται σε µια κατ Ατοµικά Αντικείµενα ΑΤΟΜΙΚΑ ΑΝΤΙΚΕΙΜΕΝΑ Ένα ατοµικό αντικείµενο κάποιου τύπου µοιάζει µε µια κοινή µεταβλητή αυτού του τύπου. Ένα ατοµικό αντικείµενο βρίσκεται σε µια κατάσταση και υποστηρίζει ένα σύνολο

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

Ατοµικά Αντικείµενα. Ατοµικά Αντικείµενα Παναγιώτα Φατούρου

Ατοµικά Αντικείµενα. Ατοµικά Αντικείµενα Παναγιώτα Φατούρου Ατοµικά Αντικείµενα Ατοµικά Αντικείµενα Παναγιώτα Φατούρου ΑΤΟΜΙΚΑ ΑΝΤΙΚΕΙΜΕΝΑ Ένα ατοµικό αντικείµενο κάποιου τύπου µοιάζει µε µια διαµοιραζόµενη µεταβλητή αυτού του τύπου. Ένα ατοµικό αντικείµενο βρίσκεται

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

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

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

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

Γιατί υϖάρχει τέτοια καθολική κατάσταση;

Γιατί υϖάρχει τέτοια καθολική κατάσταση; ΥΛΟΠΟΙΗΣΗ ΚΑΤΑΧΩΡΗΤΩΝ ΑΝΑΓΝΩΣΗΣ/ΕΓΓΡΑΦΗΣ Καταχωρητές που µοιάζουν πιο πολύπλοκοι µπορούν να υλοποιηθούν από απλούστερους καταχωρητές. Multi-valued from Binary Βασικό Αντικείµενο: δυαδικός καταχωρητής ο

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

Παράδειγµα: Προσοµοίωση µιας ουράς FIFO Οι λειτουργίες που υποστηρίζονται από µια ουρά FIFO είναι: [enq(q,x), ack(q)] [deq(q), return(q,x)] όπου x είν

Παράδειγµα: Προσοµοίωση µιας ουράς FIFO Οι λειτουργίες που υποστηρίζονται από µια ουρά FIFO είναι: [enq(q,x), ack(q)] [deq(q), return(q,x)] όπου x είν Wait-free προσοµοιώσεις αυθαίρετων αντικειµένων Έχουµε δει ότι το πρόβληµα της οµοφωνίας δεν µπορεί να επιλυθεί µε χρήση µόνο read/write καταχωρητών. Πολλοί µοντέρνοι επεξεργαστές παρέχουν επιπρόσθετα

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

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

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

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

Ασύγχρονο Σύστηµα ιαµοιραζόµενης Μνήµης Το σύστηµα περιέχει n διεργασίες p 0,, p n-1 και m καταχωρητές R 0,, R m-1. Κάθε διεργασία µοντελοποιείται ως

Ασύγχρονο Σύστηµα ιαµοιραζόµενης Μνήµης Το σύστηµα περιέχει n διεργασίες p 0,, p n-1 και m καταχωρητές R 0,, R m-1. Κάθε διεργασία µοντελοποιείται ως Αµοιβαίος Αϖοκλεισµός Παναγιώτα Φατούρου Κατανεµηµένα Συστήµατα 1 Ασύγχρονο Σύστηµα ιαµοιραζόµενης Μνήµης Το σύστηµα περιέχει n διεργασίες p 0,, p n-1 και m καταχωρητές R 0,, R m-1. Κάθε διεργασία µοντελοποιείται

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

Αιτιώδεις Σχέσεις και Χρονισµός Παναγιώτα Φατούρου Κατανεµηµένα Συστήµατα 1 Η Σχέση Happens-Before (Συµβαίνει-ϖριν) Οι εκτελέσεις, ως ακολουθίες γεγονότων, καθορίζουν µια καθολική διάταξη σε αυτά. Ωστόσο

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

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

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

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

Ασύγχρονο Σύστηµα ιαµοιραζόµενης Μνήµης Το σύστηµα περιέχει n διεργασίες p 0,, p n-1 και m καταχωρητές R 0,, R m-1. Κάθε διεργασία µοντελοποιείται ως

Ασύγχρονο Σύστηµα ιαµοιραζόµενης Μνήµης Το σύστηµα περιέχει n διεργασίες p 0,, p n-1 και m καταχωρητές R 0,, R m-1. Κάθε διεργασία µοντελοποιείται ως Αµοιβαίος Αϖοκλεισµός Παναγιώτα Φατούρου Κατανεµηµένα Συστήµατα 1 Ασύγχρονο Σύστηµα ιαµοιραζόµενης Μνήµης Το σύστηµα περιέχει n διεργασίες p 0,, p n-1 και m καταχωρητές R 0,, R m-1. Κάθε διεργασία µοντελοποιείται

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

Ασύγχρονο Σύστηµα ιαµοιραζόµενης Μνήµης Το σύστηµα περιέχει n διεργασίες p 0,, p n-1 και m καταχωρητές R 0,, R m-1. Κάθε διεργασία µοντελοποιείται ως

Ασύγχρονο Σύστηµα ιαµοιραζόµενης Μνήµης Το σύστηµα περιέχει n διεργασίες p 0,, p n-1 και m καταχωρητές R 0,, R m-1. Κάθε διεργασία µοντελοποιείται ως Αµοιβαίος Αϖοκλεισµός Παναγιώτα Φατούρου Κατανεµηµένα Συστήµατα 1 Ασύγχρονο Σύστηµα ιαµοιραζόµενης Μνήµης Το σύστηµα περιέχει n διεργασίες p 0,, p n-1 και m καταχωρητές R 0,, R m-1. Κάθε διεργασία µοντελοποιείται

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

Ιδιοκτησία Αντικειµένου

Ιδιοκτησία Αντικειµένου Software Transactional Memory H STM υποστηρίζει την εκτέλεση δοσοληψιών από τις διεργασίες, οι οποίες περιέχουν λειτουργίες που ο χρήστης θέλει να εκτελέσει στα διαµοιραζόµενα αντικείµενα. H STM εγγυάται

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

ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΛΥΣΗ ΑΤΟΜΙΚΩΝ ΑΝΤΙΚΕΙΜΕΝΩΝ Η ΜΕΤΑΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΕΞΕΙΔΙΚΕΥΣΗΣ. Υποβάλλεται στην

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

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

Αιτιώδεις Σχέσεις και Χρονισµός. Παναγιώτα Φατούρου Αρχές Κατανεµηµένου Υπολογισµού

Αιτιώδεις Σχέσεις και Χρονισµός. Παναγιώτα Φατούρου Αρχές Κατανεµηµένου Υπολογισµού Αιτιώδεις Σχέσεις και Χρονισµός Η Σχέση Happens-Before (Συµβαίνει-πριν) Οι εκτελέσεις, ως ακολουθίες γεγονότων, καθορίζουν µια καθολική διάταξη σε αυτά. Ωστόσο είναι δυνατό δύο υπολογιστικά γεγονότα από

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

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

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

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

Προηγούµενο Μάθηµα. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων

Προηγούµενο Μάθηµα. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων Προηγούµενο Μάθηµα Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων Ιωάννης Χατζηγιαννάκης ευτέρα, 20 εκεµβρίου, 2010 Αίθουσα Β3 Ασύγχρονα Κατανεµηµένα

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

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

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 lalis@inf.uth.gr Πρόγραμμα και εκτέλεση προγράμματος Ο εκτελέσιμος κώδικας αποθηκεύεται σε ένα αρχείο Το αρχείο είναι μια «παθητική» οντότητα

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

Δοµές Δεδοµένων και Αλγόριθµοι - Εισαγωγή

Δοµές Δεδοµένων και Αλγόριθµοι - Εισαγωγή Δοµές Δεδοµένων και Αλγόριθµοι - Εισαγωγή Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Εισαγωγή στις έννοιες Αλγόριθµοι και Πολυπλοκότητα, Οργάνωση Δεδοµένων και Δοµές Δεδοµένων Χρήσιµοι µαθηµατικοί

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

Αδιέξοδα (Deadlocks)

Αδιέξοδα (Deadlocks) Αδιέξοδα (Deadlocks) Περίληψη Αδιέξοδα (deadlocks) Τύποι πόρων (preemptable non preemptable) Μοντελοποίηση αδιεξόδων Στρατηγικές Στρουθοκαµηλισµός (ostrich algorithm) Ανίχνευση και αποκατάσταση (detection

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

Εικονική Μνήµη. Κεφάλαιο 8. Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi

Εικονική Μνήµη. Κεφάλαιο 8. Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi Εικονική Μνήµη Κεφάλαιο 8 Υλικό και δοµές ελέγχου Οι αναφορές στην µνήµη υπολογίζονται δυναµικά κατά την εκτέλεση Ηδιεργασίαχωρίζεταισετµήµατα τα οποία δεν απαιτείται να καταλαµβάνουν συνεχόµενες θέσεις

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

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

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

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

Κατανεµηµένος Υπολογισµός Εαρινό Εξάµηνο Ακ. Έτους ιδάσκουσα: Παναγιώτα Φατούρου Προγραµµατιστική Εργασία

Κατανεµηµένος Υπολογισµός Εαρινό Εξάµηνο Ακ. Έτους ιδάσκουσα: Παναγιώτα Φατούρου Προγραµµατιστική Εργασία Κατανεµηµένος Υπολογισµός Εαρινό Εξάµηνο Ακ. Έτους 2008-09 ιδάσκουσα: Παναγιώτα Φατούρου Προγραµµατιστική Εργασία Προθεσµία Παράδοσης: 1 ο µέρος: 20 Μαΐου 2009 (µε e-mil στο βοηθό της εργασίας και στη

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

Διάλεξη 13: Κατανεμημένη Κοινόχρηστη Μνήμη. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

Διάλεξη 13: Κατανεμημένη Κοινόχρηστη Μνήμη. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Διάλεξη 13: Κατανεμημένη Κοινόχρηστη Μνήμη ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Τι θα δούμε σήμερα Προσομοίωση Κοινόχρηστης Μνήμης Συνθήκες Συνέπειας Αλγόριθμος χωρίς σφάλματα ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι

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

Γενικές Παρατηρήσεις. Μη Κανονικές Γλώσσες - Χωρίς Συµφραζόµενα (1) Το Λήµµα της Αντλησης. Χρήση του Λήµµατος Αντλησης.

Γενικές Παρατηρήσεις. Μη Κανονικές Γλώσσες - Χωρίς Συµφραζόµενα (1) Το Λήµµα της Αντλησης. Χρήση του Λήµµατος Αντλησης. Γενικές Παρατηρήσεις Μη Κανονικές Γλώσσες - Χωρίς Συµφραζόµενα () Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Υπάρχουν µη κανονικές γλώσσες, π.χ., B = { n n n }. Αυτό

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

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

Αρχιτεκτονική Υπολογιστών Γιώργος Δημητρίου Ενότητα 11 η : Εισαγωγή σε Παράλληλες Αρχιτεκτονικές Παράλληλη Επεξεργασία Επίπεδο Παραλληλισμού Από εντολές έως ανεξάρτητες διεργασίες Οργανώσεις Παράλληλων Αρχιτεκτονικών Συμμετρικοί,

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

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find)

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη (Union-Find) ΗΥ240 - Παναγιώτα Φατούρου 1 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης Έστω ότι S 1,, S k είναι ξένα υποσύνολα ενός συνόλου U, δηλαδή

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

ΕΠΑΛΗΘΕΥΣΗ ΠΡΟΓΡΑΜΜΑΤΩΝ Ι

ΕΠΑΛΗΘΕΥΣΗ ΠΡΟΓΡΑΜΜΑΤΩΝ Ι ΕΠΑΛΗΘΕΥΣΗ ΠΡΟΓΡΑΜΜΑΤΩΝ Ι Η τυπική επαλήθευση βάση μοντέλου είναι κατάλληλη για συστήματα επικοινωνούντων διεργασιών (π.χ. κατανεμημένα συστήματα) όπου το βασικό πρόβλημα είναι ο έλεγχος αλλά γενικά δεν

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

Διάλεξη 14: Ατομική ΚΚΜ Εγγραφής/Ανάγνωσης στην Παρουσία Σφαλμάτων. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

Διάλεξη 14: Ατομική ΚΚΜ Εγγραφής/Ανάγνωσης στην Παρουσία Σφαλμάτων. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Διάλεξη 14: Ατομική ΚΚΜ Εγγραφής/Ανάγνωσης στην Παρουσία Σφαλμάτων ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Σφάλματα Κατάρρευσης Τι θα δούμε σήμερα Αλγόριθμος SWMR (ΜΕΠΑ) Ατομικής ΚΚΜ στην παρουσία σφαλμάτων

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

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων

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

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

Προβλήματα ταυτόχρονης εκτέλεσης (για νήματα με κοινή μνήμη) Προβλήματα ταυτόχρονης εκτέλεσης (για νήματα με κοινή μνήμη) ΙΙΙ 1 lalis@inf.uth.gr Ταυτόχρονη εκτέλεση Ο προγραμματιστής δεν ελέγχει (άμεσα) την εκτέλεση/εναλλαγή των νημάτων Δεν γνωρίζει πότε θα αρχίσει

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Αναφορές

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Αναφορές ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Αναφορές Μαθήματα από το lab Υπενθύμιση: Η άσκηση ζητούσε να υλοποιήσετε μία κλάση vector που να διαχειρίζεται διανύσματα οποιουδήποτε

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

for for for for( . */

for for for for( . */ Εισαγωγή Στον Προγραµµατισµό «C» Βρόχοι Επανάληψης Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Ο βρόχος for Η εντολή for χρησιµοποιείται

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

Έλεγχος Ταυτοχρονισμού

Έλεγχος Ταυτοχρονισμού Έλεγχος Ταυτοχρονισμού Κεφάλαιο 17 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke Ελληνική Μετάφραση: Γεώργιος Ευαγγελίδης 1 Συγκρουσιακώς Σειριοποιήσιμα Χρονοπρογράμματα Δυο χρονοπρογράμματα

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

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

ΤΕΛΙΚΟ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΑΡΧΗ 1 ης ΣΕΛΙΔΑΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΛΙΚΟ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ Επιμέλεια: Ομάδα Διαγωνισμάτων από Το στέκι των πληροφορικών Θέμα 1 ο Α. Να χαρακτηρίσετε κάθε μία από

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

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

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

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

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

Διάλεξη 16: Πρόβλημα Συμφωνίας. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Διάλεξη 16: Πρόβλημα Συμφωνίας ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Τι θα δούμε σήμερα Ορισμός του προβλήματος Συμφωνίας Αλγόριθμος Συμφωνίας με Σφάλματα Κατάρρευσης ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι 1 Πρόβλημα

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

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

Κατανεμημένα Συστήματα Ι Συναίνεση με σφάλματα διεργασιών Κατανεμημένα Συστήματα Ι 5η Διάλεξη 10 Νοεμβρίου 2016 Παναγιώτα Παναγοπούλου Κατανεμημένα Συστήματα Ι 5η Διάλεξη 1 Συναίνεση με σφάλματα διεργασιών Προηγούμενη διάλεξη

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

Κεφάλαιο 10 ο Υποπρογράµµατα

Κεφάλαιο 10 ο Υποπρογράµµατα Κεφάλαιο 10 ο Υποπρογράµµατα Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Η αντιµετώπιση των σύνθετων προβληµάτων και η ανάπτυξη των αντίστοιχων προγραµµάτων µπορεί να γίνει µε την ιεραρχική σχεδίαση,

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

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

Κατανεμημένα Συστήματα Ι Κατανεμημένα Συστήματα Ι Συναίνεση και Σφάλματα Διεργασιών Παναγιώτα Παναγοπούλου Περίληψη Συναίνεση με σφάλματα διεργασιών Το πρόβλημα Ο αλγόριθμος FloodSet Επικύρωση δοσοληψιών Ορισμός του προβλήματος

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

Απαντήσεις. Απάντηση. Απάντηση

Απαντήσεις. Απάντηση. Απάντηση 6 η σειρά ασκήσεων Άλκης Γεωργόπουλος Α.Μ. 39 Αναστάσιος Κοντογιώργης Α.Μ. 43 Άσκηση 1. Απαντήσεις Η αλλαγή ενός ρολογιού προς τα πίσω µπορεί να προκαλέσει ανεπιθύµητη συµπεριφορά σε κάποια προγράµµατα.

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

Υπολογιστικά & Διακριτά Μαθηματικά

Υπολογιστικά & Διακριτά Μαθηματικά Υπολογιστικά & Διακριτά Μαθηματικά Ενότητα 1: Εισαγωγή- Χαρακτηριστικά Παραδείγματα Αλγορίθμων Στεφανίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

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

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

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

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

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

Διάλεξη 9: Αλγόριθμοι Αμοιβαίου Αποκλεισμού με τη χρήση μεταβλητών Ανάγνωσης/Εγγραφής. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Διάλεξη 9: Αλγόριθμοι Αμοιβαίου Αποκλεισμού με τη χρήση μεταβλητών Ανάγνωσης/Εγγραφής ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Τι θα δούμε σήμερα Αλγόριθμος Ψησταριάς (Bakery Algorithm) Αλγόριθμος 2- επεξεργαστών

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

Κεφάλαιο 10 Υποπρογράμματα. Καραμαούνας Πολύκαρπος

Κεφάλαιο 10 Υποπρογράμματα. Καραμαούνας Πολύκαρπος Κεφάλαιο 10 Υποπρογράμματα 1 10.1 Τμηματικός προγραμματισμός Τμηματικός προγραμματισμός ονομάζεται η τεχνική σχεδίασης και ανάπτυξης των προγραμμάτων ως ένα σύνολο από απλούστερα τμήματα προγραμμάτων.

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

Συνεκτικά σύνολα. R είναι συνεκτικά σύνολα.

Συνεκτικά σύνολα. R είναι συνεκτικά σύνολα. 4 Συνεκτικά σύνολα Έστω, Ι R διάστηµα και f : Ι R συνεχής, τότε η f έχει την ιδιότητα της ενδιαµέσου τιµής, δηλαδή, η f παίρνει κάθε τιµή µεταξύ δύο οποιονδήποτε διαφορετικών τιµών της, συνεπώς το f (

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

Υπολογιστικά & Διακριτά Μαθηματικά

Υπολογιστικά & Διακριτά Μαθηματικά Υπολογιστικά & Διακριτά Μαθηματικά Ενότητα 2:Στοιχεία Μαθηματικής Λογικής Στεφανίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό,

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

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

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

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

Διάλεξη 12: Διάχυση Μηνυμάτων. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

Διάλεξη 12: Διάχυση Μηνυμάτων. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Διάλεξη 12: Διάχυση Μηνυμάτων ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Ορισμός Προσομοίωσης Τι θα δούμε σήμερα Προσομοίωση Υπηρεσίας Διάχυσης Μηνυμάτων Ιδιότητες Διάταξης Μηνυμάτων ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι

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

Αποτίµησηκαθολικού κατηγορήµατος

Αποτίµησηκαθολικού κατηγορήµατος Αποτίµησηκαθολικού κατηγορήµατος Εισαγωγή Ιδιότητες καθολικών κατηγορηµάτων Αδιέξοδα Ανίχνευση αδιεξόδων Συγκεντρωτική ανίχνευση Ιεραρχική ανίχνευση Κατανεµηµένη ανίχνευση Επανόρθωση αδιεξόδων Κατανεµηµένος

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

Κεφάλαιο 5ο: Εντολές Επανάληψης

Κεφάλαιο 5ο: Εντολές Επανάληψης Χρήστος Τσαγγάρης ΕΕ ΙΠ Τµήµατος Μαθηµατικών, Πανεπιστηµίου Αιγαίου Κεφάλαιο 5ο: Εντολές Επανάληψης Η διαδικασία της επανάληψης είναι ιδιαίτερη συχνή, αφού πλήθος προβληµάτων µπορούν να επιλυθούν µε κατάλληλες

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

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

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 lalis@inf.uth.gr Ο κώδικας δεν εκτελείται «μόνος του» Ο εκτελέσιμος κώδικας αποθηκεύεται σε ένα αρχείο Το αρχείο είναι μια «παθητική» οντότητα

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

Ενδεικτικές Λύσεις 1ου Σετ Ασκήσεων

Ενδεικτικές Λύσεις 1ου Σετ Ασκήσεων Κ Σ Ι Ενδεικτικές Λύσεις 1ου Σετ Ασκήσεων Παναγιώτα Παναγοπούλου Άσκηση 1. Υποθέστε ότι οι διεργασίες ενός σύγχρονου κατανεμημένου συστήματος έχουν μοναδικές ταυτότητες (UIDs), γνωρίζουν ότι είναι συνδεδεμένες

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

Εισαγωγή στους Αλγόριθµους. Αλγόριθµοι. Ιστορικά Στοιχεία. Ο πρώτος Αλγόριθµος. Παραδείγµατα Αλγορίθµων. Τι είναι Αλγόριθµος

Εισαγωγή στους Αλγόριθµους. Αλγόριθµοι. Ιστορικά Στοιχεία. Ο πρώτος Αλγόριθµος. Παραδείγµατα Αλγορίθµων. Τι είναι Αλγόριθµος Εισαγωγή στους Αλγόριθµους Αλγόριθµοι Τι είναι αλγόριθµος; Τι µπορεί να υπολογίσει ένας αλγόριθµος; Πως αξιολογείται ένας αλγόριθµος; Παύλος Εφραιµίδης pefraimi@ee.duth.gr Αλγόριθµοι Εισαγωγικές Έννοιες

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

Προηγούµενο Μάθηµα. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων. Η σχέση συνέβη-πριν

Προηγούµενο Μάθηµα. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων. Η σχέση συνέβη-πριν Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων Προηγούµενο Μάθηµα Ασύγχρονα Κατανεµηµένα Συστήµατα ιάταξη Γεγονότων Σχέση συνέβη-πριν Λογικός Χρόνος

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

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο Κατακερµατισµός 1 Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο 1. Αρχεία Σωρού 2. Ταξινοµηµένα Αρχεία Φυσική διάταξη των εγγραφών

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

Ενότητα 1: Εισαγωγή Ασκήσεις και Λύσεις

Ενότητα 1: Εισαγωγή Ασκήσεις και Λύσεις Ενότητα 1: Εισαγωγή Ασκήσεις και Λύσεις Άσκηση 1 Αποδείξτε τη µεταβατική και τη συµµετρική ιδιότητα του Θ. Λύση Μεταβατική Ιδιότητα (ορισµός): Αν f(n) = Θ(g(n)) και g(n) = Θ(h(n)) τότε f(n)=θ(h(n)). Για

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

Αλγόριθµοι Οπισθοδρόµησης

Αλγόριθµοι Οπισθοδρόµησης Αλγόριθµοι Οπισθοδρόµησης Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Η οπισθοδρόµηση στο σχεδιασµό αλγορίθµων Το πρόβληµα των σταθερών γάµων και ο αλγόριθµος των Gale-Shapley Το πρόβληµα

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές δεδομένων Άσκηση αυτοαξιολόγησης 1 Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών Ενότητα 1: Εισαγωγή Ασκήσεις και Λύσεις Άσκηση 1 Αποδείξτε τη µεταβατική

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

Καθολικέςκαταστάσεις. Ορισµοί Κατασκευή καθολικών καταστάσεων Παθητική στρατηγική Ενεργητική στρατηγική. Κατανεµηµένα Συστήµατα 04-1

Καθολικέςκαταστάσεις. Ορισµοί Κατασκευή καθολικών καταστάσεων Παθητική στρατηγική Ενεργητική στρατηγική. Κατανεµηµένα Συστήµατα 04-1 Καθολικέςκαταστάσεις Ορισµοί Κατασκευή καθολικών καταστάσεων Παθητική στρατηγική Ενεργητική στρατηγική Κατανεµηµένα Συστήµατα 04-1 Ορισµοί Τοπικήιστορία διεργασίας p i Έστω ότι e ij είναι το γεγονός jτης

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

Ποια ιδιότητα αϖό τις δύο τελευταίες είναι ϖιο ισχυρή;

Ποια ιδιότητα αϖό τις δύο τελευταίες είναι ϖιο ισχυρή; Το Πρόβληµα του Αµοιβαίου Αϖοκλεισµού Τµήµατα Κώδικα Ο χρήστης που την τρέχουσα χρονική στιγµή προσβαίνει τον πόρο βρίσκεται στο κρίσιµο τµήµα του. Χρήστες που την τρέχουσα χρονική στιγµή δεν ενδιαφέρονται

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

Υ- 01 Αρχιτεκτονική Υπολογιστών Back- end: χρονοπρογραμματισμός, εντολές προσπέλασης μνήμης

Υ- 01 Αρχιτεκτονική Υπολογιστών Back- end: χρονοπρογραμματισμός, εντολές προσπέλασης μνήμης Υ- 01 Αρχιτεκτονική Υπολογιστών Back- end: χρονοπρογραμματισμός, εντολές προσπέλασης μνήμης Αρης Ευθυμίου Το σημερινό μάθημα Execu9on scheduling wake- up and select specula9ve wake- up Εκτέλεση εντολών

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

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find)

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Ενότητα 9 (Union-Find) ΗΥ240 - Παναγιώτα Φατούρου 1 Έστω ότι S 1,, S k είναι ξένα υποσύνολα ενός συνόλου U, δηλαδή ισχύει ότι S i S j =, για κάθε i,j µε i j και S 1 S k = U. Λειτουργίες q MakeSet(X): επιστρέφει

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

Συνεπείς καθολικές καταστάσεις & επιβεβαίωση ιδιοτήτων. Κατανεμημένα Συστήματα 1

Συνεπείς καθολικές καταστάσεις & επιβεβαίωση ιδιοτήτων. Κατανεμημένα Συστήματα 1 Συνεπείς καθολικές καταστάσεις & επιβεβαίωση ιδιοτήτων Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Λογικά συνεπείς τομές Τμήμα τοπικής ιστορίας: h i.k {e i.1,e i.2,e i.k } τμήμα της τοπικής εκτέλεσης στην

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

οµήτης παρουσίασης Marzullo και Neiger αλγόριθµος Παράδειγµα Distributed Debugging Εισαγωγικά

οµήτης παρουσίασης Marzullo και Neiger αλγόριθµος Παράδειγµα Distributed Debugging Εισαγωγικά Distributed Debugging Τσώτσος Θοδωρής Φωλίνας Νίκος Εισαγωγικά Επιθυµούµε να µπορούµε να παρατηρούµε την εκτέλεση του προγράµµατος κατά τη διάρκειά του. Έχουµε τη δυνατότητα να ελέγξουµε αν οι απαιτούµενες

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

Συνεκτικά σύνολα. R είναι συνεκτικά σύνολα.

Συνεκτικά σύνολα. R είναι συνεκτικά σύνολα. 4 Συνεκτικά σύνολα Έστω, Ι διάστηµα και f : Ι συνεχής, τότε η f έχει την ιδιότητα της ενδιαµέσου τιµής, δηλαδή, η f παίρνει κάθε τιµή µεταξύ δύο οποιονδήποτε διαφορετικών τιµών της, συνεπώς το f ( Ι )

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

Μάθημα 4 ο. Κρίσιμα Τμήματα και Αμοιβαίος Αποκλεισμός

Μάθημα 4 ο. Κρίσιμα Τμήματα και Αμοιβαίος Αποκλεισμός Μάθημα 4 ο Κρίσιμα Τμήματα και Αμοιβαίος Αποκλεισμός Εισαγωγή Σκοπός του μαθήματος αυτού είναι να εξηγήσει την έννοια του κρίσιμου τμήματος σε μία διεργασία και να δείξει τη λύση για ένα απλό πρόβλημα

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

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

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

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

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

Λειτουργικά Συστήματα Η/Υ Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 5 «Αμοιβαίος Αποκλεισμός» Διδάσκων: Δ Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας 1 Αμοιβαίος Αποκλεισμός 1. Εισαγωγή 2. Κρίσιμα τμήματα (Critical Sections) 3. Υλοποίηση του

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

ΙΑΧΕΙΡΙΣΗ ΟΣΟΛΗΨΙΩΝ Να θυµηθούµε:

ΙΑΧΕΙΡΙΣΗ ΟΣΟΛΗΨΙΩΝ Να θυµηθούµε: ΙΑΧΕΙΡΙΣΗ ΟΣΟΛΗΨΙΩΝ Να θυµηθούµε: Μια βάση δεδοµένων είναι σε συνεπή κατάσταση (consistent state) εάν όλοι οι περιορισµοί ακεραιότητας που έχουν δηλωθεί για αυτήν πληρούνται. Οι αλλαγές στην κατάσταση

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

HY118- ιακριτά Μαθηµατικά. Παράδειγµα άµεσης απόδειξης. Μέθοδοι αποδείξεως για προτάσεις της µορφής εάν-τότε. 08 - Αποδείξεις

HY118- ιακριτά Μαθηµατικά. Παράδειγµα άµεσης απόδειξης. Μέθοδοι αποδείξεως για προτάσεις της µορφής εάν-τότε. 08 - Αποδείξεις HY118- ιακριτά Μαθηµατικά Παρασκευή, 06/03/2015 Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr Το υλικό των διαφανειών έχει βασιστεί σε διαφάνειες του Kees van Deemter, από το University of Aberdeen 3/8/2015

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

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

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

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

Διάλεξη 1: Εισαγωγή στον Κατανεμημένο Υπολογισμό. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

Διάλεξη 1: Εισαγωγή στον Κατανεμημένο Υπολογισμό. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Διάλεξη 1: Εισαγωγή στον Κατανεμημένο Υπολογισμό ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Τι θα δούμε σήμερα Τι είναι ένα Κατανεμημένο Σύστημα; Επικοινωνία, Χρονισμός, Σφάλματα Μοντέλο Ανταλλαγής Μηνυμάτων 1

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

ΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑ

ΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑ ΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑ ΑΓΩΓΟΙ & ΙΑΝΥΣΜΑΤΙΚΟΙ ΥΠΟΛΟΓΙΣΤΕΣ ΣΥΓΚΡΟΥΣΕΙΣ ΣΕ ΑΓΩΓΟΥΣ & ΜΕΓΙΣΤΟΠΟΙΗΣΗ ΠΑΡΑΓΩΓΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΡΓΑΣΤΗΡΙΟ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΥΨΗΛΩΝ

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

Κεφάλαιο 10 Υποπρογράμματα. Καραμαούνας Πολύκαρπος

Κεφάλαιο 10 Υποπρογράμματα. Καραμαούνας Πολύκαρπος Κεφάλαιο 10 Υποπρογράμματα 1 10.1 Τμηματικός προγραμματισμός Τμηματικός προγραμματισμός ονομάζεται η τεχνική σχεδίασης και ανάπτυξης των προγραμμάτων ως ένα σύνολο από απλούστερα τμήματα προγραμμάτων.

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

Θεώρηµα: Z ( Απόδειξη: Περ. #1: Περ. #2: *1, *2: αποδεικνύονται εύκολα, διερευνώντας τις περιπτώσεις ο k να είναι άρτιος ή περιττός

Θεώρηµα: Z ( Απόδειξη: Περ. #1: Περ. #2: *1, *2: αποδεικνύονται εύκολα, διερευνώντας τις περιπτώσεις ο k να είναι άρτιος ή περιττός HY118- ιακριτά Μαθηµατικά Την προηγούµενη φορά Τρόποι απόδειξης Τρίτη, 07/03/2017 Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr Το υλικό των διαφανειών έχει βασιστεί σε διαφάνειες του Kees van Deemter,

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

Προηγούµενο Μάθηµα. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων. Η σχέση συνέβη-πριν

Προηγούµενο Μάθηµα. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων. Η σχέση συνέβη-πριν Προηγούµενο Μάθηµα Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων Ιωάννης Χατζηγιαννάκης ευτέρα, 3 εκεµβρίου, 2007 Αίθουσα Β3 Ασύγχρονα Κατανεµηµένα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΝΑΠΤΥΞΗ ΚΑΙ ΣΧΕΔΙΑΣΗ ΛΟΓΙΣΜΙΚΟΥ Η γλώσσα προγραμματισμού C ΕΡΓΑΣΤΗΡΙΟ 2: Εκφράσεις, πίνακες και βρόχοι 14 Απριλίου 2016 Το σημερινό εργαστήριο

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΙΟΙΚΗΣΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΙΟΙΚΗΣΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΙΟΙΚΗΣΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΙΑΧΕΙΡΙΣΗ Ε ΟΜΕΝΩΝ ΚΑΙ ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ (Β ΕΞΑΜΗΝΟ) ιδάσκων: Επ. Καθηγητής Γρηγόρης Χονδροκούκης ΣΗΜΕΙΩΣΕΙΣ ΜΑΘΗΜΑΤΟΣ Η ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

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

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

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

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

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

Εικονική Μνήμη (Virtual Memory) Εικονική Μνήμη (Virtual Memory) Για τη δημιουργία των διαφανειών έχει χρησιμοποιηθεί υλικό από τις διαφάνειες παραδόσεων που βασίζονται στο βιβλίο, Silberschatz, Galvin and Gagne, Operating Systems Concepts,

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

Διάλεξη 11: Αιτιότητα Διάταξη Γεγονότων. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

Διάλεξη 11: Αιτιότητα Διάταξη Γεγονότων. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Διάλεξη 11: Αιτιότητα Διάταξη Γεγονότων ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Τι θα δούμε σήμερα Ορισμός του «Πριν- Από» (Happens- Before) Λογικά Ρολόγια Αλγόριθμος Χρονοσφραγίδων του Lamport Διανυσματικά

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

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Έλεγχος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Σχεσιακοί Τελεστές και Ισότητας Ένα πρόγραμμα εκτός από αριθμητικές πράξεις

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΠΡΟΧΩΡΗΜΕΝΑ ΘΕΜΑΤΑ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΦΘΙΝΟΠΩΡΟ 2005 Λύση ΑΣΚΗΣΗΣ #1 Τ. Σελλής

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

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

Αμοιβαίος αποκλεισμός Αμοιβαίος αποκλεισμός 1. Εισαγωγή 2. Κρίσιμα τμήματα (Critical Sections) 3. Υλοποίηση του αμοιβαίου αποκλεισμού I. Προσεγγίσεις λογισμικού II. Υποστήριξη εκ μέρους του υλικού III. Σηματοφορείς 4. Κλασσικά

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

2.4 Κλασσικά Προβλήματα IPC

2.4 Κλασσικά Προβλήματα IPC 2.4 Κλασσικά Προβλήματα IPC 1 Οι φιλόσοφοι που γευματίζουν - Dining Philosophers Μια πρώτη λύση για Ν φιλοσόφους: philosopher (i) while (1) { think; take_fork(i);/* πάρε αριστερό ξυλάκι */ take_fork(i+1

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

Περιεχόμενα ΜΤ Τυχαίας Προσπέλασης Θεωρία Υπολογισμού Ενότητα 23: Μηχανές Turing Τυχαίας Προσπέλασης Επ. Καθ. Π. Κατσαρός Τμήμα Πληροφορικής Επ. Καθ.

Περιεχόμενα ΜΤ Τυχαίας Προσπέλασης Θεωρία Υπολογισμού Ενότητα 23: Μηχανές Turing Τυχαίας Προσπέλασης Επ. Καθ. Π. Κατσαρός Τμήμα Πληροφορικής Επ. Καθ. Θεωρία Υπολογισμού Ενότητα 23: Μηχανές Turing Τυχαίας Προσπέλασης Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως

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

ίκτυα Εξισορόϖησης κατάσταση εξισορροϖητή (balancer state): συλλογή από διακριτικά (tokens) στους συνδέσµους εισόδου και εξόδου του µετάβαση εξισορροϖ

ίκτυα Εξισορόϖησης κατάσταση εξισορροϖητή (balancer state): συλλογή από διακριτικά (tokens) στους συνδέσµους εισόδου και εξόδου του µετάβαση εξισορροϖ ίκτυα Μέτρησης Παναγιώτα Φατούρου Κατανεµηµένος Υπολογισµός 1 ίκτυα Εξισορόϖησης κατάσταση εξισορροϖητή (balancer state): συλλογή από διακριτικά (tokens) στους συνδέσµους εισόδου και εξόδου του µετάβαση

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

Κεφάλαιο 4ο: Εντολές επιλογής

Κεφάλαιο 4ο: Εντολές επιλογής Χρήστος Τσαγγάρης ΕΕ ΙΠ Τµήµατος Μαθηµατικών, Πανεπιστηµίου Αιγαίου Κεφάλαιο 4ο: Εντολές επιλογής Μέχρι τώρα παρατηρήσαµε ότι τα προβλήµατα που αντιµετωπίσαµε είχαν σειριακή κίνηση, δηλαδή η µία εντολή

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

Πίνακες Διασποράς. Χρησιμοποιούμε ένα πίνακα διασποράς T και μια συνάρτηση διασποράς h. Ένα στοιχείο με κλειδί k αποθηκεύεται στη θέση

Πίνακες Διασποράς. Χρησιμοποιούμε ένα πίνακα διασποράς T και μια συνάρτηση διασποράς h. Ένα στοιχείο με κλειδί k αποθηκεύεται στη θέση Πίνακες Διασποράς Χρησιμοποιούμε ένα πίνακα διασποράς T και μια συνάρτηση διασποράς h Ένα στοιχείο με κλειδί k αποθηκεύεται στη θέση κλειδί k T 0 1 2 3 4 5 6 7 U : χώρος πιθανών κλειδιών Τ : πίνακας μεγέθους

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

3. Σελιδοποίηση μνήμης 4. Τμηματοποίηση χώρου διευθύνσεων

3. Σελιδοποίηση μνήμης 4. Τμηματοποίηση χώρου διευθύνσεων ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ MHXANIKOI Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΙΠΕ Ο ΜΗΧΑΝΗΣ ΛΕΙΤΟΥΡΓΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ Γ. Τσιατούχας 6 ο Κεφάλαιο 1. Επίπεδο OSM 2. Εικονική μνήμη ιάρθρωση 3. Σελιδοποίηση μνήμης 4. Τμηματοποίηση

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

Δομές Ακολουθίας- Επιλογής - Επανάληψης. Δομημένος Προγραμματισμός

Δομές Ακολουθίας- Επιλογής - Επανάληψης. Δομημένος Προγραμματισμός Δομές Ακολουθίας- Επιλογής - Επανάληψης Δομημένος Προγραμματισμός 1 Βασικές Έννοιες αλγορίθμων Σταθερές Μεταβλητές Εκφράσεις Πράξεις Εντολές 2 Βασικές Έννοιες Αλγορίθμων Σταθερά: Μια ποσότητα που έχει

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

ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ. Κάθε υποπρόγραμμα έχει μόνο μία είσοδο και μία έξοδο. Κάθε υποπρόγραμμα πρέπει να είναι ανεξάρτητο από τα άλλα.

ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ. Κάθε υποπρόγραμμα έχει μόνο μία είσοδο και μία έξοδο. Κάθε υποπρόγραμμα πρέπει να είναι ανεξάρτητο από τα άλλα. ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ Τμηματικός προγραμματισμός ονομάζεται η τεχνική σχεδίασης και ανάπτυξης των προγραμμάτων ως ένα σύνολο από απλούστερα τμήματα προγραμμάτων. Όταν ένα τμήμα προγράμματος επιτελεί ένα αυτόνομο

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

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

Προβλήματα ταυτόχρονης εκτέλεσης (για νήματα με κοινή μνήμη) Προβλήματα ταυτόχρονης εκτέλεσης (για νήματα με κοινή μνήμη) ΙΙΙ 1 lalis@inf.uth.gr Υποθέσεις εργασίας Νήματα/διεργασίες με κοινή μνήμη Αυτόματη διακοπή/εναλλαγή νημάτων/διεργασιών (π.χ. πάνω από 1 CPU

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 23: οµές εδοµένων και Αλγόριθµοι Ενδιάµεση Εξέταση Ηµεροµηνία : ευτέρα, 3 Νοεµβρίου 2008 ιάρκεια : 2.00-4.00 ιδάσκουσα : Άννα Φιλίππου Ονοµατεπώνυµο: ΣΚΕΛΕΤΟΙ

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

Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών H/Y Department of Electrical and Computer Engineering. Εργαστήριο 1. Χειμερινό Εξάμηνο

Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών H/Y Department of Electrical and Computer Engineering. Εργαστήριο 1. Χειμερινό Εξάμηνο Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών H/Y Department of Electrical and Computer Engineering Οργάνωση και Σχεδίαση Η/Y (HY232) Εργαστήριο 1 Χειμερινό Εξάμηνο 2016-2017 Στόχοι του εργαστηρίου Εντολές

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

Προγραµµατισµός Η/Υ. Μέρος2

Προγραµµατισµός Η/Υ. Μέρος2 Προγραµµατισµός Η/Υ Μέρος2 Περιεχόμενα Επανάληψη Βασικών Σύμβολων Διαγραμμάτων Ροής Αλγόριθμος Ψευδοκώδικας Παραδείγματα Αλγορίθμων Γλώσσες προγραμματισμού 2 Επανάληψη Βασικών Σύμβολων Διαγραμμάτων Ροής

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

3 Αναδροµή και Επαγωγή

3 Αναδροµή και Επαγωγή 3 Αναδροµή και Επαγωγή Η ιδέα της µαθηµατικής επαγωγής µπορεί να επεκταθεί και σε άλλες δοµές εκτός από το σύνολο των ϕυσικών N. Η ορθότητα της µαθηµατικής επαγωγής ϐασίζεται όπως ϑα δούµε λίγο αργότερα

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

Ο βρόχος for Η εντολή for χρησιμοποιείται για τη δημιουργία επαναληπτικών βρόχων στη C

Ο βρόχος for Η εντολή for χρησιμοποιείται για τη δημιουργία επαναληπτικών βρόχων στη C Ο βρόχος for Η εντολή for χρησιμοποιείται για τη δημιουργία επαναληπτικών βρόχων στη C Επαναληπτικός βρόχος καλείται το τμήμα του κώδικα μέσα σε ένα πρόγραμμα, το οποίο εκτελείται από την αρχή και επαναλαμβάνεται

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

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

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

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

HY118- ιακριτά Μαθηµατικά

HY118- ιακριτά Μαθηµατικά HY118- ιακριτά Μαθηµατικά Τρίτη, 07/03/2017 Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr Το υλικό των διαφανειών έχει βασιστεί σε διαφάνειες του Kees van Deemter, από το University of Aberdeen 3/7/2017

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