ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 3 θ Διάλεξθ υγχρονιςμόσ Διεργαςιϊν

Σχετικά έγγραφα
ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 3 ο Εργαςτιριο υγχρονιςμόσ Διεργαςιϊν

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 2 ο Εργαςτιριο Διαχείριςθ Διεργαςιϊν

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 7 θ Διάλεξθ Διαχείριςθ Μνιμθσ Μζροσ Γ

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 5 θ Διάλεξθ Διαχείριςθ Μνιμθσ Μζροσ Α

ΕΝΟΤΗΤΑ 2: ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ. ΚΕΦΑΛΑΙΟ 5: Γνωριμία με το λογιςμικό του υπολογιςτι

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 8 θ Διάλεξθ Ιδεατι Μνιμθ Μζροσ Α

ΛΕΙΤΟΥΓΙΚΆ ΣΥΣΤΉΜΑΤΑ. 5 ο Εργαςτιριο Ειςαγωγι ςτθ Γραμμι Εντολϊν

Εγχειρίδιο Χριςθσ τθσ διαδικτυακισ εφαρμογισ «Υποβολι και παρακολοφκθςθ τθσ ζγκριςθσ Εκπαιδευτικών Πακζτων»

Εγχειρίδιο Χρήςησ Προςωποποιημζνων Υπηρεςιών Γ.Ε.ΜΗ. (Εθνικό Τυπογραφείο)

Epsilon Cloud Services

Εγχειρίδιο Χρήςησ Προςωποποιημζνων Υπηρεςιών Γ.Ε.ΜΗ. (Εθνικό Τυπογραφείο)

ΕΦΑΡΜΟΓΖσ ΒΆΕΩΝ ΔΕΔΟΜΖΝΩΝ ΚΑΙ ΔΙΑΔΙΚΣΥΟΤ. Ειρινθ Φιλιοποφλου

ΛΕΙΤΟΥΓΙΚΆ ΣΥΣΤΉΜΑΤΑ. 2 θ Διάλεξθ - Διεργαςίεσ

Μάθημα 9 ο ΤΕΧΝΙΚΕΣ ΔΙΑΧΕΙΡΙΣΗΣ ΕΙΚΟΝΙΚΗΣ ΜΝΗΜΗΣ

Πωσ δθμιουργώ φακζλουσ;

ΛΕΙΤΟΥΓΙΚΆ ΣΥΣΤΉΜΑΤΑ. 6 θ Διάλεξθ Διαχείριςθ Μνιμθσ Μζροσ Β

ΡΟΓΑΜΜΑΤΙΣΤΙΚΟ ΡΕΙΒΑΛΛΟΝ MICRO WORLDS PRO

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

Διαδικαζία Διατείριζης Εκηύπωζης Ιζοζσγίοσ Γενικού - Αναλσηικών Καθολικών. (v )

Διαδικαςία Διαχείριςθσ Στθλϊν Βιβλίου Εςόδων - Εξόδων. (v.1.0.7)

ΕΝΟΣΗΣΑ 1: ΓΝΩΡIΖΩ ΣΟΝ ΤΠΟΛΟΓΙΣΗ. ΚΕΦΑΛΑΙΟ 2: Σο Τλικό του Τπολογιςτι

Παράςταςη ακεραίων ςτο ςυςτημα ςυμπλήρωμα ωσ προσ 2

Δείκτεσ Διαχείριςθ Μνιμθσ. Βαγγζλθσ Οικονόμου Διάλεξθ 8

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΗ. του ΙΑΣΡΟΦΑΡΜΑΚΕΤΣΙΚΟΤ ΦΑΚΕΛΟΤ ΑΘΕΝΩΝ Για τον ΟΙΚΟ ΝΑΤΣΟΤ ΕΡΓΑΣΗΡΙΑΚΟΙ ΓΙΑΣΡΟΙ. iknowhow Πληροφορική A.E

ΠΡΟΓΡΑΜΜΑΣΙΜΌ ΤΠΟΛΟΓΙΣΏΝ. Κεφάλαιο 8 Η γλϊςςα Pascal

Οδηγίεσ προσ τουσ εκπαιδευτικοφσ για το μοντζλο του Άβακα

Δομζσ Δεδομζνων Πίνακεσ

Virtualization. Στο ςυγκεκριμζνο οδηγό, θα παρουςιαςτεί η ικανότητα δοκιμήσ τησ διανομήσ Ubuntu 9.04, χωρίσ την ανάγκη του format.

