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

Download ""

Transcript

1 2. ΙΕΡΓΑΣΙΕΣ Στέφανος Γκρίτζαλης Αναπληρωτής Καθηγητής Κωνσταντίνος Καραφασούλης ιδάσκων (Π 407) 2.1 ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΙΕΡΓΑΣΙΕΣ (1/11) Το µοντέλο διεργασίας Για την επίτευξη ψευδοπαραλληλισµού (pseudoparallelism) το εκτελέσιµο λογισµικό στον υπολογιστή, οργανώνεται σε διεργασίες (processes). 2 1

2 2.1 ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΙΕΡΓΑΣΙΕΣ (2/11) ιεργασία είναι εκτελέσιµο πρόγραµµα, το οποίο περιλαµβάνει και τις τρέχουσες τιµές του απαριθµητή εντολών, των καταχωρητών και των µεταβλητών του. Η διεργασία δεν ταυτίζεται µε ένα πρόγραµµα, αφού η διεργασία είναι η δραστηριότητα (activity) εκτέλεσης ενός προγράµµατος ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΙΕΡΓΑΣΙΕΣ (3/11) Ιεραρχίες διεργασιών Εκτέλεση κλήσεων συστήµατος προκαλεί τη δηµιουργία διεργασιών (π.χ. fork). Στο UNIX η γονική (parent) και η θυγατρική (child) διεργασία εκτελούνται παράλληλα, αντίθετα από το DOS. 4 2

3 2.1 ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΙΕΡΓΑΣΙΕΣ (4/11) Καταστάσεις διεργασιών Η αλληλεπίδραση µεταξύ διεργασιών οδηγεί στην αναγκαιότητα ύπαρξης διαφόρων καταστάσεων στις οποίες µπορούν να βρεθούν οι διάφορες διεργασίες, π.χ. cat chapter1 chapter2 grep tree ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΙΕΡΓΑΣΙΕΣ (5/11) Οι τρεις δυνατές καταστάσεις στις οποίες µπορεί να βρεθεί µια διεργασία είναι: εκτελούµενη (running) έτοιµη προς εκτέλεση ή εκτελέσιµη (ready or runnable) υπό αναστολή (blocked). 6 3

4 2.1 ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΙΕΡΓΑΣΙΕΣ (6/11) Οι δυνατές µεταβάσεις µεταξύ καταστάσεων διεργασιών είναι: [1] εκτελούµενη υπό αναστολή [2] εκτελούµενη εκτελέσιµη [3] εκτελέσιµη εκτελούµενη [4] υπό αναστολή εκτελέσιµη Με τη χρήση του µοντέλου διεργασιών απλοποιείται η εσωτερική λειτουργία του Λ.Σ ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΙΕΡΓΑΣΙΕΣ (7/11) Υλοποίηση διεργασιών Για την υλοποίηση του µοντέλου διεργασιών, το Λ.Σ. οικοδοµεί µία δοµή από όµοιες εγγραφές, τον πίνακα διεργασιών (process table). 8 4

5 2.1 ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΙΕΡΓΑΣΙΕΣ (8/11) Για κάθε διεργασία τηρείται µία εγγραφή, η οποία περιλαµβάνει στοιχεία τα οποία αφορούν: στη διαχείριση διεργασιών (process management) στη διαχείριση µνήµης (memory management) στη διαχείριση αρχείων (file management) ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΙΕΡΓΑΣΙΕΣ (9/11) Λεπτοµερέστερα, τα στοιχεία µπορεί να περιλαµβάνουν: την κατάσταση της διεργασίας (process status) τον απαριθµητή προγράµµατος (program counter) το δείκτη στοίβας (stack pointer) την κατανοµή µνήµης (memory allocation) την κατάσταση των ανοιχτών αρχείων πληροφορίες λογιστικού χαρακτήρα (accounting) πληροφορίες χρονοπρογραµµατισµού 10 5

6 2.1 ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΙΕΡΓΑΣΙΕΣ (10/11) Εργασίες ενός Λ.Σ. κατά την εµφάνιση σήµατος διακοπής Σε κάθε οµάδα οµοειδών συσκευών αντιστοιχεί µια θέση µνήµης που καλείται διάνυσµα διακοπής (interrupt vector) ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΙΕΡΓΑΣΙΕΣ (11/11) Ηθέση αυτή περιλαµβάνει τη διεύθυνση της διαδικασίας εξυπηρέτησης διακοπής (interrupt service procedure). Σε περίπτωση εµφάνισης σήµατος διακοπής ακολουθείται συγκεκριµένη διαδοχή ενεργειών από την πλευρά του συστήµατος. 12 6

7 ΕΠΙΚΟΙΝΩΝΙΑ (1/49) Είναι προφανής η αναγκαιότητα ύπαρξης µηχανισµού διαδιεργασιακής επικοινωνίας (InterProcess Communication). 13 ΕΠΙΚΟΙΝΩΝΙΑ (2/49) Συνθήκες ανταγωνισµού Συνθήκες ανταγωνισµού (race conditions) µεταξύ διεργασιών εµφανίζονται όταν δύο ή περισσότερες διεργασίες διαµοιράζονται την ίδια περιοχή µνήµης και το τελικό αποτέλεσµα εξαρτάται από τη σειρά και το χρόνο εκτέλεσής τους. 14 7

8 ΕΠΙΚΟΙΝΩΝΙΑ (3/49) Κρίσιµα τµήµατα Στις περιπτώσεις διαµοιρασµού πόρων, απαιτείται πρόβλεψη και αποτροπή χρήσής τους από περισσότερες της µιας διεργασίας την ίδια χρονική στιγµή. Ουσιαστικά απαιτείται αµοιβαίος αποκλεισµός (mutual exclusion) µεταξύ δύο διεργασιών. 15 ΕΠΙΚΟΙΝΩΝΙΑ (4/49) Υπό την οπτική περισσότερο αφαιρετικής προσέγγισης, είναι επιθυµητό να διασφαλίσουµε ότι δε θα συµβεί ταυτόχρονη χρήση τµηµάτων προγραµµάτων που περιέχουν προσπελάσεις σε µη διαµοιραζόµενους πόρους. Τα τµήµατα αυτά των προγραµµάτων καλούνται κρίσιµα τµήµατα (critical sections). 16 8

9 ΕΠΙΚΟΙΝΩΝΙΑ (5/49) Για την επίτευξη αποδοτικής συνεργασίας παραλλήλων διεργασιών, απαιτείται να πληρούνται οι κάτωθι προϋποθέσεις: ύο διεργασίες δε βρίσκονται ποτέ ταυτόχρονα στα κρίσιµα τµήµατά τους εν επιτρέπονται υποθέσεις σε ότι αφορά την ταχύτητα ή το πλήθος των επεξεργαστών ιεργασία που δε βρίσκεται σε κρίσιµο τµήµα δεν επιτρέπεται να αναστείλει άλλες διεργασίες εν επιτρέπεται η έπ' αόριστο αναµονή µιας διεργασίας, για να εισέλθει στο κρίσιµο τµήµα της. 17 ΕΠΙΚΟΙΝΩΝΙΑ (6/49) H A εισέρχεται στη κρίσιµη περιοχή H A εξέρχεται από κρίσιµη περιοχή ιεργασία Α H Β προσπαθεί να εισέλθει στη κρίσιµη περιοχή H Β εισέρχεται στη κρίσιµη περιοχή H Βεξέρχεται από τη κρίσιµη περιοχή ιεργασία Β H Β αναστέλλεται Χρόνος 18 9

10 ΕΠΙΚΟΙΝΩΝΙΑ (7/49) Αµοιβαίος αποκλεισµός και ενεργός αναµονή Θα µελετήσουµε τρόπους για την επίτευξη αµοιβαίου αποκλεισµού, έτσι ώστε όταν µια διεργασία µεταβάλει τα περιεχόµενα διαµοιραζόµενης περιοχής µνήµης, καµία άλλη δεν εισέρχεται στο κρίσιµο τµήµα της. 19 ΕΠΙΚΟΙΝΩΝΙΑ (8/49) Απενεργοποιώντας διακοπές Η προφανέστερη λύση για την επίτευξη αµοιβαίου αποκλεισµού θα ήταν η διαδικασία, σύµφωνα µε την οποία: η απενεργοποίηση όλων των διακοπών από µια διεργασία που εισέρχεται στο κρίσιµο τµήµα της η άρση της απενεργοποίησης αµέσως µετά την έξοδο από αυτό

11 ΕΠΙΚΟΙΝΩΝΙΑ (9/49) Ηλύση αυτή εκτιµάται ως µη ελκυστική, αφού: δεν είναι επιθυµητό να ανατίθεται σε διεργασίες του χρήστη το δικαίωµα απαγόρευσης διακοπών δεν είναι αποτελεσµατική επιλογή, σε περίπτωση που υπάρχουν περισσότερες από µία CPU. 21 ΕΠΙΚΟΙΝΩΝΙΑ (10/49) Μεταβλητές κλειδώµατος Η λύση µε χρήση απλών διαµοιραζόµενων µεταβλητών κλειδώµατος (lock variables) θα περιλάµβανε: όταν µια διεργασία επιθυµεί να εισέλθει στο κρίσιµο τµήµα της ελέγχει την τιµή της µεταβλητής κλειδώµατος αν αυτή έχει τιµή 0, τότε τη θέτει 1 και εισέρχεται αν αυτή έχει τιµή 1, τότε περιµένει µέχρι να γίνει 0 και τότε τη θέτει 1 και εισέρχεται. Η επιλογή, όµως, αυτή δεν είναι αποτελεσµατική αφού µπορεί να παρουσιαστεί παρεµβολή σε τέτοιο χρόνο, ώστε να υπάρξει αναποτελεσµατικός έλεγχος

