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

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

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

Transcript

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

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

3 1. Εισαγωγή Αμοιβαίος αποκλεισμός: αποκλεισμός μιας διεργασίας από μια ενέργεια που επιτελεί ταυτοχρόνως κάποια άλλη διεργασία Απαιτεί μόνο μία διεργασία να πραγματοποιεί λειτουργίες σε κοινούς πόρους. Αν δύο διεργασίες προσπαθήσουν να αποκτήσουν ένα κοινό πόρο, τότε η μία θα πρέπει να αναμένει Για την αποφυγή των παρενεργειών λόγω ανταγωνισμού είναι ζωτικής σημασίας η πρόβλεψη και η αποτροπή χρήσης διαμοιραζόμενων πόρων από περισσότερες από μια διεργασίες την ίδια χρονική στιγμή. Είναι απαραίτητος για την προστασία των κρίσιμων τμημάτων των διεργασιών 3

4 Παράδειγμα (1) Κατάθεση 100 Ανάγνωση τρέχοντος υπολοίπου = 500 Απαίτηση ανάληψης 100 Χρονική καθυστέρηση Νέο υπόλοιπο= = 600 Εγγραφή νέου υπολοίπου στο δίσκο = 600 Ανάγνωση τρέχοντος υπολοίπου = 500 Νέο υπόλοιπο= = 400 Χρονική καθυστέρηση Εγγραφή νέου υπολοίπου στο δίσκο = 400 4

5 Παράδειγμα (2) Κατάθεση 100 Απαίτηση για κλείδωμα του λογαριασμού Ανάγνωση υπολοίπου από το δίσκο = 500 Απαίτηση ανάληψης 100 Απαίτηση για κλείδωμα του λογαριασμού Αναμονή υπόλοιπο = = 600 Εγγραφή νέου υπολοίπου στο δίσκο = 600 Απελευθέρωση λογαριασμού Δέσμευση λογαριασμού Ανάγνωση υπολοίπου = 600 Νέο υπόλοιπο = = 500 Εγγραφή νέου υπολοίπου στο δίσκο = 500 5

6 2. Κρίσιμα τμήματα (Critical Sections) Κρίσιμο τμήμα: μια ακολουθία εντολών μιας διεργασίας που απαιτεί πρόσβαση σε διαμοιραζόμενους πόρους και δεν πρέπει να εκτελεστεί ενόσω μια άλλη διεργασία βρίσκεται σε αντίστοιχο τμήμα κώδικα Η αποτελεσματικότητα της πολυεπεξεργασίας εξαρτάται από το μήκος του κρίσιμου τμήματος Πρέπει να είναι όσο το δυνατόν μικρότερο Το πλέον αναποτελεσματικό σενάριο Όλο το πρόγραμμα είναι ένα κρίσιμο τμήμα: δεν υπάρχει πολυπρογραμματισμός 6

7 Κρίσιμα Τμήματα Όταν μια διεργασία εκτελεί το κρίσιμο τμήμα της (ΚΤ), σε καμιά άλλη δεν μπορεί να επιτραπεί να εκτελεί το δικό της κρίσιμο τμήμα. Αν μπορούσε να διασφαλισθεί ότι ποτέ δύο ή περισσότερες διεργασίες δεν θα βρίσκονται ταυτόχρονα σε κρίσιμα τμήματα, τότε θα είχε επιτευχθεί η αποφυγή των συνθηκών ανταγωνισμού Ωστόσο αυτό δεν είναι αρκετό για τη σωστή και αποδοτική συνεργασία δύο ή περισσότερων παράλληλων διεργασιών Μια καλή λύση προϋποθέτει τις παρακάτω συνθήκες: 7

8 Συνθήκες για αμοιβαίο αποκλεισμό 1. Κάθε διεργασία μπορεί να διαιρεθεί σε δύο ακολουθίες (τμήματα ή περιοχές εντολών): το κρίσιμο τμήμα, δηλ. αυτό που προσπελάζει τον κοινό πόρο και δεν πρέπει να καταμεριστεί και το μη κρίσιμο τμήμα 2. Δυο διεργασίες δεν μπορούν να βρίσκονται ταυτόχρονα στα κρίσιμα τμήματά τους (αμοιβαίος αποκλεισμός) 3. Δεν επιτρέπονται υποθέσεις σε ότι αφορά την ταχύτητα ή το πλήθος των επεξεργαστών 4. Όταν μια διεργασία δεν εκτελεί το κρίσιμο τμήμα της δεν μπορεί να αναστείλει την εκτέλεση άλλης διεργασίας 8