Πειραματικι Ψυχολογία (ΨΧ66)

Εισαγωγικές έννοιες. Αντώνησ Κ Μαώργιώτησ

ΕΝΟΤΗΤΑ 2: ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ. ΚΕΦΑΛΑΙΟ 6: Το γραφικό περιβάλλον Επικοινωνίασ (Γ.Π.Ε)

Η γλώςςα προγραμματιςμού C

Τυπικζσ Γλϊςςεσ Περιγραφισ Υλικοφ Εργαςτιριο 1

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 9 θ & 10 θ Διάλεξθ Ιδεατι Μνιμθ Μζροσ Β

Λειτουργικά υςτιματα Windows XP

Τεχνικζσ Ανάλυςησ Διοικητικών Αποφάςεων

ΕΦΑΡΜΟΓΕ ΒΑΕΩΝ ΔΕΔΟΜΕΝΩΝ ΣΗ ΝΟΗΛΕΤΣΙΚΗ. Φιλιοποφλου Ειρινθ

Σ ΤΑΤ Ι Σ Τ Ι Κ Η. Statisticum collegium V

Ειδικά Θζματα Βάςεων Δεδομζνων

Δίκτυα Μεταγωγισ Δεδομζνων

ελ. 11/235, Περιεχόμενα Φακζλου "Σεχνικι Προςφορά"

Άςκθςθ 1θ: Να γραφεί αλγόρικμοσ που κα δθμιουργεί με τθ βοικεια διπλοφ επαναλθπτικοφ βρόχου, τον ακόλουκο διςδιάςτατο πίνακα:

Ένα πρόβλθμα γραμμικοφ προγραμματιςμοφ βρίςκεται ςτθν κανονικι μορφι όταν:

Περιεχόμενα. χολι Χοροφ Αντιγόνθ Βοφτου - Πολιτικι Διαχείριςθσ Cookie 1

Ζρευνα ικανοποίθςθσ τουριςτϊν

Ειςαγωγι ςτο Δομθμζνο Προγραμματιςμό. Βαγγζλθσ Οικονόμου

1. Κατέβαςμα του VirtueMart

Τμήματα Μνήμησ Υπολογιςμόσ Φυςικών διευθύνςεων. Εκπαιδεφτρια: Μαρία Πολίτθ

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 12 θ Διάλεξθ Διαχείριςθ Αρχείων

ΕΝΟΣΗΣΑ 1: ΓΝΩΡIΖΩ ΣΟΝ ΤΠΟΛΟΓΙΣΗ. ΚΕΦΑΛΑΙΟ 3: Εργονομία

Εγχειρίδιο Χρήςησ Προςωποποιημζνων Υπηρεςιών Γ.Ε.ΜΗ. (Περιφέρειες)

Διαχείριςθ του φακζλου "public_html" ςτο ΠΣΔ

Οδηγίες αναβάθμισης χαρτών

Διδάςκων: Κωνςταντίνοσ τεφανίδθσ

Τεχνικζσ Ανάλυςησ Διοικητικών Αποφάςεων

Σφντομεσ Οδθγίεσ Χριςθσ

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. Πρϊτθ Διάλεξθ - Βαςικζσ Ζννοιεσ

Διαδικασία Δημιοσργίας Ειδικών Λογαριασμών. (v.1.0.7)

Ηλιακι Θζρμανςθ οικίασ

Ονοματεπϊνυμο.. ΔΙΑΓΩΝΙΣΜΑ ΑΕΠΠ

Μονάδες 6. Μονάδες ΓΑΨΕ Δεν υπάρχει ρίηα 2. ΑΝ Α>0 ΤΟΤΕ 3. ΤΕΛΟΣ_ΑΝ 4. ΑΛΛΙΩΣ 5. ίηα Τ_(Α)

Αυτόματη δημιουργία στηλών Αντιστοίχηση νέων λογαριασμών ΦΠΑ

ΕΡΓΑΣΗΡΙΑΚΗ ΑΚΗΗ 4.1

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

Η διανομή. Χριςτόδουλοσ Ράντθσ 1

Οδηγίεσ προσ τουσ εκπαιδευτικοφσ για το μοντζλο τησ Αριθμογραμμήσ

Ηλεκτρονικι Επιχειρθςιακι Δράςθ Εργαςτιριο 1