12 ΕΠΙΚΟΙΝΩΝΙΑ (11/49) Αυστηρή εναλλαγή Στη λύση της αυστηρής εναλλαγής, η µεταβλητή turn καταγράφει τη διεργασία που έχει δικαίωµα να εισέλθει στο κρίσιµο τµήµα της, ελέγχοντας ή ενηµερώνοντας τη µνήµη. 23 ΕΠΙΚΟΙΝΩΝΙΑ (12/49) Αρχικά, η turn έχει τιµή 0, οπότε η διεργασία 0 εισέρχεται στο κρίσιµο τµήµα, ενώ η διεργασία 1 περιµένει, εκτελώντας διαρκώς ένα βρόχο ελέγχου. Η διεργασία 1 βρίσκεται σε ενεργό αναµονή (busy waiting). Όταν η διεργασία 0 τελειώσει το κρίσιµο τµήµα, µεταβάλλει την turn σε 1, οπότε επιτρέπει στην αντίστοιχη διεργασία να εισέλθει στο δικό της κρίσιµο τµήµα

13 ΕΠΙΚΟΙΝΩΝΙΑ (13/49) Τα µειονεκτήµατα της µεθόδου είναι: περιλαµβάνεται ενεργός αναµονή (busy waiting), οπότε δαπανάται χρόνος CPU δεν ενδείκνυται όταν η µία εκ των εµπλεκοµένων διεργασιών είναι πολύ βραδύτερη της άλλης απαιτεί αυστηρή εναλλαγή διεργασιών. 25 Λύση του Peterson ΕΠΙΚΟΙΝΩΝΙΑ (14/49) Σύµφωνα µε τη λύση του Peterson: πριν την είσοδο σε κρίσιµο τµήµα κάποια διεργασία, έστω process=0, καλεί την enter_region µε παράµετρο τον αριθµό της 0 ακολούθως δηλώνει το ενδιαφέρον της γι' αυτό το κρίσιµο τµήµα, θέτοντας interested[process=0]=true και θέτει τη µεταβλητή turn=0 περιµένει µέχρι να εξασφαλιστεί η είσοδος στο κρίσιµο τµήµα κατά την έξοδο από το κρίσιµο τµήµα η διεργασία καλεί την leave_region ώστε να απελευθερωθεί η κρίσιµη περιοχή, θέτοντας interested[process=0]=false. Το βασικό µειονέκτηµα και της µεθόδου του Peterson είναι ότι: περιλαµβάνεται ενεργός αναµονή (busy waiting) στην περίπτωση που προσπαθήσει µια διεργασία να εισέλθει ανεπιτυχώς στο κρίσιµο τµήµα

14 ΕΠΙΚΟΙΝΩΝΙΑ (15/49) TSL εντολή Η εντολή TSL (Test and Set Lock) είναι εντολή που χρησιµοποιείται σε υπολογιστές πολλαπλών επεξεργαστών και εξασφαλίζει το αδιαίρετο (indivisible) των πράξεων ανάγνωσης και αποθήκευσης. Ο συντονισµός των προσπελάσεων στην κοινή µνήµη επιτυγχάνεται µέσω µιας διαµοιραζόµενης µεταβλητής flag. 27 ΕΠΙΚΟΙΝΩΝΙΑ (16/49) Όταν flag=0 οποιαδήποτε διεργασία: µπορεί να θέσει flag=1 µε εντολή TSL ακολούθως να αναγνώσει ή εγγράψει στη διαµοιραζόµενη µνήµη µετά το πέρας να επαναθέσει flag=

15 ΕΠΙΚΟΙΝΩΝΙΑ (17/49) Συνεπώς: µια διεργασία που επιθυµεί να εισέλθει στο κρίσιµο τµήµα καλεί την enter_region η enter_region διεκπεραιώνει την ενεργό αναµονή, θέτει το κλείδωµα και επιστρέφει µετά το πέρας του κρίσιµου τµήµατος, η διεργασία καλεί την leave_region η οποία αίρει το κλείδωµα. Το βασικό µειονέκτηµα και της µεθόδου του TSL είναι ότι: περιλαµβάνεται ενεργός αναµονή (busy waiting) στην περίπτωση που προσπαθήσει µια διεργασία να εισέλθει ανεπιτυχώς στο κρίσιµο τµήµα. 29 ΕΠΙΚΟΙΝΩΝΙΑ (18/49) Απενεργοποίηση και αφύπνιση Το βασικότερο µειονέκτηµα των λύσεων Peterson και χρήσης TSL εντολής ήταν η ύπαρξη ενεργού αναµονής. Το πρόβληµα της ύπαρξης ενεργού αναµονής µπορεί να οδηγήσει και σε άλλες ανεπιθύµητες καταστάσεις, όπως την αντιστροφή προτεραιοτήτων (priority inversion problem) µεταξύ διεργασιών

16 ΕΠΙΚΟΙΝΩΝΙΑ (19/49) Για την αποτροπή της ενεργού αναµονής αξιοποιείται ζεύγος κλήσεων συστήµατος: SLEEP (απενεργοποίηση): αναστέλλει την καλούσα διεργασία µέχρι να αφυπνισθεί εκ νέου από άλλη διεργασία WAKEUP (αφύπνιση): αφυπνίζει τη διεργασία που καθορίζεται από την παράµετρο της κλήσης. 31 ΕΠΙΚΟΙΝΩΝΙΑ (20/49) Το πρόβληµα παραγωγού-καταναλωτή Το πρόβληµα παραγωγού-καταναλωτή (producerconsumer) αποτελεί κλασικό πρόβληµα συγχρονισµού και εµφανίζεται όταν: η διεργασία-παραγωγός επιθυµεί να τοποθετήσει νέα δεδοµένα σε γεµάτη ενδιάµεση µνήµη η διεργασία-καταναλωτής επιθυµεί να αποσύρει δεδοµένα από άδεια ενδιάµεση µνήµη

17 ΕΠΙΚΟΙΝΩΝΙΑ (21/49) Πρόβληµα αµοιβαίου αποκλεισµού Αιτία του προβλήµατος είναι η δυνατότητα ταυτόχρονης πρόσβασης στο κρίσιµο τµήµα, δηλαδή στη µεταβλητή που απαριθµεί το πλήθος των δεδοµένων στην ενδιάµεση µνήµη 33 ΕΠΙΚΟΙΝΩΝΙΑ (22/49) Αντιµετώπιση του προβλήµατος επιτυγχάνεται µε χρήση του ζεύγους κλήσεων SLEEP, WAKEUP. Τα στοιχεία που απαιτούνται είναι: count πλήθος δεδοµένων ενδιάµεσης µνήµης N SLEEP, WAKEUP enter_item remove_item µέγιστο πλήθος δεδοµένων ενδιάµεσης µνήµης κλήσεις συστήµατος τοποθέτηση δεδοµένων στην ενδιάµεση µνήµη απόσυρση δεδοµένων από την ενδιάµεση µνήµη 34 17

18 ΕΠΙΚΟΙΝΩΝΙΑ (23/49) Ηλειτουργία των διεργασιών παραγωγού και καταναλωτή περιλαµβάνει: Η διεργασία-παραγωγός απενεργοποιείται (SLEEP) όποτε η ενδιάµεση µνήµη είναι πλήρης. Η διεργασία-παραγωγός αφυπνίζεται (WAKEUP) από τη διεργασία-καταναλωτή, όταν αυτή καταναλώσει ένα ή περισσότερα δεδοµένα. Η διεργασία-καταναλωτής απενεργοποιείται (SLEEP) όποτε η ενδιάµεση µνήµη είναι άδεια. Η διεργασία-καταναλωτής αφυπνίζεται (WAKEUP) από τη διεργασία-παραγωγό, όταν αυτή τοποθετήσει ένα ή περισσότερα δεδοµένα. 35 ΕΠΙΚΟΙΝΩΝΙΑ (24/49) Σενάριο δηµιουργίας συνθήκης ανταγωνισµού, λόγω ανεξέλεγκτης πρόσβασης στη µεταβλητή count(1/2): Η διεργασία-καταναλωτής ελέγχει και βρίσκει τη µεταβλητή count=0. Πριν η διεργασία-καταναλωτής προλάβει να εκτελέσει SLEEP, ο χρονοδροµολογητής τη διακόπτει και εκτελεί τη διεργασία-παραγωγό. Η διεργασία-παραγωγός τοποθετεί ένα δεδοµένο στην ενδιάµεση µνήµη, εκτελεί count=count+1 και αφυπνίζει τη διεργασία-καταναλωτή

19 ΕΠΙΚΟΙΝΩΝΙΑ (25/49) Σενάριο δηµιουργίας συνθήκης ανταγωνισµού, λόγω ανεξέλεγκτης πρόσβασης στη µεταβλητή count(2/2): Όµως η διεργασία-καταναλωτής δεν είναι απενεργοποιηµένη, συνεπώς το σήµα αφύπνισης χάνεται. Όταν επανεκτελεστεί η διεργασία-καταναλωτής, έχει ως τιµή count=0 και απενεργοποιείται. Η διεργασία-παραγωγός θα συνεχίσει να παράγει δεδοµένα µέχρι να γεµίσει η ενδιάµεση µνήµη, οπότε και θα απενεργοποιηθεί. Συνεπώς, τόσο η διεργασία-παραγωγός, όσο και η διεργασία-καταναλωτής θα παραµείνουν διαρκώς απενεργοποιηµένες. 37 ΕΠΙΚΟΙΝΩΝΙΑ (26/49) Αιτία της δηµιουργίας συνθήκης ανταγωνισµού, ήταν η αποστολή σήµατος αφύπνισης σε µη απενεργοποιηµένη διεργασία. Επίλυση του προβλήµατος θα µπορούσε να επιτευχθεί µε χρήση ψηφίου αναµένουσας αφύπνισης (wakeup waiting bit). Το ψηφίο αναµένουσας αφύπνισης γίνεται 1, όταν το αντίστοιχο σήµα αποστέλλεται, ενώ η διεργασία δεν είναι απενεργοποιηµένη. Όταν αργότερα η διεργασία επιχειρήσει να απενεργοποιηθεί, το ψηφίο θα λάβει τιµή 0 αλλά η διεργασία δε θα απενεργοποιηθεί. Το πρόβληµα παραµένει αν υπάρξουν περισσότερες από µία διεργασίες που αποστέλλουν σήµατα αφύπνισης