9 Συνθήκες για αμοιβαίο αποκλεισμό 5. Το πρόγραμμα δεν επιτρέπεται να καταλήξει σε αδιέξοδο. 6. Αν περισσότερες της μιας διεργασίες προσπαθήσουν να εισέλθουν ταυτόχρονα στις κρίσιμες περιοχές τους, τότε μόνο μια πρέπει να επιτύχει (πρόοδος). 7. Δεν επιτρέπεται η επ αόριστον αναμονή μιας διεργασίας για να εισέλθει στο κρίσιμο τμήμα της (λιμοκτονία) 8. Αν δεν υπάρχει ανταγωνισμός για είσοδο σε μια κρίσιμη περιοχή, μια διεργασία θα πρέπει να εισέρχεται με την ελάχιστη δυνατή επιβάρυνση 9. Μια διεργασία παραμένει μέσα στο κρίσιμο τμήμα της για ορισμένο χρονικό διάστημα 9

10 Αμοιβαίος αποκλεισμός με κρίσιμα τμήματα 10

11 Κίνδυνοι λόγω του αμοιβαίου αποκλεισμού Οι λανθασμένες ή ελλιπείς λύσεις στο πρόβλημα του αμοιβαίου αποκλεισμού μπορούν να οδηγήσουν σε Παρατεταμένη στέρηση (starvation) Αδιέξοδο (deadlock) Ανεπάρκεια του συστήματος 11

12 3. Υλοποίηση του αμοιβαίου αποκλεισμού 1. Προσεγγίσεις λογισμικού με παραχώρηση της ευθύνης στον προγραμματιστή 2. Υποστήριξη εκ μέρους του υλικού με χρήση εντολών μηχανής ειδικού σκοπού (ατομικές λειτουργίες test και set) 3. Παροχή κάποιου επιπέδου υποστήριξης από το ΛΣ ή τη γλώσσα προγραμματισμού: σημαφόροι (semaphores) παρακολουθητές(monitors) μεταβίβαση μηνυμάτων Όλες οι λύσεις περιλαμβάνουν συνήθως κρίσιμα τμήματα 12

13 3.1. Προσεγγίσεις λογισμικού Υλοποιούνται για ταυτόχρονες διεργασίες που εκτελούνται σε έναν ή πολλαπλούς επεξεργαστές με διαμοιραζόμενη κύρια μνήμη Οι ταυτόχρονες προσβάσεις στην ίδια περιοχή της μνήμης διατάσσονται σειριακά, με κάποιο τρόπο διαχείρισης Η παραχώρηση της πρόσβασης δεν είναι εκ των προτέρων καθορισμένη. Δεν υπάρχει υποστήριξη σε επίπεδο υλικού, λειτουργικού συστήματος ή γλώσσας προγραμματισμού. 13

14 Ο αλγόριθμος του Dekker Κάθε προσπάθεια για αμοιβαίο αποκλεισμό πρέπει να στηρίζεται σε βασικούς μηχανισμούς απαγορεύσεων σε επίπεδο υλικού Ο πλέον συνήθης: Σε μια περιοχή (θέση) μνήμης επιτρέπεται μια πρόσβαση κάθε φορά. Υλοποίηση του αλγορίθμου Dekker με προσπάθειες αυξανόμενης δυσκολίας, όχι πάντοτε ορθές, για την ανίχνευση των λαθών 14

15 Dekker: 1 η προσπάθεια var turn: 0..1; /* shared */ Διεργασία 0: Διεργασία 1: while (turn!= 0) do nothing; <critical section> turn = 1; while (turn!= 1) do nothing; <critical section> turn = 0; Υλοποιείται ο αμοιβαίος αποκλεισμός αλλά Καταναλώνει χρόνο του επεξεργαστή (ενεργός αναμονή) Αυστηρή εναλλαγή των διεργασιών κατά την εκτέλεση των κρίσιμων τμημάτων τους 15

16 Dekker: 2 η προσπάθεια var flag: array[0..1] of Boolean; /* initialize both to false */ /* shared */ Διεργασία 0: while (flag[1]==true) do nothing; flag[0] = true; <critical section> flag[0] = false; Διεργασία 1: while (flag[0]==true) do nothing; flag[1] = true; <critical section> flag[1] = false; Μια διεργασία μπορεί να μεταβάλλει την κατάστασή της αφού έχει ελεγχθεί από την άλλη, αλλά πριν η άλλη διεργασία εισέλθει στο κρίσιμο τμήμα της. Και οι δύο διεργασίες θα βρίσκονται στο κρίσιμο τμήμα τους 16