Πρόςβαςη και δήλωςη μαθημάτων ςτον Εφδοξο

Megatron ERP Βάςη δεδομζνων Π/Φ - κατηγοριοποίηςη Databox

Ανάπτυξη Εφαρμογών Σε Προγραμματιςτικό Περιβάλλον

TIM Εικονικό Περιβάλλον Συνεργασίας Οδθγίεσ Χριςθσ

Οδηγίεσ για την πρόςβαςη των δικαιοφχων ςτο ΟΠΣΑΑ

GNSS Solutions guide. 1. Create new Project

ΟΔΗΓΙΕ ΓΙΑ ΣΗΝ ΕΙΑΓΩΓΗ ΕΚΔΡΟΜΩΝ & ΝΕΩΝ - ΑΝΑΚΟΙΝΩΕΩΝ ΣΗΝ ΙΣΟΕΛΙΔΑ ΣΗ Δ.Δ.Ε. ΘΕΠΡΩΣΙΑ

3 θ διάλεξθ Επανάλθψθ, Επιςκόπθςθ των βαςικϊν γνϊςεων τθσ Ψθφιακισ Σχεδίαςθσ

Ειδικά Θζματα Βάςεων Δεδομζνων

3 ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ ( while, do while )

Ιδιότθτεσ πεδίων Γενικζσ.

ΕΝΟΤΘΤΑ 2: ΕΠΙΚΟΙΝΩΝΩ ΜΕ ΤΟΝ ΥΠΟΛΟΓΙΣΤΘ. ΚΕΦΑΛΑΙΟ 6: Θ «Βοικεια» ςτον Υπολογιςτι

Αςφάλεια και Προςταςία Δεδομζνων

Παράςταςη ςυμπλήρωμα ωσ προσ 1

ΕΠΑΝΕΚΔΟΗ ΣΙΜΟΛΟΓΙΩΝ ΙΑΝΟΤΑΡΙΟΤ (version )

1. Διαχείριςη ενθεμάτων

Οδθγόσ για τθν αξιοποίθςθ τθσ διαςφνδεςθσ του myschool με το Εκνικό Δθμοτολόγιο

Στα προθγοφμενα δφο εργαςτιρια είδαμε τθ δομι απόφαςθσ (ι επιλογισ ι ελζγχου ροισ). Ασ κυμθκοφμε:

17. Πολυδιάςτατοι πίνακεσ

ΘΥ101: Ειςαγωγι ςτθν Πλθροφορικι

ΕΝΟΣΗΣΑ 1: ΓΝΩΡIΖΩ ΣΟΝ ΤΠΟΛΟΓΙΣΗ Ω ΕΝΙΑΙΟ ΤΣΗΜΑ. ΚΕΦΑΛΑΙΟ 2: Σο Εςωτερικό του Τπολογιςτι

Extra Λογιςτική Διαχείριςη & Extra Μιςθοδοςία

x n D 2 ENCODER m - σε n (m 2 n ) x 1 Παραδείγματα κωδικοποιθτϊν είναι ο κωδικοποιθτισ οκταδικοφ ςε δυαδικό και ο κωδικοποιθτισ BCD ςε δυαδικό.

Ειςαγωγι ςτθν Επιςτιμθ Υπολογιςτϊν. Ειςαγωγι ςτθν Python

(Α3 1 ) Σασ δίνεται το παρακάτω αλγορικμικό τμιμα

Εργαςτιριο Βάςεων Δεδομζνων

Ηλεκτρονικι Υπθρεςία Ολοκλθρωμζνθσ Διαχείριςθσ Συγγραμμάτων και Λοιπϊν Βοθκθμάτων

ΘΕΡΜΟΔΤΝΑΜΙΚΗ Ι. Ενότθτα 1: Βαςικά χαρακτθριςτικά τθσ Θερμοδυναμικισ. ογομϊν Μπογοςιάν Πολυτεχνικι χολι Σμιμα Χθμικϊν Μθχανικϊν

Ενθμζρωςθ και προςταςία των καταναλωτών από τουσ κινδφνουσ που απορρζουν από τα χθμικά προϊόντα

Εισαγωγή Νέου Παγίου

Διαδικαςία Προγράμματοσ Ωρομζτρθςθσ. (v.1.0.7)

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 11 θ Διάλεξθ Διαχείριςθ Ε/Ε

Θεςιακά ςυςτιματα αρίκμθςθσ