20 ΕΠΙΚΟΙΝΩΝΙΑ (27/49) Σηµαφόροι Οι σηµαφόροι επιλύουν το πρόβληµα της χαµένης αφύπνισης. Ο Dijkstra πρότεινε τη χρήση: µιας ακέραιας µεταβλητής, του σηµαφόρου ή σηµατοφορέα (semaphore), για την καταµέτρηση των σηµάτων αφύπνισης δύο θεµελιωδών αδιαίρετων λειτουργιών DOWN και UP που επιδρούν στο σηµαφόρο. 39 ΕΠΙΚΟΙΝΩΝΙΑ (28/49) Ητιµή του σηµαφόρου µπορεί να είναι: είτε µηδενική, αν δεν έχουν αποσταλεί σήµατα αφύπνισης είτε θετική, ίση µε το πλήθος των σηµάτων αφύπνισης. Όταν αρχίζει µία λειτουργία σε σηµαφόρο, αυτή διεξάγεται ως ατοµική ή αδιαίρετη ενέργεια (atomicity), δηλαδή καµία άλλη διεργασία δε µπορεί να έχει πρόσβαση σε αυτόν, µέχρι την ολοκλήρωση ή την αναστολή της λειτουργίας

21 ΕΠΙΚΟΙΝΩΝΙΑ (29/49) Η DOWN ελέγχει: αν sem>0, τότε µειώνει την τιµή κατά ένα και συνεχίζει αν sem=0, τότε η καλούσα διεργασία απενεργοποιείται. Ατοµική ή αδιαίρετη ενέργεια θεωρούνται: ο έλεγχος, η µεταβολή της τιµής η πιθανή ενεργοποίηση. 41 ΕΠΙΚΟΙΝΩΝΙΑ (30/49) Η UP αυξάνει κατά 1 την τιµή του σηµαφόρου. Ατοµική ή αδιαίρετη ενέργεια θεωρούνται: η λειτουργία αύξησης του σηµαφόρου η απενεργοποίηση µιας διεργασίας. Μετά την UP, αν µία ή περισσότερες διεργασίες είχαν απενεργοποιηθεί µέσω του σηµαφόρου, τότε επιλέγεται κάποια από το σύστηµα ώστε να ολοκληρώσει τη DOWN λειτουργία της

22 ΕΠΙΚΟΙΝΩΝΙΑ (31/49) Συνεπώς µετά την UP λειτουργία: ο σηµαφόρος θα συνεχίσει να έχει τιµή 0 οι εξαρτώµενες από αυτόν απενεργοποιηµένες διεργασίες θα είναι κατά µία λιγότερες. 43 ΕΠΙΚΟΙΝΩΝΙΑ (32/49) Υλοποίηση των DOWN και UP Οι DOWN και UP υλοποιούνται ως κλήσεις συστήµατος. Σε περίπτωση πολλαπλών CPUs απαιτείται η διασφάλιση ότι µία µόνο CPU τη φορά έχει πρόσβαση στο sem. Συνεπώς κάθε sem πρέπει να προστατεύεται από µεταβλητή κλειδώµατος, µε χρήση εντολής TSL 44 22

23 ΕΠΙΚΟΙΝΩΝΙΑ (33/49) Εφαρµογές Για την απαγόρευση των διακοπών σε σύστηµα µε σηµαφόρους, αξιοποιείται sem µε αρχική τιµή 0, για κάθε συσκευή εισόδου/εξόδου. Μετά την εκκίνηση µιας τέτοιας συσκευής, η διεργασία διαχείρισης της συσκευής εκτελεί DOWN στον αντίστοιχο sem και αναστέλλεται. Το σήµα διακοπής κάνει το χειριστή διακοπών να εκτελέσει UP στον αντίστοιχο sem, ο οποίος κάνει εκ νέου τη σχετική διεργασία έτοιµη να εκτελεστεί. 45 ΕΠΙΚΟΙΝΩΝΙΑ (34/49) Χρήση σηµαφόρων στη λύση του προβλήµατος παραγωγού-καταναλωτή Οι σηµαφόροι επιλύουν το πρόβληµα της χαµένης αφύπνισης. Το αδιαίρετο της υλοποίησης των σηµαφόρων επιτυγχάνεται µε την υλοποίηση των λειτουργιών UP και DOWN ως κλήσεων συστήµατος

24 ΕΠΙΚΟΙΝΩΝΙΑ (35/49) Με τον τρόπο αυτόν απαγορεύονται οι διακοπές: για όσο χρόνο ο σηµαφόρος ελέγχεται και ενηµερώνεται για όσο χρόνο απαιτείται για απενεργοποίηση της διεργασίας. Στην περίπτωση που διαθέτουµε πολλές CPUs, κάθε σηµαφόρος πρέπει να προστατεύεται από µια µεταβλητή κλειδώµατος, ώστε η TSL εντολή να εξασφαλίζει ότι µία µόνο CPU τη φορά έχει πρόσβαση στο σηµαφόρο. 47 ΕΠΙΚΟΙΝΩΝΙΑ (36/49) Μετρητές συµβάντων Ο µετρητής συµβάντων Ε (event counter), είναι ένας ειδικός τύπος µεταβλητής µε τιµή πάντοτε µεγαλύτερη από µηδέν και πάντοτε αυξανόµενη

25 ΕΠΙΚΟΙΝΩΝΙΑ (37/49) Για τον Ε ορίζονται οι ακόλουθες λειτουργίες: Read(E): επιστρέφει την τρέχουσα τιµή του Ε Advance(E): αυξάνει την τιµή του Ε κατά 1 Await(E,v): αναµένει µέχρι ο Ε να αποκτήσει τιµή µεγαλύτερη ή ίση µε ν Οι µετρητές συµβάντων µπορούν να χρησιµοποιηθούν στο πρόβληµα παραγωγούκαταναλωτή. 49 ΕΠΙΚΟΙΝΩΝΙΑ (38/49) Χρησιµοποιούνται οι µετρητές συµβάντων in και out. Η τιµή του in εκφράζει το πλήθος των δεδοµένων που αποθήκευσε ο παραγωγός στην ενδιάµεση µνήµη από την έναρξη του προγράµµατος. Η τιµή του out εκφράζει το πλήθος των δεδοµένων που κατανάλωσε ο καταναλωτής από την ενδιάµεση µνήµη µέχρι τώρα

26 ΕΠΙΚΟΙΝΩΝΙΑ (39/49) Ο παραγωγός βασίζει τη λειτουργία του στην ακόλουθη λογική: όταν ετοιµάσει ένα δεδοµένο ελέγχει το διαθέσιµο χώρο στην ενδιάµεση µνήµη µε την κλήση AWAIT αρχικά out=0, συνεπώς ο παραγωγός δεν αναστέλλει τη λειτουργία του αν παραχθούν Ν+1 δεδοµένα πριν την εκκίνηση του καταναλωτή, τότε η κλήση AWAIT θα οδηγήσει σε αναµονή µέχρις ότου out=1 O καταναλωτής βασίζει τη λειτουργία του στην ακόλουθη λογική: αποσύρει το κ-στό δεδοµένο µόνον όταν in=k, δηλαδή όταν ο παραγωγός έχει αποθέσει k δεδοµένα στην ενδιάµεση µνήµη. 51 ΕΠΙΚΟΙΝΩΝΙΑ (40/49) Παρακολουθητές (ελεγκτές) Παρακολουθητής (monitor) είναι µία αρχή συγχρονισµού υψηλότερου επιπέδου. Αποτελεί µια συλλογή από διαδικασίες, µεταβλητές και δοµές δεδοµένων, που οµαδοποιούνται σε έναν ειδικό τύπο ενότητας ή πακέτου. Οι διεργασίες µπορούν να καλούν τις διαδικασίες ενός παρακολουθητή, αλλά δε µπορούν να προσπελάσουν άµεσα τις εσωτερικές δοµές δεδοµένων ενός παρακολουθητή, από διαδικασίες που ορίστηκαν εκτός αυτού

27 ΕΠΙΚΟΙΝΩΝΙΑ (41/49) Ηχρησιµότητα των παρακολουθητών στην επίτευξη αµοιβαίου αποκλεισµού βασίζεται στο γεγονός ότι µία µόνο διεργασία κάθε στιγµή µπορεί να είναι ενεργή σε έναν παρακολουθητή. Αυτό υλοποιείται µε τη βοήθεια του µεταγλωττιστή, ο οποίος γνωρίζει το είδος τους και χειρίζεται µε διαφορετικό τρόπο διαδικασία παρακολουθητή από άλλες διαδικασίες. Συνεπώς είναι ευθύνη του µεταγλωττιστή η υλοποίηση αµοιβαίου αποκλεισµού κατά την είσοδο σε παρακολουθητή. 53 ΕΠΙΚΟΙΝΩΝΙΑ (42/49) Οπρογραµµατιστής: δε χρειάζεται να γνωρίζει τον τρόπο που ο µεταγλωττιστής επιτυγχάνει τον αµοιβαίο αποκλεισµό αρκεί να γνωρίζει ότι µετατρέποντας τα κρίσιµα τµήµατα σε διαδικασίες παρακολουθητή, δύο διεργασίες δεν πρόκειται να εκτελέσουν ταυτόχρονα τα κρίσιµα τµήµατά τους

28 ΕΠΙΚΟΙΝΩΝΙΑ (43/49) Βασικό πλεονέκτηµα των παρακολουθητών: Οι παρακολουθητές αυτοµατοποιούν τη διαδικασία αµοιβαίου αποκλεισµού των κρισίµων τµηµάτων, συνεπώς επιτρέπουν παράλληλο προγραµµατισµό µε λιγότερα σφάλµατα. Βασικό µειονέκτηµα των παρακολουθητών: Οι παρακολουθητές είναι στοιχείο (concept) της ίδιας της γλώσσας προγραµµατισµού, αφού ο µεταγλωττιστής πρέπει να τους αναγνωρίζει και να προγραµµατίζει τον αµοιβαίο αποκλεισµό. Συνεπώς πρέπει να ενσωµατωθούν στοιχεία σε µεταγλωττιστές, ώστε αυτοί να γνωρίζουν ποιες διαδικασίες είναι του παρακολουθητή και ποιες όχι. 55 ΕΠΙΚΟΙΝΩΝΙΑ (44/49) Μεταβίβαση µηνύµατος Η µέθοδος µεταβίβασης µηνύµατος (message passing) υλοποιεί διαδιεργασιακή επικοινωνία µε χρήση των αρχών SEND και RECEIVE. Οι κλήσεις αυτές συστήµατος µπορούν εύκολα να ενσωµατωθούν σε διαδικασίες βιβλιοθήκης, όπως: send (destination, &message) receive (source, &message) 56 28