17 3.2. Υποστήριξη εκ μέρους του υλικού Προβλήματα με τις προσεγγίσεις λογισμικού: Ενεργός αναμονή (busy waiting) επαναλαμβανόμενος έλεγχος μιας μεταβλητής με αποτέλεσμα να δαπανάται χρόνος της CPU πρέπει να αποφεύγεται Σύνθετοι αλγόριθμοι Οι αλγόριθμοι δουλεύουν μόνον με 2 διεργασίες. Μπορούν να επεκταθούν και σε n διεργασίες αλλά: Το πλήθος n πρέπει να είναι εξ αρχής γνωστό Οι αλγόριθμοι γίνονται ακόμη πιο σύνθετοι Η εφαρμογή ενός μηχανισμού αμοιβαίου αποκλεισμού είναι δύσκολη 17

18 Υλικό και αμοιβαίος αποκλεισμός Το υλικό (hardware) μπορεί να παρέχει αποτελεσματική και γενική λύση Το υλικό που απαιτείται για να υποστηρίξει κρίσιμα τμήματα πρέπει να έχει: Αδιαίρετες εντολές Ατομικές (atomic) εντολές load, store, test. Αν δύο ατομικές εντολές εκτελεστούν ταυτόχρονα, πρέπει να συμπεριφερθούν σαν να εκτελούνται σειριακά. Οι σύγχρονοι μικροεπεξεργαστές διαθέτουν εντολές υλικού που υποστηρίζουν τον αμοιβαίο αποκλεισμό 18

19 Α. Απενεργοποίηση Διακοπών while (true) { /* disable interrupts */; /* critical section */; /* enable interrupts */; /* remainder */;} Οι διακοπές απενεργοποιούνται κατά τη χρονική περίοδο που απαιτείται ο αμοιβαίος αποκλεισμός Χωρίς διακοπές δεν μπορεί να συμβεί εναλλαγή διεργασιών Είναι επικίνδυνη: μια διεργασία μπορεί να αποκλείσει τη διαθεσιμότητα του συστήματος Χρησιμοποιείται σε συστήματα ειδικής χρήσης με περιορισμένο υλικό 19

20 Μειονεκτήματα Υψηλό κόστος Μείωση αποτελεσματικότητας εκτέλεσης Περιορισμός δυνατότητας εναλλαγής προγραμμάτων Χρήσιμη τεχνική για τον πυρήνα άλλα όχι για τις διεργασίες Σε συστήματα πολλών επεξεργαστών δεν εγγυάται ο αμοιβαίος αποκλεισμός: Η απενεργοποίηση διακοπών επηρεάζει μόνον έναν επεξεργαστή Οι υπόλοιποι επιτρέπουν τη μεταβολή των περιεχομένων της κοινής περιοχής μνήμης 20

21 Β. Ειδικές Εντολές Μηχανής Πολλές CPU παρέχουν εντολές υλικού για την ανάγνωση, τροποποίηση και την εγγραφή μιας θέσης μνήμης ατομικά. Οι πιο κοινές εντολές με αυτή τη δυνατότητα είναι : TAS: test-and-set xchg: exchange Βασική ιδέα: ανάγνωση και μεταβολή της τιμής μιας θέσης μνήμης σε έναν κύκλο εντολής που δεν διακόπτεται. Εκτέλεσης λειτουργιών σε έναν κύκλο μηχανής: αποφυγή παρεμβολών από άλλες εντολές 21

22 Αμοιβαίος Αποκλεισμός με Test and Set Η TAS είναι εντολή του επεξεργαστή η οποία εκτελείται αδιαίρετα σε ένα κύκλο μηχανής Η TAS διαβάζει και επιστρέφει την τρέχουσα τιμή μιας μεταβλητής, ενώ της αναθέτει τιμή true Η TAS και η χρήση της για την επίτευξη αμοιβαίου αποκλεισμού μπορούν να περιγραφούν στη γλώσσα C ως: var lock: false; int TAS(int* lock){ } int tmp; tmp = *lock; *lock = true; return tmp; /* shared */ while (TAS(&lock)==true) do nothing; <critical section> lock = false; <remainder> 22

23 Πλεονεκτήματα Ειδικών Εντολών Εφαρμογή σε οποιοδήποτε αριθμό διεργασιών Χρησιμοποίηση σε έναν ή πολλούς επεξεργαστές που διαμοιράζονται μια κοινή μνήμη Απλή και εύκολη στην επαλήθευση Υποστήριξη πολλαπλών κρίσιμων τμημάτων π.χ. μια ξεχωριστή μεταβλητή για κάθε κρίσιμο τμήμα 23