Transcript:

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ 3 θ Διάλεξθ υγχρονιςμόσ Διεργαςιϊν

Παράλλθλεσ Διεργαςίεσ (1/5) Δφο διεργαςίεσ λζγονται «παράλλθλεσ» (concurrent) όταν υπάρχει ταυτοχρονιςμόσ, δθλαδι οι εκτελζςεισ τουσ επικαλφπτονται χρονικά ε περιβάλλον πολυεπεξεργαςτϊν, οι εντολζσ γλϊςςασ μθχανισ δφο παραλλιλων διεργαςιϊν μπορεί να επικαλφπτονται πράγματι χρονικά (true parallelism) ε περιβάλλον ενόσ μόνο επεξεργαςτι, οι διεργαςίεσ εναλλάςςονται χρονικά, ζτςι ϊςτε να δίνεται θ εντφπωςθ ταυτόχρονθσ εκτζλεςθσ Δθλαδι, μια εντολι γλϊςςασ μθχανισ κάποιασ διεργαςίασ μπορεί μόνο να «παρεμβλθκεί» ανάμεςα ςε δφο εντολζσ άλλων διεργαςιϊν

Παράλλθλεσ Διεργαςίεσ (2/5) Με τθν πρϊτθ ματιά: Φαίνεται πωσ θ εναλλαγι και θ επικάλυψθ αναπαριςτοφν εντελϊσ διαφορετικζσ καταςτάςεισ εκτζλεςθσ και παρουςιάηουν διαφορετικά προβλιματα τθν πραγματικότθτα: ΌΜΩ Και οι δφο τεχνικζσ μποροφν να κεωρθκοφν παραδείγματα ταυτόχρονθσ επεξεργαςίασ και παρουςιάηουν τα ίδια προβλιματα

Παράλλθλεσ Διεργαςίεσ (3/5) τθν περίπτωςθ ενόσ επεξεργαςτι: Σα προβλιματα απορρζουν από ζνα βαςικό χαρακτθριςτικό των πολυπρογραμματιςτικϊν ςυςτθμάτων: Η ςχετικι ταχφτθτα εκτζλεςθσ των διεργαςιϊν δεν μπορεί να προβλεφτεί Εξαρτάται από: Σθ δραςτθριότθτα των υπόλοιπων διεργαςιϊν Σον τρόπο με τον οποίο το Λ χειρίηεται τισ διακοπζσ Σθν πολιτικι χρονοδρομολόγθςθσ του Λ

Παράλλθλεσ Διεργαςίεσ (4/5) Από τισ προαναφερόμενεσ δυςκολίεσ ανακφπτουν τα ακόλουκα κζματα: Ο διαμοιραςμόσ των κακολικϊν πόρων εμπεριζχει κινδφνουσ π.χ.: αν δφο διεργαςίεσ χρθςιμοποιοφν τθν ίδια κακολικι μεταβλθτι και εκτελοφν λειτουργίεσ ανάγνωςθσ και εγγραφισ ςτθ μεταβλθτι αυτι, τότε θ ςειρά με τθν οποία εκτελοφνται οι διάφορεσ λειτουργίεσ ανάγνωςθσ και εγγραφισ είναι ιδιαίτερα κρίςιμθ

Παράλλθλεσ Διεργαςίεσ (5/5) Θζματα (ςυνζχεια): Είναι δφςκολθ για το Λ θ βζλτιςτθ διαχείριςθ τθσ ανάκεςθσ των πόρων π.χ.: θ διεργαςία Α μπορεί να ηθτιςει τθ χριςθ ενόσ ςυγκεκριμζνου καναλιοφ Ε/Ε και να τθσ παραχωρθκεί ο ζλεγχοσ του και, ςτθ ςυνζχεια, να αναςταλεί πριν τθ χρθςιμοποίθςθ του καναλιοφ αυτοφ Σο κλείδωμα του καναλιοφ και θ παρεμπόδιςθ τθσ χριςθσ του από άλλεσ διεργαςίεσ μπορεί να μθν είναι το επικυμθτό αποτζλεςμα για το Λ, κακϊσ μπορεί να οδθγιςει ςε ςυνκικθ αδιεξόδου Ο εντοπιςμόσ ενόσ προγραμματιςτικοφ ςφάλματοσ γίνεται πολφ δφςκολοσ, κακϊσ τα αποτελζςματα δεν είναι αιτιοκρατικά και αναπαραγωγίςιμα

