Κατανεµηµένα Αντικείµενα 16-1

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

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

Σύστηµα Java RMI. Κατανεµηµένα Συστήµατα 17-1

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

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

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

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

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

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

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

Η Υλοποίηση της Επικοινωνίας. Κατανεµηµένα Συστήµατα

Οργάνωση επεξεργαστών και διεργασιών

Απομακρυσμένα αντικείμενα (Remote Objects) Κατανεμημένα Συστήματα 1

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

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

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

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

Εκλογήαρχηγού. Εισαγωγή Ισχυρά συνδεδεµένος γράφος ακτύλιος µίας κατεύθυνσης Τοπολογία δένδρου. Κατανεµηµένα Συστήµατα 06-1

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

Απλοποιεί τα γεγονότα έτσι ώστε να περιγράφει τι έχει γίνει και όχι πως έχει γίνει.

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

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

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

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

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

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

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

Νήµαταστην Java. Συγχρονισµός νηµάτων Επικοινωνία νηµάτων Εκτελέσιµα αντικείµενα Νήµατα δαίµονες Οµάδες νηµάτων. Κατανεµηµένα Συστήµατα 11-1

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

Περιεχόµενα. Μέρος I Βασικά στοιχεία των Microsoft Windows XP Professional. Ευχαριστίες Εισαγωγή... 19

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

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

Συνεργείο Αυτοκινήτων

1. Εγκατάσταση του NetMeeting

ικτύωσησε Java Κατανεµηµένα Συστήµατα 08-1

Εικόνες και γραφικά. Τεχνολογία Πολυµέσων 05-1

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

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

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Κεφάλαιο 7. ΕΠΑΛ Σύμης Εφαρμογές πληροφορικής Ερωτήσεις επανάληψης

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

Δροµολόγηση (Routing)

Γ.1 Να γράψετε στο τετράδιό σας τους αριθµούς 1,2,3,4 από τη Στήλη Α και δίπλα το γράµµα α, β της Στήλης Β που δίνει το σωστό χαρακτηρισµό.

1. Ακολουθία 2. Επιλογή 2.1. Απλή επιλογή

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Κλάσεις και Αντικείµενα

ΗΜΟΚΡΙΤΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΡΑΚΗΣ ΥΠΕΥΘΥΝΟΣ ΈΡΓΟΥ AΝ.KΑΘ.Χ. ΚΟΥΚΟΥΡΛΗΣ ΤΗΛ: , FAX :

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΥ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΗΡΕΣΙΩΝ) 2008

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

ΘΕΜΑ 1 ο ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ

ΕΓΧΕΙΡΙ ΙΟ Ο ΗΓΙΩΝ. Ηλεκτρονική Υποβολή Α.Π.. Οικοδοµοτεχνικών Έργων

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

Οδηγός Χρήσης Υποβολής ήλωσης µέσω ιαδικτύου

Open Text edocs Records Management

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

Προσοµοίωση λειτουργίας επιπέδων OSI

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

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

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

ΣΕΙΡΑ ΚΑΤΑΓΡΑΦΙΚΩΝ Ultima

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

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

Κατ οίκον Εργασία 3 Σκελετοί Λύσεων

Υποβολής Αιτήσεων Αποπληρωµής Προγραµµάτων ΛΑΕΚ 0,45% Οδηγίες. AbiTECH A.E. Έκδοση 1.1. Μάρτιος Κηφισίας & Ευβοίας 3, Μαρούσι


Ανοχήβλαβών. Κατανεµηµένα Συστήµατα 19-1

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος

ECDL Module 2 Χρήση Υπολογιστή και ιαχείριση Αρχείων Εξεταστέα Ύλη, έκδοση 5.0 (Syllabus Version 5.0)

ιαχείριση Τηλεφωνικών Κλήσεων

ΥλοποίησητωνΑλλαγών στηνυπηρεσία EPP. Γιώργος Σ. Αγγελέτος Αναλυτής Συστηµάτων Η/Υ

... a b c d. b d a c

Θέματα ΑΕΠΠ Πανελλήνιες Εξετάσεις 2008

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

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

Remote Method Invocation (RMI)

ΘΕΜΑ 1 ο ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ

Επαναληπτικό ιαγώνισµα Πληροφορικής Γ Γυµνασίου Γιώργος Λιακέας Σχολικός Σύµβουλος Πληροφορικής Ερωτήσεις