24 Μειονεκτήματα Απασχόληση ενεργούς αναμονής (busy waiting) Καθώς μια διεργασία αναμένει για πρόσβαση στο κρίσιμο τμήμα, συνεχίζει να καταναλώνει χρόνο του επεξεργαστή Παρατεταμένη στέρηση είναι πιθανή (starvation) Η επιλογή για είσοδο σε μια διεργασία είναι αυθαίρετη όταν πολλαπλές διεργασίες συναγωνίζονται για να εισέλθουν στο κρίσιμο τμήμα Πιθανότητα αδιεξόδου Αν μια διεργασία χαμηλής προτεραιότητας P1 εκτελεί την ειδική εντολή μηχανής, εισέρχεται στο κρίσιμο τμήμα της και μια μεγαλύτερης προτεραιότητας διεργασία P2 πάρει τον έλεγχο του επεξεργαστή, η P2 θα περιμένει να αποκτήσει τον έλεγχο του πόρου, εισερχόμενη σε βρόγχο ενεργού αναμονής Το πρόβλημα αυτό εμφανίζεται και στις προσεγγίσεις λογισμικού 24

25 3.3 Προσεγγίσεις Αναστολής Εκτέλεσης Εναλλακτικά στην ενεργό αναμονή, που είναι αναποτελεσματική και επιρρεπής σε αδιέξοδα, μπορεί να χρησιμοποιηθεί η προσέγγιση προσωρινής αναστολής εκτέλεσης (sleep wakeup) Εφαρμόζεται από τους σημαφόρους ή σηματοφορείς (semaphores) δηλ. γίνεται προσέγγιση χρησιμοποιώντας μηχανισμούς του ΛΣ και των γλωσσών προγραμματισμού 25

26 Σημαφόροι (semaphores) Η βασική αρχή: δύο ή περισσότερες διεργασίες μπορούν να συνεργαστούν με τη χρήση απλών σημάτων Κάθε διεργασία επιβάλλεται να σταματήσει σε μια συγκεκριμένη θέση, μέχρι να παραλάβει ένα συγκεκριμένο σήμα. Για τη δημιουργία σημάτων χρησιμοποιούνται ειδικές μεταβλητές, οι σημαφόροι (ή σηματοφορείς). Σημαφόρος: μεταβλητή συγχρονισμού που λαμβάνει ακέραιες θετικές τιμές ή μηδέν και μπορεί να αρχικοποιηθεί. Διαθέτει μια ουρά από συσχετιζόμενες διεργασίες τις οποίες εξυπηρετεί. Ανακαλύφθηκαν στα μέσα της δεκαετίας του 1960 για να επιλύουν προβλήματα συγχρονισμού μεταξύ διεργασιών. Οι σημαφόροι είναι απλοί και κομψοί και επιλύουν πολλά ενδιαφέροντα προβλήματα και όχι μόνον τον αμοιβαίο αποκλεισμό. 26

27 Λειτουργίες σημαφόρων Βασικές ατομικές λειτουργίες σε σημαφόρους P ή wait V ή signal P (semaphore) - wait: Ατομική λειτουργία που αναμένει για τον σημαφόρο να γίνει >0, έπειτα τον μειώνει κατά 1 Αν ο σημαφόρος είναι μηδέν, η διεργασία μπλοκάρεται και αναμένει σε μία ουρά μπλοκαρισμένων διεργασιών για το σημαφόρο Μόλις ο σημαφόρος γίνει >0 μία από τις διεργασίες της ουράς «ξυπνά», μειώνει το σημαφόρο κατά 1 και ολοκληρώνει τη wait Καλείται πριν την είσοδο στο κρίσιμο τμήμα 27

28 Λειτουργίες σημαφόρων V (semaphore) - signal: Ατομική λειτουργία που αυξάνει τον σημαφόρο κατά 1 Η λειτουργία αυτή επιτρέπει στις διεργασίες που έχουν μπλοκαριστεί στη wait να ξεκολλήσουν Καλείται κατά την έξοδο από το κρίσιμο τμήμα 28

29 Είδη σημαφόρων Δυαδικοί σημαφόροι (binary semaphores) - τιμές 0 και 1 Χρησιμοποιούνται για να επιτευχθεί ο αμοιβαίος αποκλεισμός Μετρητές σημαφόροι (counting semaphores) Μπορούν να λάβουν οποιαδήποτε μη αρνητική τιμή Χρησιμοποιούνται για τη διαχείριση των περιορισμένων πόρων των συστημάτων 29