29 ΕΠΙΚΟΙΝΩΝΙΑ (45/49) Ζητήµατα σχεδίασης σε συστήµατα µεταβίβασης µηνύµατος Ζήτηµα 1 Σε περίπτωση που ανταλλάσσονται µηνύµατα στο δίκτυο, πρέπει να επιλυθεί το πρόβληµα που µπορεί να ανακύψει:» είτε από την απώλεια ενός µηνύµατος» είτε από την απώλεια του µηνύµατος επιβεβαίωσης λήψης ενός µηνύµατος (acknowledgement message) 57 ΕΠΙΚΟΙΝΩΝΙΑ (46/49) Ζήτηµα 2 Πρέπει να επιλυθεί το πρόβληµα της ονοµατοδοσίας των διεργασιών. Τα συνήθη προτεινόµενα σχήµατα είναι:» process@machine» process@machine:domain. Ζήτηµα 3 Απαιτείται η αµοιβαία επιβεβαίωση της ταυτότητας των επικοινωνούντων σε ένα σύστηµα

30 ΕΠΙΚΟΙΝΩΝΙΑ (47/49) Το πρόβληµα παραγωγού-καταναλωτή µε µεταβίβαση µηνύµατος Ο καταναλωτής αποστέλλει Ν άδεια µηνύµατα ίδιου µεγέθους προς τον παραγωγό. Όποτε ο παραγωγός έχει έτοιµο ένα δεδοµένο, παίρνει άδειο µήνυµα και το στέλνει πίσω γεµάτο. Υπάρχει περίπτωση να αναστείλει τη λειτουργία του είτε ο καταναλωτής, είτε ο παραγωγός. 59 ΕΠΙΚΟΙΝΩΝΙΑ (48/49) Η διευθυνσιοδότηση µηνυµάτων µπορεί να γίνει µε χρήση µιας νέας δοµής δεδοµένων, του γραµµατοκιβωτίου (mailbox). Η διεύθυνση αποστολής ενός µηνύµατος δεν αντιστοιχεί σε διεργασία αλλά σε γραµµατοκιβώτιο. Το γραµµατοκιβώτιο αποτελεί µέρος προσωρινής αποθήκευσης συγκεκριµένου αριθµού µηνυµάτων, που καθορίζεται µε τη δηµιουργία του γραµµατοκιβωτίου. Στο πρόβληµα παραγωγού-καταναλωτή και οι δύο διεργασίες δηµιουργούν γραµµατοκιβώτια Ν µηνυµάτων

31 ΕΠΙΚΟΙΝΩΝΙΑ (49/49) Ισοδυναµία αρχών Μπορεί να αποδειχθεί ότι οι διάφορες αρχές διαδιεργασιακής επικοινωνίας είναι µεταξύ τους ισοδύναµες, δηλαδή: σηµαφόροι παρακολουθητές µεταβίβαση µηνυµάτων ΠΡΟΒΛΗΜΑΤΑ ΙΑ ΙΕΡΓΑΣΙΑΚΗΣ ΕΠΙΚΟΙΝΩΝΙΑΣ (1/3) Το πρόβληµα των Συνδαιτηµόνων Φιλοσόφων Οι φιλόσοφοι είτε τρώνε είτε σκέφτονται Χρειάζονται 2 πιρούνια Σηκώνουν ένα πιρούνι τη φορά Πως θα αποφευχθεί το αδιέξοδο 62 31

32 2.3 ΠΡΟΒΛΗΜΑΤΑ ΙΑ ΙΕΡΓΑΣΙΑΚΗΣ ΕΠΙΚΟΙΝΩΝΙΑΣ (2/3) Το πρόβληµα των Αναγνωστών και των Εγγραφέων Αναγνώστης Αναγνώστης Εγγραφέας Εγγραφέας Εγγραφέας Αναγνώστης Βάση Αναγνώστης Semaphore Down Counter 4 Mutex Up ΠΡΟΒΛΗΜΑΤΑ ΙΑ ΙΕΡΓΑΣΙΑΚΗΣ ΕΠΙΚΟΙΝΩΝΙΑΣ (3/3) Το πρόβληµα του Κοιµώµενου Κουρέα Σηµαφόροι (3) Customers Barbers Mutex Μεταβλητές Waiting Σηµαντική ιαφορά Barbers σε βρόγχο Customers δεν είναι σε βρόγχο 64 32

33 2.4 ΧΡΟΝΟ ΡΟΜΟΛΟΓΗΣΗ ΙΕΡΓΑΣΙΏΝ (1/20) Χρονοδροµολογητής ή χρονοπρογραµµατιστής (scheduler) είναι το τµήµα του Λ.Σ. το οποίο είναι επιφορτισµένο µε την ευθύνη της απόφασης ποια εκτελέσιµη διεργασία θα εκτελεστεί πρώτη. Ο αλγόριθµος που χρησιµοποιείται από το χρονοδροµολογητή λέγεται αλγόριθµος χρονοδροµολόγησης (scheduling algorithm). Η συνήθης ακολουθητέα στρατηγική, είναι η στρατηγική αναστολής εκτέλεσης εκτελέσιµων διεργασιών και καλείται χρονοδροµολόγηση προεκχώρησης (preemptive scheduling) ΧΡΟΝΟ ΡΟΜΟΛΟΓΗΣΗ ΙΕΡΓΑΣΙΏΝ (2/20) Μεγάλο χρονικό διάστηµα ενεργοποίησης της CPU Σύντοµο διάστηµα ενεργοποίησης της CPU Αναµονή για I/O Χρόνος 66 33

34 2.4 ΧΡΟΝΟ ΡΟΜΟΛΟΓΗΣΗ ΙΕΡΓΑΣΙΏΝ (3/20) Τα κριτήρια επιλογής αλγορίθµων χρονοδροµολόγησης είναι: δικαιοσύνη (fairness) µεταξύ των διεργασιών αποδοτικότητα (efficiency) στην αξιοποίηση της CPU χρόνος απόκρισης (response time) για διαλογικούς χρήστες κύκλος διεκπεραίωσης (turnaround) για χρήστες συστήµατος δέσµης ρυθµός απόδοσης (throughput) εργασιών που επεξεργάζεται ένα σύστηµα. Η επιλογή δεν είναι απλοϊκή, αφού ορισµένα από αυτά τα κριτήρια είναι αντικρουόµενα ΧΡΟΝΟ ΡΟΜΟΛΟΓΗΣΗ ΙΕΡΓΑΣΙΏΝ (4/20) Χρονοδροµολόγηση Εξυπηρέτησης εκ Περιτροπής Σύµφωνα µε τον αλγόριθµο εξυπηρέτησης εκ περιτροπής (round robin scheduling), σε κάθε διεργασία εκχωρείται χρονικό διάστηµα - κβάντο (quantum) στα όρια του οποίου επιτρέπεται η εκτέλεσή της. Αν η διεργασία δεν ολοκληρωθεί µέχρι το τέλος του χρονικού αυτού διαστήµατος, τότε η CPU προεκχωρείται σε άλλη διεργασία, δηλαδή λαµβάνει χώρα εναλλαγή διεργασιών (process switch) ή µεταγωγή περιβάλλοντος (context switch). Τρέχουσα διεργασία Επόµενη διεργασία Τρέχουσα διεργασία 68 34

35 2.4 ΧΡΟΝΟ ΡΟΜΟΛΟΓΗΣΗ ΙΕΡΓΑΣΙΏΝ (5/20) Αν η διεργασία ολοκληρωθεί πριν το τέλος του χρονικού διαστήµατος που της είχε ανατεθεί η CPU, τότε ο αλγόριθµος χρονοδροµολόγησης αναθέτει την CPU στην επόµενη στην ουρά διεργασία. Σηµαντική παράµετρο αποτελεί η επιλογή του µεγέθους του κβάντου χρόνου (τυπική τιµή κβάντου 100msec) ΧΡΟΝΟ ΡΟΜΟΛΟΓΗΣΗ ΙΕΡΓΑΣΙΏΝ (6/20) Χρονοδροµολόγηση Προτεραιοτήτων Η απαίτηση να ληφθεί υπόψη ότι όλες οι διεργασίες δεν είναι εξίσου σηµαντικές και η ανάγκη να ληφθούν υπόψη και εξωτερικοί παράγοντες, οδηγούν στη σχεδίαση χρονοδροµολόγηση προτεραιοτήτων (priority scheduling). Σε κάθε διεργασία ανατίθεται µία προτεραιότητα και εκτελείται η διεργασία µε την υψηλότερη προτεραιότητα. Για την αποτροπή επ άπειρο εκτέλεσης διεργασιών υψηλής προτεραιότητας, ο χρονοδροµολογητής µειώνει την προτεραιότητα της τρέχουσας διεργασίας σε κάθε διακοπή ρολογιού

36 2.4 ΧΡΟΝΟ ΡΟΜΟΛΟΓΗΣΗ ΙΕΡΓΑΣΙΏΝ (7/20) Οι προτεραιότητες µπορούν να ανατεθούν είτε στατικά είτε δυναµικά. Για παράδειγµα, οι διεργασίες που είναι ισχυρά εξαρτώµενες από είσοδο/έξοδο (I/O bound) πρέπει να έχουν υψηλή προτεραιότητα, ώστε να αποτρέπεται µακρά αναµονή ολοκλήρωσης εισόδου/εξόδου, η οποία θα οδηγούσε σε µακρά κατάληψη µνήµης. Ένας τυπικός αλγόριθµος καλής εξυπηρέτησης, αναθέτει προτεραιότητα: 1/f, όπου f είναι το µέρος του κβάντου χρόνου που χρησιµοποιήθηκε από τη διεργασία την τελευταία φορά ΧΡΟΝΟ ΡΟΜΟΛΟΓΗΣΗ ΙΕΡΓΑΣΙΏΝ (8/20) Υβριδικό σχήµα περιλαµβάνει την οµαδοποίηση διεργασιών σε κλάσεις προτεραιοτήτων (priority classes). Χρησιµοποιείται ταυτόχρονα: χρονοδροµολόγηση προτεραιοτήτων µεταξύ των κλάσεων χρονοδροµολόγηση εξυπηρέτησης εκ περιτροπής µεταξύ των διεργασιών της ίδιας κλάσης. Με τον αλγόριθµο αυτό, µπορεί να εµφανισθεί το πρόβληµα της παρατεταµένης στέρησης πόρων (starvation) της CPU για κάποιες διεργασίες