Γραφικά Η εντολι (γλωςςικό ςχήμα): cobegin s 1 ; s 2 ; ; s n coend ι parbegin s 1 ; s 2 ; ; s n parend Τποδθλϊνει ότι οι κϊδικεσ s 1, s 2,, s n εκτελοφνται «παράλλθλα» (γενικά, όχι αναγκαςτικά με τθν ίδια ταχφτθτα) θ ςειρά με τθν οποία κα εκτελεςτοφν οι επιμζρουσ εντολζσ είναι άγνωςτθ ι, αλλιϊσ, μπορεί να εκτελεςτοφν ςε οποιαδιποτε ςειρά, αν δεν πάρει περιοριςτικά μζτρα το Λ που δε κα επιτρζπουν όλεσ τισ δυνατζσ ςειρζσ εκτζλεςθσ

Γραφικά

Ζνα παράδειγμα (1/4) Ζχουμε τθ διαδικαςία: τθ διαδικαςία αυτι: Παρουςιάηονται τα ςτοιχεία ενόσ προγράμματοσ που παρζχει μθχανιςμό εγγραφισ ενόσ χαρακτιρα Η είςοδοσ παρζχεται από τθν πλθκτρολόγθςθ ενόσ πλικτρου κάκε χρονικι ςτιγμι Κάκε χαρακτιρασ ειςόδου αποκθκεφεται ςτθ μεταβλθτι chin τθ ςυνζχεια μεταφζρεται ςτθ μεταβλθτι chout και αποςτζλλεται ςτθν οκόνθ Οποιοδιποτε πρόγραμμα μπορεί να καλζςει επανειλθμμζνα τθ διαδικαςία αυτι για τθν αποδοχι δεδομζνων ειςόδου από το χριςτθ και τθν προβολι τουσ ςτθν οκόνθ

Ζνα παράδειγμα (2/4) Ασ εξετάςουμε το πολυπρογραμματιςτικό ςφςτθμα ενόσ επεξεργαςτι, το οποίο υποςτθρίηει ζνα χριςτθ: Ο χριςτθσ μπορεί να μεταπθδά από τθ μία εφαρμογι ςτθν άλλθ και κάκε εφαρμογι χρθςιμοποιεί το ίδιο πλθκτρολόγιο για είςοδο και τθν ίδια οκόνθ για ζξοδο Επειδι κάκε εφαρμογι χρειάηεται να χρθςιμοποιιςει τθ διαδικαςία echo, είναι λογικόσ ο διαμοιραςμόσ τθσ διαδικαςίασ αυτισ: Φορτϊνεται ςε τμιμα τθσ κφρια μνιμθσ, κοινό για όλεσ τισ εφαρμογζσ χρθςιμοποιείται μόνο ζνα αντίγραφο τθσ διαδικαςίασ, εξοικονομϊντασ χϊρο Ο διαμοιραςμόσ τθσ κφριασ μνιμθσ μεταξφ διεργαςίων εξαςφαλίηει τθν αποδοτικι αλλθλεπίδραςθ των διεργαςιϊν, αλλά μπορεί να οδθγιςει ςε προβλιματα

Ζνα παράδειγμα (3/4) Ασ εξετάςουμε τθν ακολουκία: Η διεργαςία Ρ1 καλεί τθ διαδικαςία echo και διακόπτεται μόλισ θ ςυνάρτθςθ getchar επιςτρζφει τθν τιμι τθσ και τθν αποκθκεφει ςτθν chin. το ςθμείο αυτό ο χαρακτιρασ x, που είναι αυτόσ που ζχει ειςαχκεί τελευταίοσ, αποκθκεφεται ςτθ μεταβλθτι chin Η διεργαςία Ρ2 ενεργοποιείται και καλεί τθ διαδικαςία echo, θ οποία εκτελείται ωσ τθν ολοκλιρωςι τθσ, ειςάγοντασ και, ςτθ ςυνζχεια, προβάλλοντασ ζνα μοναδικό χαρακτιρα, y, ςτθν οκόνθ Η διεργαςία Ρ1 ςυνεχίηει. Μζχρι το ςθμείο αυτό, θ τιμι x ζχει επανεγγραφεί ςτθν chin και ωσ εκτοφτου χάνεται. Αντικζτωσ, θ chin περιζχει τθν y, θ οποία μεταφζρεται ςτθν chout και προβάλλεται ςτθν οκόνθ