MultiBoot Οδηγός χρήσης

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

Οδηγός Εξαγωγής Συγκεντρωτικών Καταστάσεων. ΚΕΠΥΟ και Ηλεκτρονικού Ισοζυγίου. στο InnovEra 3 R2 για τον RTC client

ΕΓΧΕΙΡΙ ΙΟ Ο ΗΓΙΩΝ. Ηλεκτρονική Υποβολή Α.Π.. Κοινών Επιχειρήσεων

διεύθυνση πρώτου στοιχείου διεύθυνση i-οστού στοιχείου T t[n]; &t[0] είναι t &t[i] είναι t + i*sizeof(t)

ΚΕΦΑΛΑΙΟ 6 - ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΗΥ 252: Αντικειµενοστρεφής Προγραµµατισµός

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

Πανεπιστήµιο Θεσσαλίας

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

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

AOL INSTANT MESSENGER

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 11 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Σύστημα Διαμοιρασμού Βιβλιογραφικών Αναφορών. Κοντοτάσιου Ιωάννα ΑΜ 3125 Μπέσσας Απόστολος ΑΜ 3171

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

ιαχείριση Ειδών Εγγυοδοσίας*

Δρομολόγηση (Routing)

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

Initialize each person to be free. while (some man is free and hasn't proposed to every woman) { Choose such a man m w = 1 st woman on m's list to

LASERJET ENTERPRISE FLOW MFP. Συνοπτικές οδηγίες χρήσης M525

4. Συνδεδεμένες Λίστες

JDSL Java Data Structures Library

Εντοπισμός τερματισμού. Κατανεμημένα Συστήματα 1

Transcript:

Κατανεµηµένααντικείµενα Αποµακρυσµένα αντικείµενα Αναφορές προς αντικείµενα Εξυπηρετητές αντικειµένων Εκκαθάριση αντικειµένων Μετρητές αναφορών Λίστες αναφορών Αποκοµιδή απορριµµάτων Κατανεµηµένα Αντικείµενα 16-1

Αποµακρυσµένααντικείµενα Αντικείµενο Μέθοδοι ιεπαφή Κατάσταση ιεπαφή Μέθοδοι ιεπαφή (interface) αντικειµένου εριγραφή (υπογραφών) των µεθόδων του αντικειµένου αράµετροι εισόδου και εξόδου κάθε µεθόδου Ένα αντικείµενο µπορεί να υλοποιεί πολλές διεπαφές Υλοποίηση (implementation) αντικειµένου Μέθοδοι αντικειµένου: κοινές σε όλα τα αντικείµενα Κατάσταση αντικειµένου: ιδιωτική σε κάθε αντικείµενο Κατανεµηµένα Αντικείµενα 16-2

Αποµακρυσµένααντικείµενα ελάτης Αντικείµενο ληρεξούσιος ιεπαφή Μέθοδοι κελετός Κατάσταση Αποµακρυσµένα αντικείµενα ιεπαφή και υλοποίηση σε διαφορετικές µηχανές Υλοποίηση σε µία µόνο µηχανή Κατανεµηµένα αντικείµενα: κατανεµηµένη υλοποίηση Αποµακρυσµένη διεπαφή (remote interface) Οι παράµετροι µπορεί να περιλαµβάνουν αντικείµενα Αποµακρυσµένη Κλήση Μεθόδων (RMI) ληρεξούσιος (proxy) και σκελετός (skeleton) Κατανεµηµένα Αντικείµενα 16-3

Αποµακρυσµένααντικείµενα ροσαρµογέας Μέθοδοι ιεπαφή υναρτήσεις εδοµένα Αποµακρυσµένα αντικείµενα στις C++ και Java Εµπεριέχουν διάκριση διεπαφής και υλοποίησης Αυτόµατη παραγωγή πληρεξούσιου και σκελετού Μπορούµε να συνδυάσουµε γλώσσες µέσω IDL Αποµακρυσµένα αντικείµενα άλλων γλωσσών ιατίθεται µόνο η υλοποίηση, όχι η διεπαφή ροσθήκη ενός προσαρµογέα αντικειµένων Αντικειµενοστρεφής διεπαφή για τυχαίο κώδικα Κατανεµηµένα Αντικείµενα 16-4

Αποµακρυσµένααντικείµενα τατικές αποµακρυσµένες κλήσεις Οι διεπαφές είναι γνωστές κατά τη µεταγλώττιση υναµικές αποµακρυσµένες κλήσεις Οι διεπαφές µπορεί να ανακαλύπτονται δυναµικά Τα αντικείµενα καταχωρούν τις διεπαφές τους Χρήση γενικευµένων κλήσεων µεθόδων Αναγνωριστικά αντικειµένου και µεθόδου ίνακες παραµέτρων εισόδου και εξόδου ιάρκεια ζωής αντικειµένων αροδικά (transient): δηµιουργία από αρχική κατάσταση Καταστροφή κατάστασης όταν δεν χρειάζονται πια Επίµονα (persistent): δηµιουργία από υπάρχουσα κατάσταση Αποθήκευση κατάστασης όταν δεν χρειάζονται πια Κατανεµηµένα Αντικείµενα 16-5

Αναφορέςπρος αντικείµενα Χρήσεις (αποµακρυσµένων) αναφορών ροσδιορισµός αντικειµένων σε κλήσεις µεθόδων εν απαιτεί τυποποιηµένες αναφορές Μεταβίβαση αντικειµένων ως παραµέτρων αναφοράς Απαιτεί τυποποιηµένες αναφορές Εντοπισµός αντικειµένων εσµευτής (binder): µετάφραση ονόµατος σε αναφορά Εγγραφή αντικειµένων στο δεσµευτή από τον εξυπηρετητή εριεχόµενο αποµακρυσµένης αναφοράς Άµεση αναφορά: διεύθυνση, θύρα, αντικείµενο εν επιτρέπει τη µετακίνηση αντικειµένων Έµµεση αναφορά: µέσω µεταφραστή σε διευθύνσεις ιθανόν µε πληροφορίες για τα πρωτόκολλα επικοινωνίας Κατανεµηµένα Αντικείµενα 16-6

Αναφορέςπρος αντικείµενα Εξειδικευµένοι πληρεξούσιοι Αναφορά σε πληρεξούσιο αντί στο αντικείµενο Κατέβασµα και εκτέλεση εξειδικευµένου πληρεξούσιου Απαιτεί τυποποίηση αναφορών σε πληρεξούσιους Μεταβίβαση αντικειµένων σε µεθόδους Χρήση αποµακρυσµένης αναφοράς Αντιοικονοµική λύση όταν τα πάντα είναι αντικείµενα ιάκριση αντικειµένων Μεταβίβαση αποµακρυσµένων αντικειµένων µε αναφορά Μεταβίβαση αντικειµένων ενσωµατωµένων τύπων µε τιµή Απαγόρευση µεταβίβασης άλλων τύπων αντικειµένων Η Java επιτρέπει µεταβίβαση όλων των τοπικών αντικειµένων υνατότητα σειριακοποίησης σύνθετων αντικειµένων Κατανεµηµένα Αντικείµενα 16-7

Εξυπηρετητέςαντικειµένων Αντικείµενο 1 Κατάσταση Μέθοδοι κελετός Αντικείµενο 2 Κατάσταση Μέθοδοι κελετός ιανοµέας κλήσεων Εξυπηρετητής αντικειµένων Υπηρεσίες εξυπηρετητή αντικειµένων ηµιουργία και καταστροφή αντικειµένων ηµιουργία αναφορών και διανοµή κλήσεων ολιτικές ενεργοποίησης αντικειµένων Χρόνος δηµιουργίας και καταστροφής (Κατα)µερισµός µνήµης ιαχείριση νηµάτων Κατανεµηµένα Αντικείµενα 16-8

Εξυπηρετητέςαντικειµένων Αντικείµενο 1 Αντικείµενο 2 Αντικείµενο 3 Αντικείµενο 4 Κατάσταση Κατάσταση Κατάσταση Κατάσταση Μέθοδοι κελετός Μέθοδοι κελετός Μέθοδοι κελετός Μέθοδοι κελετός ροσαρµογέας 1 ροσαρµογέας 2 Εξυπηρετητής αντικειµένων ροσαρµογείς αντικειµένων Υλοποίηση (και) των πολιτικών ενεργοποίησης Ο εξυπηρετητής υποστηρίζει πολλούς προσαρµογείς Κάθε προσαρµογέας υποστηρίζει πολλά αντικείµενα Επικοινωνία προσαρµογέα µε αντικείµενα Χρήση γενικευµένων / δυναµικών κλήσεων ιαχείριση της κλήσης από το σκελετό Κατανεµηµένα Αντικείµενα 16-9

Εξυπηρετητέςαντικειµένων Τάξεις Υπηρέτες (servant classes) Υλοποιήσεις των αποµακρυσµένων αντικειµένων Καλούνται από τους σκελετούς των αντικειµένων Αρχικοποίηση εξυπηρετητή ηµιουργία ενός τουλάχιστον αντικειµένου Εγγραφή αντικειµένου στο δεσµευτή ηµιουργία πρόσθετων αντικειµένων µέσω RMI Κατασκευή αποµακρυσµένων αντικειµένων Οι κατασκευαστές δεν είναι αποµακρυσµένοι Κατασκευή µε µεθόδους άλλων αντικειµένων Εργοστασιακές µέθοδοι: κατασκευάζουν αντικείµενα Εργοστασιακά αντικείµενα: παρέχουν εργοστασιακές µεθόδους ηµιουργούνται κατά την αρχικοποίηση των εξυπηρετητών Κατανεµηµένα Αντικείµενα 16-10

Εκκαθάρισηαντικειµένων Αποµακρυσµένες αναφορές αντικειµένων ηµιουργούνται µαζί µε το αντικείµενο Αντιγράφονται όταν µεταβιβάζονται σε κλήσεις Όταν διαγραφούν όλες, το αντικείµενο είναι περιττό Κατανεµηµένη αποκοµιδή απορριµµάτων Εντοπισµός αντικειµένων χωρίς αναφορές Κάθε αναφορά είναι ένα ζεύγος πληρεξούσιου-σκελετού Υποθέτουµε µόνο αποµακρυσµένες αναφορές Οι αναφορές µπορεί να έχουν καταστραφεί Αποτυχία διεργασιών που περιέχουν αναφορές ότε µπορεί να διαγραφεί ένα αντικείµενο; Όταν δεν έχει αποµακρυσµένες αναφορές Οι κυκλικές αναφορές αγνοούνται Κατανεµηµένα Αντικείµενα 16-11

Εκκαθάρισηαντικειµένων 2 3 7 1 4 5 6 8 Γράφηµα αντικειµένων και αναφορών Κόµβοι: αντικείµενα / Ακµές: αναφορές Ριζικό σύνολο: αντικείµενα προσπελάσιµα χωρίς αναφορές Χρήστες, υπηρεσίες, µηχανές αράδειγµα: Το ριζικό σύνολο είναι το αντικείµενο 1 Μόνο τα αντικείµενα 3, 7 και 8 είναι προσπελάσιµα Κατανεµηµένα Αντικείµενα 16-12

Μετρητέςαναφορών λήθος αναφορών προς αντικείµενο Αύξηση σε κάθε δηµιουργία αναφοράς Μείωση σε κάθε διαγραφή αναφοράς ιαγραφή αντικειµένου κατά το µηδενισµό Εφαρµογή σε αποµακρυσµένα αντικείµενα Αποθήκευση µετρητή αναφορών στο σκελετό Κάθε αναφορά αντιστοιχεί σε έναν πληρεξούσιο Οι πληρεξούσιοι ενηµερώνουν το σκελετό µε µηνύµατα Απαιτείται αξιόπιστη αποστολή µηνυµάτων Μεταβίβαση αποµακρυσµένων αναφορών ηµιουργία νέου πληρεξούσιου στον καλούµενο Ο καλών δεν µπορεί να διαγραφεί άµεσα Κίνδυνος πρόωρης διαγραφής του αντικειµένου Κατανεµηµένα Αντικείµενα 16-13

Μετρητέςαναφορών Μετρητές αναφορών µε βάρη Κάθε σκελετός έχει ένα (αυθαίρετο) συνολικό βάρος Αρχικά: µερικό βάρος = συνολικό βάρος ηµιουργία αναφορών Το µισό µερικό βάρος του σκελετού πάει στον πληρεξούσιο Μεταβίβαση αναφορών Το µισό µερικό βάρος του παλιού πάει στον νέο πληρεξούσιο ιαγραφή αναφορών Ο πληρεξούσιος στέλνει το µερικό βάρος του Ο σκελετός µειώνει το συνολικό βάρος του Μερικό βάρος = συνολικό βάρος σηµαίνει καµία αναφορά Όταν οι µετρητές φτάσουν στο 1 έχουµε πρόβληµα Κατανεµηµένα Αντικείµενα 16-14

Μετρητέςαναφορών ελάτης Β ΜΒ = 40 (α) Αντικείµενο Α Β = 80 ΜΒ = 40 ελάτης Β ΜΒ = 20 ελάτης Γ ΜΒ = 20 (β) Αντικείµενο Α Β = 80 ΜΒ = 40 ελάτης Β ΜΒ = 20 ελάτης Γ ΜΒ = 20 Αντικείµενο Α Β = 80 ΜΒ = 20 ελάτης Β ΜΒ = 20 Αντικείµενο Α Β = 60 ΜΒ = 20 ελάτης ΜΒ = 20 ελάτης ΜΒ = 20 (γ) (δ) ελάτης Β ΜΒ = 20 Μετρητές αναφορών µε βάρη (ε) Αντικείµενο Α Β = 40 ΜΒ = 20 (στ) Αντικείµενο Α Β = 20 ΜΒ = 20 Κατανεµηµένα Αντικείµενα 16-15

Μετρητέςαναφορών Μετρητές αναφορών µε γενεές ύο µετρητές σε κάθε πληρεξούσιο Μετρητής αντιγράφων και µετρητής γενεών ίνακας πλήθους αντιγράφων ανά γενεά στο σκελετό ηµιουργία αναφορών Μηδενισµός και των δύο µετρητών στον πληρεξούσιο Αύξηση µετρητή µηδενικής γενεάς στο σκελετό Μεταβίβαση αναφορών Αύξηση µετρητή αντιγράφων στον καλούντα Αύξηση µετρητή γενεών στον καλούµενο ιαγραφή αναφορών Ο πληρεξούσιος στέλνει τους µετρητές του, έστω (µ,ν) Μείωση γενιάς µ κατά 1, αύξηση γενιάς µ+1 κατά ν Κατανεµηµένα Αντικείµενα 16-16

Μετρητέςαναφορών ελάτης Β Γ: 0 / Α: 0 (α) Αντικείµενο Α Γενεά 0 = 1 Γενεά 1 = 0 ελάτης Β Γ: 0 / Α: 1 ελάτης Γ Γ: 1 / Α: 0 (β) Αντικείµενο Α Γενεά 0 = 1 Γενεά 1 = 0 ελάτης Β Γ: 0 / Α: 1 ελάτης Γ Γ: 1 / Α: 0 Αντικείµενο Α Γενεά 0 = 2 Γενεά 1 = 0 ελάτης Β Γ: 0 / Α: 1 Αντικείµενο Α Γενεά 0 = 2 Γενεά 1 = -1 ελάτης Γ: 0 / Α: 0 (γ) ελάτης Γ: 0 / Α: 0 (δ) ελάτης Β Γ: 0 / Α: 1 (ε) Αντικείµενο Α Γενεά 0 = 1 Γενεά 1 = -1 (στ) Αντικείµενο Α Γενεά 0 = 0 Γενεά 1 = 0 Μετρητές αναφορών µε γενεές Κατανεµηµένα Αντικείµενα 16-17

Λίστεςαναφορών αρακολούθηση των πηγών των αναφορών Καταγραφή όλων των πληρεξούσιων του αντικειµένου Επιτρέπεται η επανάληψη κάθε πράξης Μεταβίβαση αναφορών ρώτα ενηµερώνεται ο σκελετός από τον καλούντα Αποφυγή τυχόν πρόωρης διαγραφής του αντικειµένου Ιδιότητες λίστας αναφορών Ο σκελετός µπορεί να ελέγχει περιοδικά τους πληρεξούσιους Οι λίστες αναφορών µπορεί να γίνουν πολύ µεγάλες Κάθε πράξη απαιτεί επικοινωνία µε το σκελετό αραχώρηση αναφορών (lease) ιαγραφή των αναφορών αν δεν ανανεωθούν ρητά Αποφεύγεται ο περιοδικός έλεγχος των πληρεξούσιων Κατανεµηµένα Αντικείµενα 16-18

Αποκοµιδήαπορριµµάτων εριορισµοί µετρητών και λιστών αναφορών εν εντοπίζουν τις κυκλικές αναφορές εν αντιµετωπίζουν εύκολα τις αποτυχίες Αποκοµιδή απορριµµάτων µε ιχνηλάτηση Ιχνηλάτηση αλυσίδων αναφορών από το ριζικό σύνολο Όσα αντικείµενα δεν απαριθµηθούν έτσι είναι περιττά Χρήση σε συνδυασµό µε απλούστερες τεχνικές Τεχνική σηµείωσης και σάρωσης Αρχικά όλα τα αντικείµενα είναι λευκά Τα αντικείµενα του ριζικού συνόλου γίνονται πράσινα Κάθε αντικείµενο µίας αλυσίδας γίνεται προσωρινά γκρι Όταν χρωµατιστούν όλες οι αναφορές του γίνεται πράσινο Όσα αντικείµενα παραµείνουν λευκά είναι περιττά Κατανεµηµένα Αντικείµενα 16-19

Αποκοµιδήαπορριµµάτων Α2 Α3 Α7 Α1 Α4 Α5 Α8 Α6 Κατανεµηµένη σηµείωση και σάρωση Τα αντικείµενα του ριζικού συνόλου γίνονται πράσινα Ακολουθούµε τις τοπικές αναφορές όπως συνήθως τις αποµακρυσµένες αναφορές ο πληρεξούσιος γίνεται γκρι Κάθε γκρι πληρεξούσιος στέλνει µήνυµα στον σκελετό Κατανεµηµένα Αντικείµενα 16-20

Αποκοµιδήαπορριµµάτων Α2 Α3 Α7 Α1 Α4 Α5 Α8 Α6 Κατανεµηµένη σηµείωση και σάρωση Ο σκελετός και το αντικείµενο χρωµατίζονται γκρι Η διαδικασία επαναλαµβάνεται αναδροµικά Το αντικείµενο γίνεται πράσινο όταν τελειώσουν οι πληρεξούσιοι Ο σκελετός επιστρέφει µήνυµα σε όλους τους πληρεξούσιους Κατανεµηµένα Αντικείµενα 16-21

Αποκοµιδήαπορριµµάτων Α2 Α1 Α3 Α7 Α4 Α5 Α6 Α8 Τέλος αλγορίθµου όταν δε γίνονται άλλες αλλαγές Μόνο το πράσινα αντικείµενα είναι προσπελάσιµα Το πράσινο χρώµα των πληρεξούσιων δεν αρκεί Μειονεκτήµατα αλγορίθµου Το σύστηµα πρέπει να µείνει σε σταθερή κατάσταση Αν αλλάξουν οι αναφορές µπορεί να γίνουν σφάλµατα Κατανεµηµένα Αντικείµενα 16-22

Αποκοµιδήαπορριµµάτων Ιεραρχική αποκοµιδή απορριµµάτων Αποκοµιδή απορριµµάτων σε µικρές οµάδες διεργασιών Τα αντικείµενα µε εξωτερικές αναφορές θεωρούνται προσπελάσιµα ταδιακή µεγέθυνση των οµάδων Ιεραρχική σηµείωση και σάρωση Χρήση µετρητών ή λιστών αναφορών και ιχνηλάτησης ηµείωση µόνο σκελετών και πληρεξούσιων ηµείωση σκελετών κληροί: προσπελάσιµοι από ριζικό σύνολο ή εκτός οµάδας Μαλακοί: όλοι οι άλλοι (αρχική κατάσταση) ηµείωση πληρεξούσιων κληροί: προσπελάσιµοι από το ριζικό σύνολο Μαλακοί: προσπελάσιµοι από µαλακούς σκελετούς Κενοί: όλοι οι άλλοι (αρχική κατάσταση) Κατανεµηµένα Αντικείµενα 16-23

Αποκοµιδήαπορριµµάτων Ιεραρχική σηµείωση και σάρωση 1. Οι σκελετοί µε εξωτερικές αναφορές γίνονται σκληροί 2. Χαρακτηρισµός πληρεξούσιων κληροί: αναφορές από ριζικό σύνολο ή σκληρούς σκελετούς Μαλακοί: αναφορές µόνο από µαλακούς σκελετούς 3. Οι σκληροί πληρεξούσιοι ενηµερώνουν τους σκελετούς Οι υπόλοιποι σκελετοί είναι ήδη µαλακοί 4. υνεχής επανάληψη δύο προηγούµενων βηµάτων ταµατάµε όταν δεν γίνονται άλλες αλλαγές 5. Τέλος αλγόριθµου Οι µαλακοί πληρεξούσιοι ανήκουν σε κύκλους Οι κενοί πληρεξούσιοι είναι µη προσπελάσιµοι Κατανεµηµένα Αντικείµενα 16-24