37 2.4 ΧΡΟΝΟ ΡΟΜΟΛΟΓΗΣΗ ΙΕΡΓΑΣΙΏΝ (9/20) Πολλαπλές Ουρές Σε όλους τους αλγορίθµους εναλλαγής διεργασιών, σηµαντική σχεδιαστική παράµετρο αποτελεί η επιλογή του µεγέθους του κβάντου χρόνου Επιλογή µεταξύ πλήθους εναλλαγών έναντι υψηλών χρόνων απόκρισης ΧΡΟΝΟ ΡΟΜΟΛΟΓΗΣΗ ΙΕΡΓΑΣΙΏΝ (10/20) Μία αποτελεσµατική επιλογή είναι η λύση των πολλαπλών ουρών (multiple queues) - κλάσεων προτεραιοτήτων: οι διεργασίες της ουράς υψηλότερης κλάσης εκτελούνται για ένα κβάντο χρόνου οι διεργασίες της ουράς της επόµενης κλάσης εκτελούνται για δύο κβάντα χρόνου όταν µια διεργασία χρησιµοποιεί όλο το κβάντο χρόνου που της ανατίθεται, υποβιβάζεται κατά µία κλάση

38 2.4 ΧΡΟΝΟ ΡΟΜΟΛΟΓΗΣΗ ΙΕΡΓΑΣΙΏΝ (11/20) Τα πλεονεκτήµατα της µεθόδου αυτής είναι: απαιτείται µικρότερος αριθµός εναλλαγών, σε σχέση µε τον αλγόριθµο εξυπηρέτησης εκ περιτροπής όσο µια µεγάλη διεργασία βυθίζεται βαθύτερα στις ουρές προτεραιοτήτων, τόσο ευνοείται η ολοκλήρωση µικρών διαλογικών διεργασιών ΧΡΟΝΟ ΡΟΜΟΛΟΓΗΣΗ ΙΕΡΓΑΣΙΏΝ (12/20) Η Συντοµότερη Εργασία Πρώτη Για συστήµατα εργασιών δέσµης (batch jobs), ο συνηθέστερος αλγόριθµος είναι ο αλγόριθµος χρονοδροµολόγησης πρώτα-ησυντοµότερη-εργασία (shortest-job-first scheduling)

39 2.4 ΧΡΟΝΟ ΡΟΜΟΛΟΓΗΣΗ ΙΕΡΓΑΣΙΏΝ (13/20) Στα συστήµατα αυτά, ελαχιστοποιείται ο µέσος χρόνος διεκπεραίωσης (turnaround time). Αν θεωρήσουµε την εκτέλεση κάθε εντολής ως ξεχωριστή εργασία, τότε ο αλγόριθµος αυτός θα µπορούσε να χρησιµοποιηθεί και για διαλογικές εργασίες. Το πρόβληµα, όµως, που παραµένει είναι ποια από τις εκτελέσιµες εργασίες είναι η συντοµότερη ΧΡΟΝΟ ΡΟΜΟΛΟΓΗΣΗ ΙΕΡΓΑΣΙΏΝ (14/20) Ητεχνική που ακολουθείται είναι γνωστή ως ωρίµανση (aging). Σύµφωνα µε την τεχνική της ωρίµανσης, η εκτίµηση της διάρκειας ζωής µιας διεργασίας βασίζεται στην παρελθούσα συµπεριφορά των εργασιών. Έστω ότι ο εκτιµώµενος, για κάποιο τερµατικό, χρόνος ανά εντολή είναι T 0 και ο επόµενος χρόνος εκτέλεσης µετράται σε T 1. Μπορούµε να ανανεώσουµε την εκτίµησή µας, θεωρώντας ως νέα εκτίµηση το σταθµισµένο άθροισµα (weighted sum) των προηγούµενων τιµών, δηλαδή: at 0 + (1-a)T 1 Η τιµή του a µπορεί να καθορίσει την ταχύτητα προσαρµογής στα νέα δεδοµένα, ξεχνώντας παλαιές εκτιµήσεις και εκτελέσεις

40 2.4 ΧΡΟΝΟ ΡΟΜΟΛΟΓΗΣΗ ΙΕΡΓΑΣΙΏΝ (15/20) Εγγυηµένος Χρονοπρογραµµατισµός Η τεθείσα απαίτηση είναι η συνολική υπολογιστική ισχύς να ισοκατανέµεται στους χρήστες (policy-driven scheduling). Συνεπώς απαιτείται γνώση: του χρόνου που η CPU διατέθηκε για τις διεργασίες κάθε χρήστη του χρόνου που ο κάθε χρήστης είναι συνδεδεµένος στο σύστηµα. Ο αλγόριθµος αυτός µπορεί να χρησιµοποιηθεί σε συστήµατα πραγµατικού χρόνου (real-time systems), όπου τίθενται περιορισµοί, οι οποίοι πρέπει να επιτευχθούν ΧΡΟΝΟ ΡΟΜΟΛΟΓΗΣΗ ΙΕΡΓΑΣΙΏΝ (16/20) Πολιτικές έναντι µηχανισµών Συχνά, είναι επιθυµητό να επηρεάζεται από το χρήστη η απόφαση χρονοδροµολόγησης. Για παράδειγµα, υπάρχουν περιπτώσεις που µια γονική διεργασία επιθυµεί να αποφασίσει ποια από τις θυγατρικές διεργασίες είναι χρονικά κρίσιµη

41 2.4 ΧΡΟΝΟ ΡΟΜΟΛΟΓΗΣΗ ΙΕΡΓΑΣΙΏΝ (17/20) Ηλύση στο πρόβληµα αυτό, περιλαµβάνει το διαχωρισµό: του µηχανισµού χρονοδροµολόγησης (scheduling mechanism) από την πολιτική χρονοδροµολόγησης (scheduling policy). Με την ύπαρξη σχετικής κλήσης συστήµατος, θα µπορούσε η διεργασία του χρήστη να χαράσσει την πολιτική, αλλά ο ακολουθούµενος µηχανισµός ορίζεται από τον πυρήνα ΧΡΟΝΟ ΡΟΜΟΛΟΓΗΣΗ ΙΕΡΓΑΣΙΏΝ (18/20) Χρονοπρογραµµατισµός δύο επιπέδων Επειδή ο διατιθέµενος χώρος µνήµης είναι πεπερασµένος, υπάρχει περίπτωση κάποιες από τις διεργασίες να φυλάσσονται στο δίσκο. Το γεγονός αυτό έχει ως αποτέλεσµα να εµφανίζονται προβλήµατα από τον απαιτούµενο υψηλό χρόνο εναλλαγής των διεργασιών που βρίσκονται στο δίσκο

42 2.4 ΧΡΟΝΟ ΡΟΜΟΛΟΓΗΣΗ ΙΕΡΓΑΣΙΏΝ (19/20) Ηλύση στο πρόβληµα είναι η σχεδίαση και αξιοποίηση χρονοδροµολογητή δύο επιπέδων (two-level scheduler): ο χρονοδροµολογητής χαµηλού επιπέδου (low level scheduler) ασχολείται µε την επιλογή εκτελέσιµων διεργασιών που βρίσκονται εκείνη τη στιγµή στην κύρια µνήµη ο χρονοδροµολογητής υψηλού επιπέδου (high level scheduler) ασχολείται µε τη µετακίνηση εκτελέσιµων διεργασιών από το δίσκο στη µνήµη και αντιστρόφως ΧΡΟΝΟ ΡΟΜΟΛΟΓΗΣΗ ΙΕΡΓΑΣΙΏΝ (20/20) Τα κριτήρια που λαµβάνει υπόψη του ο χρονοδροµολογητής µπορεί να περιλαµβάνουν τα εξής: πόσος χρόνος πέρασε από την εκτόπιση ή την επαναφορά της διεργασίας πόσο χρόνο της CPU χρησιµοποίησε τελευταία η διεργασία πόσο µεγάλης διάρκειας είναι η διεργασία πόσο υψηλή προτεραιότητα έχει η διεργασία

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

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

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

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

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

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

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

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

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι ΙΕΡΓΑΣΙΕΣ ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΙΕΡΓΑΣΙΕΣ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθηµα: Λειτουργικά Συστήµατα Ι ΙΕΡΓΑΣΙΕΣ ιδάσκων: Αναπλ. Καθ. Κ. Λαµπρινουδάκης clam@unipi.gr 1 ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΙΕΡΓΑΣΙΕΣ ιεργασία (Process) είναι η αφαιρετική θεώρηση ενός προγράµµατος

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

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

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

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

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

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

Λιβανός Γιώργος Εξάμηνο 2017Β Λιβανός Γιώργος Εξάμηνο 2017Β Το Λ.Σ. είναι υπεύθυνο για την κατανομή των πόρων του συστήματος (επεξεργαστές, μνήμη, αποθηκευτικά μέσα και συσκευές εισόδου/εξόδου) στα διάφορα ανταγωνιζόμενα προγράμματα

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

1. Εισαγωγή. Λειτουργικά Συστήματα Η/Υ. Διεργασίες. Ορισμός ΚΕΦΑΛΑΙΟ 3 - ΔΙΕΡΓΑΣΙΕΣ. Κεφάλαιο 3 «Διεργασίες»

1. Εισαγωγή. Λειτουργικά Συστήματα Η/Υ. Διεργασίες. Ορισμός ΚΕΦΑΛΑΙΟ 3 - ΔΙΕΡΓΑΣΙΕΣ. Κεφάλαιο 3 «Διεργασίες» 1. Εισαγωγή Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 3 «Διεργασίες» Διδάσκων: Δ Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας Η έννοια της διεργασίας (process) είναι θεμελιώδης για την κατανόηση του τρόπου με τον οποίο

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

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

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

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

Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi

Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi Προϋποθέσεις για Αµοιβαίο Αποκλεισµό Μόνο µία διεργασία σε κρίσιµο τµήµασεκοινό πόρο Μία διεργασία που σταµατά σε µη κρίσιµο σηµείο δεν πρέπει να επιρεάζει τις υπόλοιπες διεργασίες εν πρέπει να υπάρχει

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

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

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

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

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

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

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

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

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

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

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

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

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Χρονοπρογραμματισμός Εργαστηριακές Ασκήσεις

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

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

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

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

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