Ζνα παράδειγμα (4/4) Σι ςυμβαίνει με τουσ δφο χαρακτιρεσ; Ο πρϊτοσ χαρακτιρασ χάνεται και ο δεφτεροσ προβάλλεται δφο φορζσ Η ουςία του προβλιματοσ είναι θ διαμοιραςμζνθ μεταβλθτι chin πολλαπλζσ διεργαςίεσ ζχουν πρόςβαςθ ςτθ μεταβλθτι αυτι Αν μια διεργαςία ενθμερϊςει τθν κακολικι μεταβλθτι και ςτθ ςυνζχεια διακοπεί, τότε μια άλλθ διεργαςία μπορεί να τροποποιιςει τθ μεταβλθτι πριν θ πρϊτθ μεταβλθτι να μπορζςει να χρθςιμοποιιςει τθν τιμι τθσ

Ανάγκθ υντονιςμοφ (1/2) Όταν περιςςότερεσ από μία διεργαςίεσ κάνουν χριςθ κοινϊν μεταβλθτϊν, τότε το αποτζλεςμα που παράγεται επθρεάηεται από τθ ςχετικι ταχφτθτα διεργαςιϊν αυτϊν Καταςτάςεισ ςαν τισ παραπάνω ζχουν το εξισ χαρακτθριςτικό: Επειδι εξαρτϊνται από τισ ςχετικζσ ταχφτθτεσ των διαδικαςιϊν, γενικά δεν επαναλαμβάνονται / αναπαράγονται (δθλαδι δεν είναι το ίδιο αποτζλεςμα κάκε φορά που τρζχουν παράλλθλα οι ίδιεσ διαδικαςίεσ) Πρζπει να αςκηθεί κάποιοσ ζλεγχοσ ςτην αλληλεπίδραςή τουσ υντονιςμόσ (ςυγχρονιςμόσ): Κάκε περιοριςμό ςτθ ςχετικι διάταξθ των εντολϊν (των διαδικαςιϊν που αλλθλεπιδροφν) ςτο χρόνο

Ανάγκθ υντονιςμοφ (2/2) Ασ εξετάςουμε το ίδιο παράδειγμα, υποκζτοντασ ότι υφίςταται ςυντονιςμόσ, δθλαδι επιτρζπεται μόνο ςε μία διεργαςία τθ φορά να βρίςκεται ςε αυτι τθ διαδικαςία Ζχουμε τθν εξισ ακολουκία: Η διεργαςία Ρ1 καλεί τθ διαδικαςία echo και διακόπτεται αμζςωσ μετά τθν ολοκλιρωςθ τθσ λειτουργίασ ειςόδου. το ςθμείο αυτό, ο χαρακτιρασ x, που είναι αυτόσ που ζχει ειςαχκεί τελευταίοσ, αποκθκεφεται ςτθ μεταβλθτι chin Η διεργαςία Ρ2 ενεργοποιείται και καλεί τθ διαδικαςία echo. Παρ όλα αυτά, επειδι θ Ρ1, αν και τθν τρζχουςα χρονικι ςτιγμι είναι ανεςταλμζνθ, βρίςκεται εντόσ τθσ διαδικαςίασ echo, μπλοκάρεται θ είςοδοσ τθσ Ρ2 ςτθ διαδικαςία. Επομζνωσ, θ Ρ2 αναςτζλλεται και αναμζνει τθ διακεςιμότθτα τθσ διαδικαςίασ echo Κάποια ςτιγμι αργότερα, ςυνεχίηεται θ εκτζλεςθ τθσ διεργαςίασ Ρ1 και ολοκλθρϊνεται θ εκτζλεςθ τθσ echo. Ο κατάλλθλοσ χαρακτιρασ (ο x) εμφανίηεται ςτθν οκόνθ Όταν θ Ρ1 εξζρχεται από τθν echo, αφαιρείται και το μπλοκάριςμα τθσ Ρ2. όταν θ Ρ2 αργότερα ςυνεχίηει τθν εκτζλεςθ τθσ θ διαδικαςία echo καλείται επιτυχϊσ