30 Ιδιότητες σημαφόρων Ανεξάρτητοι του υλικού Απλοί Λειτουργούν με πολλές διεργασίες Μπορούν να υπάρχουν πολλά κρίσιμα τμήματα στον κώδικα, το καθένα με τον δικό του σημαφόρο Μπορούν να αποκτούν πολλούς πόρους ταυτόχρονα Κάθε σημαφόρος έχει μια ακέραια τιμή και μια ουρά από συσχετιζόμενες διεργασίες τις οποίες εξυπηρετεί Μη ύπαρξη ενεργούς αναμονής 30

31 Αμοιβαίος αποκλεισμός με σημαφόρους Χρήση δυαδικού σημαφόρου που αρχικοποιείται στην τιμή 1 Semaphore Q: 1; /* shared */ wait(q); <critical section> signal(q); <remainder> 31

32 Παράδειγμα σημαφόρου Έστω οι διεργασίες P1 και P2 Στόχος: η διεργασία P2 να εκτελεστεί υποχρεωτικά μετά από την P1 Χρησιμοποιείται ένας κοινός σημαφόρος με όνομα synch για να συγχρονίσει τις λειτουργίες των δύο σύγχρονων διεργασιών Οι εντολές wait, signal χρησιμοποιούνται για να καθυστερήσουν την P2 μέχρι να ολοκληρωθεί η P1 Ο σημαφόρος synch αρχικοποιείται με τιμή 0 32

33 Παράδειγμα σημαφόρου P1 εντολές της P1 signal(synch); Ολοκλήρωση εκτέλεσης P2 αφού synch = 0, παραμένει ανενεργή μέχρις ότου εκτελεστεί η signal στη P1 wait(synch); Λαμβάνει signal από P1 εντολές της P2 33

34 Συγχρονισμός Εκτέλεσης Εκτέλεση του τμήματος Β στη διεργασία P2 μετά από την εκτέλεση του τμήματος Α στη διεργασία P1 Χρήση ενός σημαφόρου flag με αρχική τιμή 0 Κώδικας : P1 P2 A signal(flag) wait(flag) B 34

35 Αδιέξοδο με σημαφόρους Οι σημαφόροι πρέπει να χρησιμοποιούνται με προσοχή (αρχικά S=Q=1) P0 wait(s); wait(q); P1 wait(q); wait(s); P0 περιμένει την P1 να εκτελέσει signal(q) P1 περιμένει την P0 να εκτελέσει signal(s) Και οι δύο διεργασίες βρίσκονται σε αδιέξοδο 35

36 Παράδειγμα Τρεις διεργασίες διαμοιράζονται έναν πόρο στον οποίο Μία σχεδιάζει ένα A Μία σχεδιάζει ένα B Μία σχεδιάζει ένα C Να υλοποιήσετε μια μορφή συγχρονισμού έτσι ώστε να εμφανίζονται κατά σειρά τα γράμματα A B C Process A Process B Process C think(); think(); think(); draw_a(); draw_b(); draw_c(); 36

37 Λύση με Σημαφόρους Semaphore b = 0, c = 0; Process A Process B Process C think(); wait(b); wait(c); draw_a(); think(); think(); signal(b); draw_b(); draw_c(); signal(c); 37

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

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

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

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

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

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

Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi

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

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

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

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

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

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

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

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

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

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

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

Αμοιβαίος αποκλεισμός με κοινή μνήμη. Ταυτόχρονος Προγραμματισμός 1

Αμοιβαίος αποκλεισμός με κοινή μνήμη. Ταυτόχρονος Προγραμματισμός 1 Αμοιβαίος αποκλεισμός με κοινή μνήμη 1 lalis@inf.uth.gr Το πρόβλημα Έστω ότι δύο η περισσότερα νήματα επιθυμούν να προσπελάσουν έναν κοινό πόρο, που όμως δεν μπορεί να χρησιμοποιηθεί ταυτόχρονα Η χρήση

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

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

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

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

Αμοιβαίος αποκλεισμός με κοινή μνήμη. Ταυτόχρονος Προγραμματισμός 1