Ενότητα 6 (Κεφάλαιο 9) Χρονοδρομολόγηση

Ενότητα 6 (Κεφάλαιο 9) Χρονοδρομολόγηση ΕΠΛ222: Λειτουργικά Συστήματα (μετάφραση στα ελληνικά των διαφανειών του βιβλίου Operating Systems: Internals and Design Principles, 8/E, William Stallings) Ενότητα 6 (Κεφάλαιο 9) Χρονοδρομολόγηση Οι διαφάνειες

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

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

Λειτουργικά Συστήματα 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Λειτουργικά Συστήματα Ενότητα 5 : Αμοιβαίος Αποκλεισμός Δημήτριος Λιαροκάπης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Μηχανικών

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

Λειτουργικά συστήματα πραγματικού χρόνου

Λειτουργικά συστήματα πραγματικού χρόνου Λειτουργικά συστήματα πραγματικού χρόνου Τι είναι λειτουργικό σύστημα πραγματικού χρόνου; Λειτουργικό Σύστημα Πραγματικού Χρόνου (ΛΣΠΧ) είναι ένα λειτουργικό σύστημα που προορίζεται για εφαρμογές πραγματικού

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

Σκελετός Παρουσίασης

Σκελετός Παρουσίασης Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια χρήσης άλλου τύπου, αυτή πρέπει να αναφέρεται ρητώς. Σκελετός

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

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

ΤρόποςΑξιολόγησης: α) Εργαστήρια (Προαιρετικάµε 20% - 35% βαρύτητα µόνοθετικά) β) Τελική Γραπτή Εξέταση ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX Ύλη του Μαθήµατος Μάθηµα: Λειτουργικά Συστήµατα ΙΙ UNIX Βιβλίο Μαθήµατος: α) Tanenbaum, A.:ΣύγχροναΛειτουργικάΣυστήµατα, 2ηΈκδοση, Εκδόσεις Κλειδάριθµος. β) Wrightson, K.,

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

Ε-85: Ειδικά Θέµατα Λογισµικού

Ε-85: Ειδικά Θέµατα Λογισµικού Ε-85: Ειδικά Θέµατα Λογισµικού Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων Χειµερινό Εξάµηνο 2009-10 «ιεργασίες και Νήµατα» Παναγιώτης Χατζηδούκας (Π.Δ. 407/80) E-85: Ε.Θ.Λ: Προγραµµατισµός Συστηµάτων

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

Συγχρονισµός: Αδιέξοδο & Παρατεταµένη Στέρηση

Συγχρονισµός: Αδιέξοδο & Παρατεταµένη Στέρηση Συγχρονισµός: Αδιέξοδο & Παρατεταµένη Στέρηση Κεφάλαιο 6 Αδιέξοδο Μόνιµη αναµονή ενός συνόλου διεργασιών οι οποίες ανταγωνίζονται για πόρους του συστήµατος ή για να επικοινωνήσουν µεταξύ τους εν υπάρχει

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

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

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

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

Ανάλυση Επιδόσεων Συστημάτων Πραγματικού Χρόνου

Ανάλυση Επιδόσεων Συστημάτων Πραγματικού Χρόνου ΣΥΣΤΗΜΑΤΑ ΠΡΑΓΜΑΤΙΚΟΥ ΧΡΟΝΟΥ Μάθημα Επιλογής Ανάλυση Επιδόσεων Συστημάτων Πραγματικού Χρόνου Δρ. Γεώργιος Κεραμίδας e-mail: gkeramidas@teimes.gr 1 Διεργασίες: Κατάσταση Εκτέλεσης (3-σταδίων) Κατάσταση

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

ροµολόγηση Επεξεργαστή

ροµολόγηση Επεξεργαστή ροµολόγηση Επεξεργαστή Κεφάλαιο 9 Στόχοι της ροµολόγησης Χρόνος Απόκρισης Throughput Αποδοτική χρήση επεξεργαστή Τύποι ροµολόγησης Μακροπρόθεσµη δροµολόγηση Μεσοπρόθεσµη δροµολόγηση Βραχυπρόθεσµη δροµολόγηση

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

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

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

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

Μάθημα 7 ο. Αλγόριθμοι Χρονοδρομολόγησης

Μάθημα 7 ο. Αλγόριθμοι Χρονοδρομολόγησης Μάθημα 7 ο Αλγόριθμοι Χρονοδρομολόγησης Σκοπός του μαθήματος Στην ενότητα αυτή θα εξηγήσουμε το ρόλο και την αξιολόγηση των αλγορίθμων χρονοδρομολόγησης, και θα παρουσιάσουμε τους κυριότερους. Θα μάθουμε:

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

Το μάθημα. Λειτουργικά Συστήματα Πραγματικού Χρόνου Βασικές Έννοιες 6. Ενσωματωμένα Συστήματα (embedded systems) Παραδείγματα

Το μάθημα. Λειτουργικά Συστήματα Πραγματικού Χρόνου Βασικές Έννοιες 6. Ενσωματωμένα Συστήματα (embedded systems) Παραδείγματα Λειτουργικά Συστήματα Πραγματικού Χρόνου 2006-07 Λειτουργικά Συστήματα Πραγματικού Χρόνου Βασικές Έννοιες Το μάθημα ΛΣ Πραγματικού Χρόνου Θεωρητικό υπόβαθρο Αρχές Προγραμματισμού Παραδείγματα ΛΣ Εργασίες

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

Εισαγωγή στα Λειτουργικά συστήματα Ι. Καθηγητής Κώστας Αναγνωστόπουλος

Εισαγωγή στα Λειτουργικά συστήματα Ι. Καθηγητής Κώστας Αναγνωστόπουλος Εισαγωγή στα Λειτουργικά συστήματα Ι Καθηγητής Κώστας Αναγνωστόπουλος Τι είναι Λειτουργικό Σύστημα Ένα πρόγραμμα ή συλλογή προγραμμάτων που ελέγχει και διαχειρίζεται το υλικό μιας υπολογιστικής μηχανής

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

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

Εισαγωγή στα Λειτουργικά Συστήματα Εισαγωγή στα Λειτουργικά Συστήματα Ενότητα 4: Διεργασίες ΙΙ Γεώργιος Φ. Φραγκούλης Τμήμα Ηλεκτρολόγων Μηχανικών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για

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

ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα

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

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

ENOTHTA 5 XPONO POMOΛOΓHΣH

ENOTHTA 5 XPONO POMOΛOΓHΣH ENOTHTA 5 Περιεχόµενα 1. Xρονοδροµολόγηση 2. Eίδη χρονοδροµολόγησης 3. Στόχοι και κριτήρια της χρονοδροµολόγησης 4. Tαξινόµηση αλγόριθµων χρονοδροµολόγησης 5. Xρονοδροµολόγηση µε βάση τον χρόνο εισόδου

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

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

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

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

Ο βασικός παράγοντας είναι ο χρόνος αξιοποίησης του επεξεργαστή Ελάχιστος αριθµός πράξεων και όχι µακρόχρονες αιτήσεις Ε/Ε

Ο βασικός παράγοντας είναι ο χρόνος αξιοποίησης του επεξεργαστή Ελάχιστος αριθµός πράξεων και όχι µακρόχρονες αιτήσεις Ε/Ε Εισαγωγή Ε-03: Λειτουργικά Συστήµατα ΙΙ Εαρινό Εξάµηνο 2005-06 «ροµολόγηση ιεργασιών (1/2)» ροµολόγηση σε συστήµατα µε έναν επεξεργαστή ροµολόγηση σε πολυεπεξεργαστικά συστήµατα ροµολόγηση σε κατανεµηµένα

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

Σελίδα 1 από 11. Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για:

Σελίδα 1 από 11. Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για: Σελίδα 1 από 11 Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για: την επικοινωνία, µε τα υπόλοιπα ολοκληρωµένα κυκλώµατα του υπολογιστικού συστήµατος. την παροχή τροφοδοσίας

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

Μάθημα 7: Αλγόριθμοι Χρονοδρομολόγησης