Βαςικοί Όροι χετικοί με τον Σαυτοχρονιςμό (1/3) Ατομική λειτουργία: Λειτουργία ι ενζργεια που υλοποιείται ωσ ακολουκία που αποτελείται από μία ι περιςςότερεσ εντολζσ που εμφανίηονται αδιαίρετεσ Η ακολουκία των εντολϊν είναι διαςφαλιςμζνο ότι είτε εκτελείται ωσ ομάδα είτε δεν εκτελείται κακόλου, χωρίσ να ζχει καμία εμφανισ επίδραςθ ςτθν κατάςταςθ του ςυςτιματοσ καμία άλλθ διεργαςία δεν μπορεί να διακρίνει μια ενδιάμεςθ κατάςταςθ ι να διακόψει τθ λειτουργία Η ατομικότθτα διαςφαλίηει τθν απομόνωςθ από τισ ταυτοχρονικζσ διεργαςίεσ

Βαςικοί Όροι χετικοί με τον Σαυτοχρονιςμό (2/3) Κρίςιμο τμήμα: Σμιμα κϊδικα μιασ διεργαςίασ που απαιτεί πρόςβαςθ ςε διαμοιραςμζνουσ πόρουσ και δεν πρζπει να εκτελεςτεί, ενόςω μία άλλθ διεργαςία βρίςκεται ςε αντίςτοιχο τμιμα κϊδικα Αδιζξοδο: Κατάςταςθ ςτθν οποία δφο ι περιςςότερεσ διεργαςίεσ δεν μποροφν να προχωριςουν, επειδι κακεμιά από αυτζσ αναμζνουν κάποια από τισ υπόλοιπεσ να ολοκλθρϊςει μία λειτουργία Αλληλεξάρτηςη: Κατάςταςθ ςτθν οποία δφο ι περιςςότερεσ διεργαςίεσ αλλάηουν ςυνεχϊσ τισ καταςτάςεισ τουσ ωσ αντίδραςθ ςε αλλαγζσ που πραγματοποιοφνται ςε άλλθ/άλλεσ διεργαςία(ίεσ), χωρίσ αυτό να αποτελεί κάποια χριςιμθ εργαςία

Βαςικοί Όροι χετικοί με τον Σαυτοχρονιςμό (3/3) Αμοιβαίοσ αποκλειςμόσ: Προχποκζτει ότι όταν μία διεργαςία βρίςκεται ςε κρίςιμο τμιμα που ζχει πρόςβαςθ ςε διαμοιραηόμενουσ πόρουσ, καμία άλλθ διεργαςία δεν μπορεί να βρίςκεται ςτο κρίςιμο τμιμα και να ζχει πρόςβαςθ ςε κάποιον από αυτοφσ τουσ διαμοιραηόμενουσ πόρουσ Συνθήκη ανταγωνιςμοφ: Κατάςταςθ ςτθν οποία πολλαπλζσ διεργαςίεσ διαβάηουν και εγγράφουν ζνα διαμοιραηόμενο ςτοιχείο δεδομζνων και το τελικό αποτζλεςμα εξαρτάται από το ςχετικό χρονιςμό τθσ εκτζλεςισ τουσ Λιμοκτονία: Κατάςταςθ ςτθν οποία μία διεργαςία που είναι ςε κζςθ να εκτελεςτεί παραβλζπεται επ αόριςτον από το χρονοδρομολογθτι παρόλο που είναι ικανι να προχωριςει, ποτζ δεν επιλζγεται

Χρονοδρομολόγθςθ Διεργαςιϊν (1/4) Η χρονοδρομολόγθςθ των διεργαςιϊν ζχει ουςιαςτικά να κάνει με τθν χρονοδρομολόγθςθ τθσ ΚΜΕ, θ οποία γίνεται από τον χρονοδρομολογθτι (scheduler) Λαμβάνει χϊρα ςε δυο επίπεδα: Μακροχρόνια χρονοδρομολόγηςη (long term scheduling ή job scheduling): όπου κακορίηονται ποιεσ από τισ διεργαςίεσ που ζχουν υποβλθκεί από τουσ χριςτεσ για εκτζλεςθ κα φορτωκοφν ςτθν μνιμθ και κα γίνουν ζτοιμεσ για εκτζλεςθ Βραχυχρόνια χρονοδρομολόγηςη (short term ή CPU scheduling): όπου επιλζγονται οι διεργαςίεσ από τθν λίςτα ζτοιμων διεργαςιϊν που κα τουσ παραχωρθκεί χρόνοσ ςτθν ΚΜΕ ζτςι ϊςτε να γίνουν εκτελοφμενεσ