Αμοιβαίος αποκλεισμός με κοινή μνήμη. Ταυτόχρονος Προγραμματισμός 1 Αμοιβαίος αποκλεισμός με κοινή μνήμη 1 lalis@inf.uth.gr Το πρόβλημα Έστω ότι δύο η περισσότερα νήματα επιθυμούν να προσπελάσουν έναν κοινό πόρο, που όμως δεν μπορεί να χρησιμοποιηθεί ταυτόχρονα Η χρήση

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Λειτουργικά Συστήματα Η/Υ Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 7 «Διαχείριση Μνήμης» Διδάσκων: Δ. Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας 1 Κύρια Μνήμη 1. Εισαγωγή 2. Βασική διαχείριση μνήμης 3. Μνήμη και πολυπρογραμματισμός 4. Τμηματοποίηση

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

Αμοιβαίος αποκλεισμός με κοινή μνήμη. Ταυτόχρονος Προγραμματισμός 1

Αμοιβαίος αποκλεισμός με κοινή μνήμη. Ταυτόχρονος Προγραμματισμός 1 Αμοιβαίος αποκλεισμός με κοινή μνήμη 1 lalis@inf.uth.gr Το πρόβλημα Έστω ότι δύο η περισσότερα νήματα επιθυμούν να προσπελάσουν έναν κοινό πόρο, που όμως δεν μπορεί να χρησιμοποιηθεί ταυτόχρονα Η χρήση

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Λειτουργικά Συστήματα Η/Υ Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 6 «Αδιέξοδο» Διδάσκων: Δ. Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας 1 Αδιέξοδο 1. Ορισμοί είδη πόρων 2. Γράφοι εκχώρησης πόρων 3. Συνθήκες αδιεξόδου 4. Προσεγγίσεις αδιεξόδου

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

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

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

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

6. Αδιέξοδο. 1. Ορισμοί είδη πόρων. 3. Συνθήκες αδιεξόδου. 1. Πρόληψη 2. Αποφυγή 3. Ανίχνευση 5. Το πρόβλημα των συνδαιτημόνων φιλοσόφων

6. Αδιέξοδο. 1. Ορισμοί είδη πόρων. 3. Συνθήκες αδιεξόδου. 1. Πρόληψη 2. Αποφυγή 3. Ανίχνευση 5. Το πρόβλημα των συνδαιτημόνων φιλοσόφων 6. Αδιέξοδο 1. Ορισμοί είδη πόρων 2. Γράφοι εκχώρησης πόρων 3. Συνθήκες αδιεξόδου 4. Προσεγγίσεις αδιεξόδου 1. Πρόληψη 2. Αποφυγή 3. Ανίχνευση 5. Το πρόβλημα των συνδαιτημόνων φιλοσόφων ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

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

Αδιέξοδα (Deadlocks)

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

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

Σηματοφόροι (Σηματοφορείς) Ταυτόχρονος Προγραμματισμός 1