Μάθημα 7: Αλγόριθμοι Χρονοδρομολόγησης Μάθημα 7: Αλγόριθμοι Χρονοδρομολόγησης 7.1 Ορισμός Στόχοι Αλγόριθμο χρονοδρομολόγησης (scheduling algorithm) ονομάζουμε την μεθοδολογία την οποία χρησιμοποιεί ο κάθε χρονοδρομολογητής (βραχυχρόνιος, μεσοχρόνιος

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

Κεφάλαιο 3: Λειτουργικά Συστήµατα

Κεφάλαιο 3: Λειτουργικά Συστήµατα Κεφάλαιο 3: Λειτουργικά Συστήµατα B Μέρος Συντονισµός Δραστηριοτήτων Υπολογιστή Copyright 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Εισαγωγή Σήµερα θα περιγράψουµε πως ένα λειτουργικό

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

Περιγραφή και Έλεγχος ιεργασιών

Περιγραφή και Έλεγχος ιεργασιών Περιγραφή και Έλεγχος ιεργασιών Περίληψη ιεργασίες Πολυπρογραµµατισµός Καταστάσεις ιεργασιών Περιγραφή διεργασιών στο ΛΣ Έλεγχος διεργασιών Το ΛΣ Linux 1 ιεργασία (process) ιεργασία είναι κάθε πρόγραµµα

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

Διεργασίες (Processes)

Διεργασίες (Processes) Διεργασία (process) ή καθήκον (task) Διεργασίες (Processes) στοιχειώδης οντότητα/δραστηριότητα υπολογισμού (processing entity/activity) εκτέλεση ενός προγράμματος ένα (κύριο) νήμα (thread)/ρεύμα ελέγχου/εκτέλεσης

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

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

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

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

Θοδωρής Ανδρόνικος Τμήμα Πληροφορικής, Ιόνιο Πανεπιστήμιο

Θοδωρής Ανδρόνικος Τμήμα Πληροφορικής, Ιόνιο Πανεπιστήμιο Θοδωρής Ανδρόνικος Τμήμα Πληροφορικής, Ιόνιο Πανεπιστήμιο Για το μάθημα «Διαχείριση Λειτουργικών Συστημάτων» του ακαδημαϊκού έτους 2015 2016, το προτεινόμενο σύγγραμμα είναι το: Operating Systems: Internals

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

Λειτουργικά Συστήματα Πραγματικού Χρόνου

Λειτουργικά Συστήματα Πραγματικού Χρόνου Λειτουργικά Συστήματα Πραγματικού Χρόνου 2006-07 Λειτουργικά Συστήματα Πραγματικού Χρόνου Βασικές Έννοιες Μ.Στεφανιδάκης Το μάθημα ΛΣ Πραγματικού Χρόνου Θεωρητικό υπόβαθρο Αρχές Προγραμματισμού Παραδείγματα

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

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

Λειτουργικά Συστήματα Η/Υ Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 9 «Δρομολόγηση Διεργασιών» Διδάσκων: Δ, Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας 1 Δρομολόγηση σε σύστημα ενός επεξεργαστή 1. Εισαγωγή 2. Κριτήρια αποτίμησης της απόδοσης

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

Εργαστήριο Λειτουργικών Συστημάτων - Αλγόριθμοι Χρονοπρογραμματισμού. Εργαστηριακή Άσκηση

Εργαστήριο Λειτουργικών Συστημάτων - Αλγόριθμοι Χρονοπρογραμματισμού. Εργαστηριακή Άσκηση Εργαστηριακή Άσκηση Οι Αλγόριθμοι Χρονοπρογραμματισμού First Come First Serve (FCFS), Shortest Job First (SJF), Round Robin (RR), Priority Weighted (PRI) Επιμέλεια: Βασίλης Τσακανίκας Περιεχόμενα Αλγόριθμοι

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

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

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Λειτουργικά Συστήματα Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Λειτουργικά Συστήματα», 2015-2016 Κεφάλαιο 4: Διεργασίες Πρόγραμμα Πρόγραμμα 1 Πρόγραμμα

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

ΛΟΓΙΣΜΙΚΟ (software)

ΛΟΓΙΣΜΙΚΟ (software) ΛΟΓΙΣΜΙΚΟ (software) Το Λογισµικό του Ηλεκτρονικού Υπολογιστή Περιεχόµενα Ορισµός Λογισµικού Κατηγορίες Λογισµικό Συστήµατος Λογισµικό Εφαρµογών Το λογισµικό είναι: Το λογισµικό Το σύνολο των προγραµµάτων

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

Μάθημα 6 ο. Χρονοδρομολόγηση (Scheduling)

Μάθημα 6 ο. Χρονοδρομολόγηση (Scheduling) Μάθημα 6 ο Χρονοδρομολόγηση (Scheduling) Σκοπός του μαθήματος Στην ενότητα αυτή θα εξηγήσουμε το ρόλο και τη λειτουργία της χρονοδρομολόγησης σε ένα Λειτουργικό Σύστημα. Θα μάθουμε: Να ορίζουμε τι είναι

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

ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Λειτουργικά Συστήματα Ι. Διδάσκων: Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι

ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Λειτουργικά Συστήματα Ι. Διδάσκων: Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ Διδάσκων: Καθ. Κ. Λαμπρινουδάκης clam@unipi.gr 1 ΕΙΣΑΓΩΓΗ Μνήμη : Πόρος ζωτικής σημασίας του οποίου η διαχείριση απαιτεί ιδιαίτερη

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

Δρομολόγηση σε σύστημα ενός επεξεργαστή

Δρομολόγηση σε σύστημα ενός επεξεργαστή Δρομολόγηση σε σύστημα ενός επεξεργαστή 1. Εισαγωγή 2. Κριτήρια αποτίμησης της απόδοσης 3. Κριτήρια βελτιστοποίησης 4. Τύποι δρομολόγησης του επεξεργαστή 5. Ο κύκλος καταιγισμού CPU-I/O 6. Πολιτικές δρομολόγησης

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

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

Κεφάλαιο 4 Διεργασίες Β Τάξη ΕΠΑΛ Κεφάλαιο 4 Διεργασίες Β Τάξη ΕΠΑΛ Καθ. Παπαδάκη Αν. Λειτουργικά Συστήματα 1 Περιγραφή Διεργασίας Στους υπολογιστές που έχουν μια μόνο ΚΜΕ, σε κάθε χρονική στιγμή μπορεί να εκτελείται μια μόνο εντολή γλώσσας

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

Σκοπός Μαθήματος. Λειτουργικά Συστήματα Η/Υ. Γενικές Πληροφορίες. Στόχοι Μαθήματος ΚΕΦΑΛΑΙΟ 1 - ΕΙΣΑΓΩΓΗ. Θεωρία: Εργαστήριο: Κεφάλαιο 1 «Εισαγωγή»

Σκοπός Μαθήματος. Λειτουργικά Συστήματα Η/Υ. Γενικές Πληροφορίες. Στόχοι Μαθήματος ΚΕΦΑΛΑΙΟ 1 - ΕΙΣΑΓΩΓΗ. Θεωρία: Εργαστήριο: Κεφάλαιο 1 «Εισαγωγή» Σκοπός Μαθήματος Λειτουργικά Συστήματα Η/Υ Θεωρία: Βασικές έννοιες των λειτουργικών συστημάτων Βασικές αρχές σχεδιασμού τους Κεφάλαιο 1 «Εισαγωγή» Εργαστήριο: Πρακτική εξάσκηση στη χρήση των λειτουργικών

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

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

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

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

Χρονοπρογραµµατισµός ιεργασιών (Process Scheduling)

Χρονοπρογραµµατισµός ιεργασιών (Process Scheduling) Χρονοπρογραµµατισµός ιεργασιών (Process Scheduling) Περίληψη Χρονοπρογραµµατισµός διεργασιών και κριτήρια Κατηγορίες χρονοπρογραµµατιστών λγόριθµοι χρονοπρογραµµατισµού Χρονοπρογραµµατισµός Η πολιτική

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

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

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

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

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

Λειτουργικά Συστήματα 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Λειτουργικά Συστήματα Ενότητα 3 : Διεργασίες Δημήτριος Λιαροκάπης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Μηχανικών Πληροφορικής

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

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

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

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

Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ 1. Παρακάτω δίνονται μερικοί από τους ακροδέκτες που συναντάμε στην πλειοψηφία των μικροεπεξεργαστών. Φτιάξτε έναν πίνακα που να

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι. Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Επ. Καθ. Κ. Λαμπρινουδάκης

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι. Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Επ. Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ Διδάσκων: Επ. Καθ. Κ. Λαμπρινουδάκης clam@unipi.gr 1 ΕΙΣΑΓΩΓΗ Μνήμη : Πόρος ζωτικής σημασίας του οποίου η διαχείριση απαιτεί ιδιαίτερη

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

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

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

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

ΛΥΜΕΝΑ ΠΡΟΒΛΗΜΑΤΑ. Γράψτε τις επόμενες διαδικασίες σε όποια γλώσσα προγραμματισμού προτιμάτε:

ΛΥΜΕΝΑ ΠΡΟΒΛΗΜΑΤΑ. Γράψτε τις επόμενες διαδικασίες σε όποια γλώσσα προγραμματισμού προτιμάτε: ΛΥΜΕΝΑ ΠΡΟΒΛΗΜΑΤΑ Πρόβλημα 1: Το Πανεπιστήμιο Μακεδονίας, εφαρμόζοντας την αρχή της ισότητας μεταξύ των δύο φύλων μετέτρεψε τις τουαλέτες των φοιτητών σε κοινές τουαλέτες. Προς αποφυγή όμως παρεξηγήσεων

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

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

Λειτουργικά Συστήματα 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Λειτουργικά Συστήματα Ενότητα 11 : Δρομολόγηση Διεργασιών 1/3 Δημήτριος Λιαροκάπης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Τμήμα Μηχανικών Πληροφορικής

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

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

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

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

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

Εισαγωγή στα Λειτουργικά Συστήματα Εισαγωγή στα Λειτουργικά Συστήματα Ενότητα 3: Διεργασίες Ι Γεώργιος Φ. Φραγκούλης Τμήμα Ηλεκτρολόγων Μηχανικών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για

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

Καρακασίδης Αλέξανδρος Καστίδου Γεωργία Παπαφώτη Μαρία Πέτσιος Κων/νος Στέφανος Σαλτέας Καλογεράς Παναγιώτης. Threads in Java ΝΗΜΑΤΑ ΣΤΗ JAVA

Καρακασίδης Αλέξανδρος Καστίδου Γεωργία Παπαφώτη Μαρία Πέτσιος Κων/νος Στέφανος Σαλτέας Καλογεράς Παναγιώτης. Threads in Java ΝΗΜΑΤΑ ΣΤΗ JAVA Καρακασίδης Αλέξανδρος Καστίδου Γεωργία Παπαφώτη Μαρία Πέτσιος Κων/νος Στέφανος Σαλτέας Καλογεράς Παναγιώτης Threads in Java ΝΗΜΑΤΑ ΣΤΗ JAVA 1. Εισαγωγή Τι είναι Νήµα; Κάθε νήµα εκτέλεσης είναι ουσιαστικά

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

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

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

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

Λειτουργικά Συστήματα Πραγματικού Χρόνου

Λειτουργικά Συστήματα Πραγματικού Χρόνου Λειτουργικά Συστήματα Πραγματικού Χρόνου 2006-07 Λειτουργικά Συστήματα Πραγματικού Χρόνου Η χρήση του χρόνου Μ.Στεφανιδάκης Συστήματα πραγματικού χρόνου: ελεγκτής και ελεγχόμενο σύστημα real-time system

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

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

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

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

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

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

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

Ανάλυση επιδόσεων συστημάτων πραγματικού χρόνου

Ανάλυση επιδόσεων συστημάτων πραγματικού χρόνου Ανάλυση επιδόσεων συστημάτων πραγματικού χρόνου Τι είναι διεργασία; Διεργασία είναι ένα εκτελούμενο πρόγραμμα Η διεργασία είναι ενεργός οντότητα o έχει κατάσταση (τιμές μεταβλητών, τιμές καταχωρητών, δεδομένα

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

Τεχνολογία Υπολογιστικών Συστηµάτων & Λειτουργικά Συστήµατα Κεφάλαιο 8

Τεχνολογία Υπολογιστικών Συστηµάτων & Λειτουργικά Συστήµατα Κεφάλαιο 8 Τεχνολογία Υπολογιστικών Συστηµάτων & Λειτουργικά Συστήµατα Κεφάλαιο 8 Κεφάλαιο 8 ιαχείριση ΚΜΕ στα Λειτουργικά Συστήµατα Σκοπός του κεφαλαίου αυτού είναι να σου γνωρίσει τον τρόπο µε τον οποίο ένα λειτουργικό

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

Εργαστήριο ΔΙΕΡΓΑΣΙΕΣ - ΔΙΑΧΕΙΡΙΣΗ

Εργαστήριο ΔΙΕΡΓΑΣΙΕΣ - ΔΙΑΧΕΙΡΙΣΗ Εργαστήριο ΔΙΕΡΓΑΣΙΕΣ - ΔΙΑΧΕΙΡΙΣΗ Εισαγωγή Σκοπός τόσο αυτού του εργαστηρίου, όσο και των εργαστηρίων που ακολουθούν, είναι να γνωρίσουμε τους τρόπους δημιουργίας και διαχείρισης των διεργασιών (processes)

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

Κεφάλαιο 3: Λειτουργικά Συστήματα

Κεφάλαιο 3: Λειτουργικά Συστήματα Κεφάλαιο 3: Λειτουργικά Συστήματα (από το βιβλίο του Brookshear) B Μέρος Συντονισμός Δραστηριοτήτων Υπολογιστή Εισαγωγή Σήμερα θα περιγράψουμε πως ένα λειτουργικό σύστημα συντονίζει την εκτέλεση Λογισμικού

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

Εισαγωγή στα Λειτουργικά Συστήματα (Λ/Σ) Το UNIX και οι εντολές του Παρουσίαση 2

Εισαγωγή στα Λειτουργικά Συστήματα (Λ/Σ) Το UNIX και οι εντολές του Παρουσίαση 2 Λειτουργικά Συστήματα & Γλώσσες Προγραμματισμού Εισαγωγή στα Λειτουργικά Συστήματα (Λ/Σ) Το UNIX και οι εντολές του Παρουσίαση 2 1 Λειτουργικά Συστήματα & Γλώσσες Προγραμματισμού Διαφάνειες σύμφωνα με

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

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

Λειτουργικά Συστήματα (Λ/Σ) Λειτουργικά Συστήματα (Λ/Σ) Δομή Λειτουργικών Συστημάτων Βασίλης Σακκάς 20/11/2013 1 Δομή ενός Λ/Σ -1 Μονολιθικά συστήματα (monolithic systems) Λειτουργικά συστήματα με ανυπαρξία δομής: "η μεγάλη ακαταστασία"

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

Λειτουργικά συστήµατα. Λογισμικό Συστήματος 1

Λειτουργικά συστήµατα. Λογισμικό Συστήματος 1 Λειτουργικά συστήµατα Λογισμικό Συστήματος 1 Figure 3.1 Batch processing 0-2 Λογισμικό Συστήματος Figure 3.2 Interactive processing 0-3 Λογισμικό Συστήματος Figure 3.3 Software classification 0-4 Λογισμικό

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

Εργαστηριακή Άσκηση. Τμήμα Μηχανικών Πληροφορικής ΤΕ

Εργαστηριακή Άσκηση. Τμήμα Μηχανικών Πληροφορικής ΤΕ Εργαστηριακή Άσκηση Εργαστήριο Λειτουργικών Συστημάτων Οι First Come First Serve (FCFS), Shortest Job First (SJF), Round Robin (RR), Priority Weighted (PRI) Β. Τσακανίκας Β. Ταμπακάς Τμήμα Μηχανικών Πληροφορικής

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

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

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

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

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

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

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

Εισαγωγικά & Βασικές Έννοιες

Εισαγωγικά & Βασικές Έννοιες Εισαγωγικά & Βασικές Έννοιες ΙΙΙ 1 lalis@inf.uth.gr Γιατί πολλές διεργασίες/νήματα; Επίπεδο εφαρμογής Καλύτερη δόμηση κώδικα Αποφυγή μπλοκαρίσματος / περιοδικών ελέγχων Φυσική έκφραση παραλληλισμού Επίπεδο

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

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

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

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

Χρονοδρομολογητής Κυκλικής Επαναφοράς

Χρονοδρομολογητής Κυκλικής Επαναφοράς Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων 4 η Εργαστηριακή Άσκηση: Χρονοδρομολογητής Κυκλικής Επαναφοράς Λειτουργικά Συστήματα Υπολογιστών

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

6. Α ΙΕΞΟ Α Στέφανος Γκρίτζαλης Αναπληρωτής Καθηγητής Κωνσταντίνος Καραφασούλης ιδάσκων (Π 407) 6.1 ΠΟΡΟΙ (1/2) Υπάρχουν δύο τύποι πόρων σε υπολογιστικά συστήµατα: προεκχωρήσιµοι πόροι (preemptable resources):

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

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

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

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

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

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

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

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

Λειτουργικά Συστήματα (Λ/Σ) Λειτουργικά Συστήματα (Λ/Σ) Διαχείριση Μνήμης Βασίλης Σακκάς 6/12/2013 1 Διαχείριση Μνήμης 1 Το τμήμα του Λ/Σ που διαχειρίζεται τη μνήμη λέγεται Διαχειριστής Μνήμης (Memory manager). Καθήκον του είναι

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

Ενότητα 2 (Κεφάλαιο 3) Περιγραφή και Έλεγχος Διεργασιών. Περιεχόμενα. Ανάγκη ύπαρξης διεργασιών 1

Ενότητα 2 (Κεφάλαιο 3) Περιγραφή και Έλεγχος Διεργασιών. Περιεχόμενα. Ανάγκη ύπαρξης διεργασιών 1 ΕΠΛ222: Λειτουργικά Συστήματα (μετάφραση στα ελληνικά των διαφανειών του βιβλίου Operating Systems: Internals and Design Principles, 8/E, William Stallings) Ενότητα 2 (Κεφάλαιο 3) Περιγραφή και Έλεγχος

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

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

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

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

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

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ KΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr Λειτουργικά

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

Παράλληλη Επεξεργασία

Παράλληλη Επεξεργασία Παράλληλη Επεξεργασία Φροντιστήριο: Εισαγωγή στα Πολυεπεξεργαστικά Συστήματα Διερασίες και Νήματα σε Πολυεπεξεργαστικά Συστήματα Εργαστήριο Πληροφοριακών Συστημάτων Υψηλής Επίδοσης Parallel and Distributed

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

Μάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES)

Μάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES) Μάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES) Εισαγωγή H κεντρική μονάδα επεξεργασίας (ΚΜΕ) και η κύρια μνήμη αποτελούν τα βασικά δομικά στοιχεία ενός υπολογιστικού συστήματος. Η πρώτη εκτελεί εντολές χειρισμού δεδομένων

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

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