Χρονοδρομολόγθςθ Διεργαςιϊν (2/4) Χρονοδρομολογθτισ (χρονοπρογραμματιςτισ): Μζροσ του Λ που επιλζγει τθν επόμενθ διαδικαςία που κα φορτωκεί ςτθ μνιμθ Η επιλογι γίνεται με βάςθ κάποιο αλγόρικμο χρονοδρομολόγθςθσ ε κάκε ςφςτθμα διαχείριςθσ μνιμθσ αντιςτοιχεί ζνα ςφνολο τζτοιων αλγόρικμων Σο Λ μπορεί να εκτελεί περιςςότερουσ από ζναν (από αυτοφσ τουσ αλγόρικμουσ) π.χ.: ςε περιπτϊςεισ όπου οι διαδικαςίεσ οι οποίεσ είναι ζτοιμεσ για εκτζλεςθ μπαίνουν ςε διαφορετικζσ ουρζσ Οι αλγόρικμοι αυτοί επιλζγονται από το ςχεδιαςτι του Λ

Χρονοδρομολόγθςθ Διεργαςιϊν (3/4) Ο χρονοδρομολογθτισ αποφαςίηει για το πότε και ποια διεργαςία κα διακοπεί και ποια κα ςυνεχίςει με βάςθ κάποια κριτιρια Σα πιο ςυνθκιςμζνα από τα οποία βαςίηονται ςτισ εξισ ζννοιεσ: Αποδοτικότητα (efficiency): Η ΚΜΕ κα πρζπει να είναι απαςχολθμζνθ κατά το μεγαλφτερο δυνατό χρονικό διάςτθμα Δικαιοςφνη (fairness): Ο χρόνοσ τθσ ΚΜΕ κα πρζπει να μοιράηεται δίκαια μεταξφ των ζτοιμων προσ εκτζλεςθ διεργαςιϊν Χαμηλό χρόνο απόκριςησ (low response time): Ο χρόνοσ αναμονισ ςε ζνα διαλογικό ςφςτθμα πρζπει να είναι χαμθλόσ Χαμηλό χρόνο διεκπεραίωςησ (low turnaround time): Ο ςυνολικόσ χρόνοσ για τθν πλιρθ εκτζλεςθ μιασ εργαςίασ πρζπει να είναι χαμθλόσ

Χρονοδρομολόγθςθ Διεργαςιϊν (4/4) Ανάλογα με τθ ςτρατθγικι που ακολουκοφν οι αλγόρικμοι χρονοδρομολόγθςθσ διακρίνονται ςε δφο κατθγορίεσ: Μη διακοπτοί (non preemptive) αλγόριθμοι: Μια διεργαςία που ζχει τον ζλεγχο τθσ ΚΜΕ τον διατθρεί μζχρισ ότου ολοκλθρωκεί ι χρειαςτεί κάποια άλλθ λειτουργία Διακοπτοί (preemptive) αλγόριθμοι: Ο χρόνοσ τθσ ΚΜΕ μοιράηεται ςε χρονικά διαςτιματα όμοια ι διαφορετικά μεταξφ τουσ (κβάντα χρόνου) και αυτά μοιράηονται ςτισ διεργαςίεσ με ςειρά θ οποία κακορίηεται είτε από τθ ςτιγμι άφιξθσ τθσ διεργαςίεσ είτε από τον απαιτοφμενο χρόνο εκτζλεςθσ τθσ Οι αλγόρικμοι χρονοδρομολόγθςθσ κακορίηουν τθ ςειρά και τον χρόνο εκτζλεςθσ των διεργαςιϊν, ΌΜΩ, ςε πολλζσ περιπτϊςεισ αυτι θ ςειρά μπορεί να τροποποιθκεί με βάςθ κάποια προτεραιότθτα που ορίηεται από τον χριςτθ για κάποιεσ διεργαςίεσ μζςω των προγραμμάτων διαχείριςθσ διεργαςιϊν

Βιβλιογραφία πυράκθσ, Π. (2001). Λειτουργικά Συςτήματα Ι, Ελλθνικό Ανοικτό Πανεπιςτιμιο, Πάτρα Stallings, W. (2017). Λειτουργικά Συςτήματα: Αρχζσ Σχεδίαςησ. Εκδόςεισ Σηιόλα: Θεςςαλονίκθ.