Σηματοφόροι (Σηματοφορείς) Ταυτόχρονος Προγραμματισμός 1 Σηματοφόροι (Σηματοφορείς) 1 lalis@inf.uth.gr Αποφυγή ενεργής αναμονής if () { WAIT(); Μπορεί να γίνει εναλλαγή αφού το νήμα κάνει τον έλεγχο της συνθήκης αναμονής και την βρει αληθή, αλλά προτού αυτό

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

Υλοποίηση Σηματοφόρων

Υλοποίηση Σηματοφόρων Υλοποίηση Σηματοφόρων 1 lalis@inf.uth.gr Υλοποίηση σε επίπεδο συστήματος Εσωτερική κατάσταση: Ένας ακέραιος για την αποθήκευση της τιμής του σηματοφόρου Μια ουρά αναμονής που τοποθετείται ένα νήμα όταν

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

Ελεγκτές/Παρακολουθητές (Monitors) Ταυτόχρονος Προγραμματισμός 1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Σηματοφόροι (Σηματοφορείς) Ταυτόχρονος Προγραμματισμός 1

Σηματοφόροι (Σηματοφορείς) Ταυτόχρονος Προγραμματισμός 1 Σηματοφόροι (Σηματοφορείς) 1 lalis@inf.uth.gr Αποφυγή ενεργής αναμονής εναλλαγή if/while () { WAIT(); Μπορεί να γίνει εναλλαγή αφού το νήμα κάνει τον έλεγχο της συνθήκης αναμονής και την βρει αληθή, αλλά

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

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

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

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

Ενότητα 4 (Κεφάλαιο 5) Συντρέχων Προγραμματισμός

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κρίσιμη Περιοχή Υπό Συνθήκη (Conditional Critical Regions) Ταυτόχρονος Προγραμματισμός 1

Κρίσιμη Περιοχή Υπό Συνθήκη (Conditional Critical Regions) Ταυτόχρονος Προγραμματισμός 1 Κρίσιμη Περιοχή Υπό Συνθήκη (onditional ritical Regions) Ταυτόχρονος Προγραμματισμός 1 lalis@inf.uth.gr Πέρα από ελεγκτές Ο ελεγκτής είναι χρήσιμο εργαλείο συγχρονισμού παρέχει στον προγραμματιστή εγγυημένο

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Συγχρονισμός & σηματοφόροι. Προγραμματισμός II 1

Συγχρονισμός & σηματοφόροι. Προγραμματισμός II 1 Συγχρονισμός & σηματοφόροι Προγραμματισμός II 1 lalis@inf.uth.gr Ταυτόχρονη εκτέλεση Οι διεργασίες εκτελούνται ταυτόχρονα μεταξύ τους Ο προγραμματιστής δεν ελέγχει την εναλλαγή Τι γίνεται αν δύο ή περισσότερες

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

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

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

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

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

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

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

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

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

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

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

Λειτουργικά Συστήματα Η/Υ Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 4 «Αρχιτεκτονικές ΛΣ» Διδάσκων: Δ Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας 1 1. Μονολιθικά συστήματα Αρχιτεκτονικές ΛΣ 2. Στρωματοποιημένη αρχιτεκτονική 3. Αρχιτεκτονική

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

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

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

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

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

Λειτουργικά Συστήματα (ΗΥ222) Λειτουργικά Συστήματα (ΗΥ222) Διάλεξη 5: Αδιέξοδα Συγχρονισμός στον Πραγματικό Κόσμο Χρειάζεται οποτεδήποτε > 1 χρήστης πόρου Λίγο πολύ οι ίδιες λύσεις με τον πραγματικό κόσμο: κλείδωμα (στo WC), χρονοπρογραμματισμός

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

Συγχρονισμός Μέρος Α : Κρίσιμο τμήμα και κλειδώματα

Συγχρονισμός Μέρος Α : Κρίσιμο τμήμα και κλειδώματα Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Συγχρονισμός Μέρος Α : Κρίσιμο τμήμα και κλειδώματα 9 ο Εξάμηνο Η ανάγκη για συγχρονισμό

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

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

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

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

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

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

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

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

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

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

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

Λειτουργικά Συστήματα Η/Υ Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 8 «Ιδεατή Μνήμη» Διδάσκων: Δ. Λιαροκαπης Διαφάνειες: Π. Χατζηδούκας Ιδεατή Μνήμη Οργάνωση. Εισαγωγή. Ιδεατές και πραγματικές διευθύνσεις. Λογική οργάνωση. Τμηματοποίηση

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

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

Λειτουργικά Συστήματα Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Λειτουργικά Συστήματα Ενότητα 4: Σήματα. Διαδιεργασιακή Επικοινωνία. Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής

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

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

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

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

ΚΕΦΑΛΑΙΟ 9. Ταυτόχρονος προγραμματισμός και νήματα. 9.1 Εισαγωγή

ΚΕΦΑΛΑΙΟ 9. Ταυτόχρονος προγραμματισμός και νήματα. 9.1 Εισαγωγή ΚΕΦΑΛΑΙΟ 9 Ταυτόχρονος προγραμματισμός και νήματα Σύνοψη Σε αυτό το κεφάλαιο πραγματευόμαστε τον ταυτόχρονο προγραμματισμό με τη χρήση νημάτων. Η έμφαση είναι στην κατανόηση βασικών λειτουργιών των νημάτων

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

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

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

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

Ελεγκτές/Παρακολουθητές (Monitors) Ταυτόχρονος Προγραμματισμός 1

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

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

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

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

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

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

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

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

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

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

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

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

Λειτουργικά Συστήματα Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Λειτουργικά Συστήματα Ενότητα 4: Σήματα. Διαδιεργασιακή Επικοινωνία. Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής

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

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

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

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

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

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

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

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

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

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

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

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Προπτυχιακό Πρόγραμμα Σπουδών Πληροφορική - ΠΛΗ 11-2005 - 06 ΕΠΑΝΑΛΗΠΤΙΚΗ ΤΕΛΙΚΗ ΕΞΕΤΑΣΗ 8 ΙΟΥΛΙΟΥ 2006 ΜΕΡΟΣ Α'. ΕΡΩΤΗΣΕΙΣ ΠΟΛΛΑΠΛΩΝ ΕΠΙΛΟΓΩΝ [ΔΙΑΡΚΕΙΑ ΕΞΕΤΑΣΗΣ: 45 ] Σε κάθε ερώτηση απαντάτε επιλέγοντας

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

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

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

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

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

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

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

Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά

Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά Ηλ. Γκρίνιας Τ. Ε. Ι. Σερρών Τμήμα Πληροφορικής και Επικοινωνιών Αλγόριθμοι Ορισμός: ο αλγόριθμος είναι μια σειρά από πεπερασμένα βήματα που καθορίζουν

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

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

Εισαγωγή στην πληροφορική Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόμων Τοπογράφων Μηχανικών Εισαγωγή στην πληροφορική Βασίλειος Βεσκούκης Δρ. Ηλεκτρολόγος Μηχανικός & Μηχανικός Υπολογιστών ΕΜΠ v.vescoukis@cs.ntua.gr Η γλώσσα προγραμματισμού

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

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

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

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

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

Αδιέξοδα Ανάθεση Πόρων (Deadlocks Resource Allocation) Αδιέξοδα Ανάθεση Πόρων (Deadlocks Resource Allocation) Για τη δηµιουργία των διαφανειών έχει χρησιµοποιηθεί υλικό από τις διαφάνειες παραδόσεων που βασίζονται στο βιβλίο, Silberschatz, Galvin and Gagne,

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

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

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

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

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

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

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

ΑΔΙΕΞΟΔΑ (Deadlocks) Παράδειγμα 1 Θανάσιμο αγκάλιασμα (deadly embrace)

ΑΔΙΕΞΟΔΑ (Deadlocks) Παράδειγμα 1 Θανάσιμο αγκάλιασμα (deadly embrace) Παράδειγμα 1 Ένα σύστημα με έναν εκτυπωτή και ένα σαρωτή εγγράφων Δύο διεργασίες Ρ1 και Ρ2 Η Ρ1 δεσμεύει τον εκτυπωτή Η Ρ2 δεσμεύει το σαρωτή Η Ρ1 ζητά το σαρωτή και εμποδίζεται Η Ρ2 ζητά τον εκτυπωτή

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2. Σκοποί και Λειτουργίες των ΛΣ. Λειτουργικά Συστήματα Η/Υ. Περίληψη. Ι. Προστασία Υλικού ΚΕΦΑΛΑΙΟ 2 - ΕΞΕΛΙΞΗ ΚΑΙ ΣΚΟΠΟΙ ΛΣ

2. Σκοποί και Λειτουργίες των ΛΣ. Λειτουργικά Συστήματα Η/Υ. Περίληψη. Ι. Προστασία Υλικού ΚΕΦΑΛΑΙΟ 2 - ΕΞΕΛΙΞΗ ΚΑΙ ΣΚΟΠΟΙ ΛΣ 2. Σκοποί και Λειτουργίες των ΛΣ Λειτουργικά Συστήματα Η/Υ I. Προστασία του υλικού II. Επικοινωνία με τον χρήστη III. Διαχείριση, αξιοποίηση και έλεγχος πόρων IV. Ικανότητα και ευκολία εξέλιξης Κεφάλαιο

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

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

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

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

Ένα αφαιρετικό πραγματικού χρόνου μοντέλο λειτουργικού συστήματος για MPSoC

Ένα αφαιρετικό πραγματικού χρόνου μοντέλο λειτουργικού συστήματος για MPSoC Ένα αφαιρετικό πραγματικού χρόνου μοντέλο λειτουργικού συστήματος για MPSoC Αρχιτεκτονική Πλατφόρμας Μπορεί να μοντελοποιηθεί σαν ένα σύνολο από διασυνδεδεμένα κομμάτια: 1. Στοιχεία επεξεργασίας (processing

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

2.3 Επικοινωνία Διεργασιών

2.3 Επικοινωνία Διεργασιών 2.3 Επικοινωνία Διεργασιών 2.3.3 Η λύση του Peterson. (για 2 διεργασίες) Το σενάριο περιλαμβάνει 2 διεργασίες. Υπάρχουν 2 ρουτίνες που καλούνται για να μπούν και να βγούν οι διεργασίες σε/από critical

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Παράλληλη Επεξεργασία Κεφάλαιο 5 Μοίρασμα Δεδομένων

Παράλληλη Επεξεργασία Κεφάλαιο 5 Μοίρασμα Δεδομένων Παράλληλη Επεξεργασία Κεφάλαιο 5 Μοίρασμα Δεδομένων Κωνσταντίνος Μαργαρίτης Καθηγητής Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας kmarg@uom.gr http://eos.uom.gr/~kmarg Αρετή Καπτάν Υποψήφια

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