Πανεπιστήµιο Θεσσαλίας Πανεπιστήµιο Θεσσαλίας Τµήµα Πληροφορικής Ενότητα 8η: Συσκευές Ε/Ε - Αρτηρίες Άσκηση 1: Υπολογίστε το µέσο χρόνο ανάγνωσης ενός τµήµατος των 512 bytes σε µια µονάδα σκληρού δίσκου µε ταχύτητα περιστροφής

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

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

Λειτουργικά Συστήματα 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Λειτουργικά Συστήματα Ενότητα 1 : Εισαγωγή Δημήτριος Λιαροκάπης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Μηχανικών Πληροφορικής

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

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

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

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

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

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

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

Προσπέλαση κοινών πόρων Πρωτόκολλα ελέγχου αμοιβαίου αποκλεισμού

Προσπέλαση κοινών πόρων Πρωτόκολλα ελέγχου αμοιβαίου αποκλεισμού Λειτουργικά Συστήματα Πραγματικού Χρόνου 2006-07 Προσπέλαση κοινών πόρων Πρωτόκολλα ελέγχου αμοιβαίου αποκλεισμού Μ.Στεφανιδάκης Κοινοί πόροι Κοινοί (διαμοιραζόμενοι) πόροι με μία η περισσότερες μονάδες

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

Επικοινωνία µεταξύ ιεργασιών και Σύνδροµες ιεργασίες

Επικοινωνία µεταξύ ιεργασιών και Σύνδροµες ιεργασίες Επικοινωνία µεταξύ ιεργασιών και Σύνδροµες ιεργασίες Interprocess Communication and Concurrent Processes Περίληψη Σύνδροµος Προγραµµατισµός Συνθήκη συναγωνισµού Συγχρονισµός διεργασιών Κρίσιµες περιοχές

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

1. ΑΡΧΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

1. ΑΡΧΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 12 Σχεδιασμός Ανάπτυξη Λειτουργία Π.Σ. 1. ΑΡΧΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 1.1 Δυνατότητες Λειτουργικών Συστημάτων 1.1.1 Εισαγωγή Ο όρος Λειτουργικό Σύστημα (Operating System), εκφράζει το σύνολο των προγραμμάτων

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

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

Λειτουργικά Συστήματα ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Λειτουργικά Συστήματα Ενότητα 4α: Σημαφόροι, Πρόβλημα Συνδαιτυμόνων Φιλοσόφων, Αδιέξοδα Αθηνά Βακάλη Άδειες Χρήσης Το παρόν εκπαιδευτικό

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

Ορισµός Νήµα (thread) είναι µια ακολουθιακή ροή ελέγχου (δηλ. κάτι που έχει αρχή, ακολουθία εντολών και τέλος) σ ένα

Ορισµός Νήµα (thread) είναι µια ακολουθιακή ροή ελέγχου (δηλ. κάτι που έχει αρχή, ακολουθία εντολών και τέλος) σ ένα ΝΗΜΑΤΑ ΣΤΗ JAVA (1) Ορισµός Νήµα (thread) είναι µια ακολουθιακή ροή ελέγχου (δηλ. κάτι που έχει αρχή, ακολουθία εντολών και τέλος) σ ένα πρόγραµµα. Αιτία Η δυνατότητα αποµόνωσης (ή αυτονόµησης) κάποιων

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