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

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

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

Transcript

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

2 ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΔΙΕΡΓΑΣΙΕΣ Διεργασία (Process) είναι η αφαιρετική θεώρηση ενός προγράμματος που εκτελείται. Η διεργασία δεν ταυτίζεται με ένα πρόγραμμα, αφού η διεργασία είναι η δραστηριότητα (activity) εκτέλεσης ενός προγράμματος. Περιλαμβάνει ένα πρόγραμμα Είσοδο έξοδο Βρίσκεται σε μια κατάσταση. Παράδειγμα: Μαγειρική (Συνταγή: Πρόγραμμα, Μάγειρας: CPU, Υλικά: Είσοδος) Πρώτες Βοήθειες 2

3 ΤΟ ΜΟΝΤΕΛΟ ΤΩΝ ΔΙΕΡΓΑΣΙΩΝ Από Εννοιολογική άποψη κάθε διεργασία έχει τη δική της (εικονική) CPU (β) Για την επίτευξη ψευδοπαραλληλισμού (pseudoparallelism) το εκτελέσιμο λογισμικό στον υπολογιστή, οργανώνεται σε διεργασίες (processes). Η ταχύτατη εναλλαγή από διεργασία σε διεργασία ονομάζεται πολυπρογραμματισμός (α). Μόνο μια διεργασία είναι ενεργή σε μια συγκεκριμένη χρονική στιγμή (γ) 3

4 Η ΔΗΜΙΟΥΡΓΙΑ ΤΩΝ ΔΙΕΡΓΑΣΙΩΝ Στα απλά συστήματα όλες οι απαιτούμενες διεργασίες μπορούν να εκτελούνται αμέσως μετά την εκκίνηση του συστήματος. Στα συστήματα γενικής χρήσης απαιτείται κάποιος μηχανισμός δημιουργίας / τερματισμού των διεργασιών: 1. Αρχικοποίηση Συστήματος Κάποιες εκτελούνται στο προσκήνιο και εξυπηρετούν χρήστες Κάποιες εκτελούνται στο παρασκήνιο (γνωστές ως «Δαίμονες»). 2. Εκτέλεση μίας κλήσης συστήματος (System Call) από μια διεργασία που εκτελείται και έχει σαν αποτέλεσμα τη δημιουργία μίας άλλης Δημιουργία νέων (βοηθητικών) διεργασιών Ιδιαίτερα χρήσιμο σε περιπτώσεις που μια εργασία μπορεί να επιμεριστεί σε πολλές επιμέρους διεργασίες 3. Η αίτηση κάποιου χρήστη για τη δημιουργία μιας νέας διεργασίας Double-click σε περιβάλλον windows Το ξεκίνημα μιας εργασίας δέσμης Δημιουργία διεργασίας για την εκτέλεση της επόμενης εργασίας στην ουρά εισόδου 4

5 Η ΔΗΜΙΟΥΡΓΙΑ ΤΩΝ ΔΙΕΡΓΑΣΙΩΝ Σε όλες τις περιπτώσεις, μια ήδη υπάρχουσα διεργασία (που μπορεί να είναι μια εκτελούμενη διεργασία χρήστη, διεργασία συστήματος ή διεργασία του διαχειριστή δέσμης) εκτελεί μια κλήση συστήματος με αποτέλεσμα τη δημιουργία μιας νέας διεργασίας. Η κλήση συστήματος fork είναι ο μοναδικός τρόπος δημιουργίας μιας διεργασίας στο UNIX H CreateProcess χειρίζεται τη δημιουργία μιας νέας διεργασίας στα Windows. 5

6 ΤΕΡΜΑΤΙΣΜΟΣ ΤΩΝ ΔΙΕΡΓΑΣΙΩΝ Ο τερματισμός μιας διεργασίας γίνεται για κάποια από τις παρακάτω συνθήκες: Κανονική έξοδος Τερματίζεται οικειοθελώς αφού ολοκλήρωσε την εργασία της (exit στο UNIX, ExitProcess στα Windows) Έξοδος που προκλήθηκε από σφάλμα Η διεργασία ανακαλύπτει ένα μοιραίο σφάλμα (π.χ. Μη ύπαρξη κάποιου αρχείου) και τερματίζει τη λειτουργία της οικειοθελώς. Μοιραίο Σφάλμα Σφάλμα στο κώδικα που προκαλεί ανοικειοθελή τερματισμό της λειτουργίας Τερματισμός από ενέργεια άλλης διεργασίας. Αποτέλεσμα άλλης διεργασίας η οποία προτείνει στο λειτουργικό να σκοτώσει μια άλλη διεργασία (Kill, TerminateProcess) 6

7 ΙΕΡΑΡΧΙΕΣ ΔΙΕΡΓΑΣΙΩΝ Όταν μια διεργασία δημιουργεί μια άλλη, η μητρική διεργασία σχετίζεται με την θυγατρική με συγκεκριμένους τρόπους. Η θυγατρική με τη σειρά της δημιουργεί άλλες διεργασίες και έτσι δημιουργούνται ιεραρχίες διεργασιών. Στο UNIX μια διεργασία μαζί με τα παιδιά της σχηματίζει μια Ομάδα. Όταν υπάρξει κάποιο σήμα, το σήμα διανέμεται σε όλα τα μέλη της ομάδας που είναι ενεργά και κάθε ένα μπορεί να το επεξεργαστεί με τον τρόπο του ή να το αγνοήσει. Το UNIX παίρνει αρχικές ρυθμίσεις κατά την εκκίνηση του από μια διεργασία init, στη συνέχεια δημιουργεί μια διεργασία για κάθε τερματικό, στη συνέχεια δημιουργείται ένα κέλυφος για κάποιο χρήστη που συνδέθηκε σε κάποιο τερματικό κ.ο.κ. Συνεπώς όλες οι διεργασίες ανήκουν σ ένα δέντρο με ρίζα την init. Στα Windows όλες οι διεργασίες είναι ισοδύναμες και δεν υπάρχει η έννοια της ιεραρχίας. Μια διεργασία έχει τη δυνατότητα να μεταβιβάσει μια θυγατρική διεργασία της σε κάποια άλλη διεργασία (παρακάμπτοντας την ιεραρχία). 7

8 ΚΑΤΑΣΤΑΣΕΙΣ ΔΙΕΡΓΑΣΙΩΝ Η αλληλεπίδραση μεταξύ διεργασιών οδηγεί στην αναγκαιότητα ύπαρξης διαφόρων καταστάσεων στις οποίες μπορούν να βρεθούν οι διάφορες διεργασίες, π.χ. cat chapter1 chapter2 grep tree Μια διεργασία μπορεί να πρέπει να μπλοκαριστεί επειδή: Περιμένει κάποια δεδομένα εισόδου που δεν είναι διαθέσιμα Δεν έχει χρόνο η CPU 8

9 ΚΑΤΑΣΤΑΣΕΙΣ ΔΙΕΡΓΑΣΙΩΝ Οι τρεις δυνατές καταστάσεις στις οποίες μπορεί να βρεθεί μια διεργασία είναι: εκτελούμενη (running) έτοιμη προς εκτέλεση ή εκτελέσιμη (ready or runnable) υπό αναστολή (blocked). 9

10 ΚΑΤΑΣΤΑΣΕΙΣ ΔΙΕΡΓΑΣΙΩΝ Οι δυνατές μεταβάσεις μεταξύ καταστάσεων διεργασιών είναι: [1] εκτελούμενη υπό αναστολή Η διεργασία αναμένει δεδομένα εισόδου [2] εκτελούμενη εκτελέσιμη Ο χρονοπρογραμματιστής επιλέγει άλλη διεργασία [3] εκτελέσιμη εκτελούμενη Ο χρονοπρογραμματιστής επιλέγει τη συγκεκριμένη διεργασία [4] υπό αναστολή εκτελέσιμη Τα δεδομένα εισόδου είναι διαθέσιμα 10

11 ΚΑΤΑΣΤΑΣΕΙΣ ΔΙΕΡΓΑΣΙΩΝ Το χαμηλότερο επίπεδο ενός λειτουργικού συστήματος, το οποίο είναι δομημένο με βάση τις διεργασίες αναλαμβάνει το χειρισμό των διακοπών και το χρονοπρογραμματισμό. Πάνω από το επίπεδο αυτό βρίσκονται σειριακές διεργασίες. 11

12 ΥΛΟΠΟΙΗΣΗ ΔΙΕΡΓΑΣΙΩΝ Για την υλοποίηση του μοντέλου διεργασιών, το Λ.Σ. οικοδομεί μία δομή από όμοιες εγγραφές, τον πίνακα διεργασιών (process table). Για κάθε διεργασία τηρείται μία εγγραφή, η οποία περιλαμβάνει στοιχεία τα οποία αφορούν: στη διαχείριση διεργασιών (process management) στη διαχείριση μνήμης (memory management) στη διαχείριση αρχείων (file management). 12

13 ΥΛΟΠΟΙΗΣΗ ΔΙΕΡΓΑΣΙΩΝ Λεπτομερέστερα, τα στοιχεία μπορεί να περιλαμβάνουν: την κατάσταση της διεργασίας (process status) τον απαριθμητή προγράμματος (program counter) το δείκτη στοίβας (stack pointer) την κατανομή μνήμης (memory allocation) την κατάσταση των ανοιχτών αρχείων πληροφορίες λογιστικού χαρακτήρα (accounting) πληροφορίες χρονοπρογραμματισμού 13

14 ΥΛΟΠΟΙΗΣΗ ΔΙΕΡΓΑΣΙΩΝ 14

15 ΥΛΟΠΟΙΗΣΗ ΔΙΕΡΓΑΣΙΩΝ Εργασίες ενός Λ.Σ. κατά την εμφάνιση σήματος διακοπής Σε κάθε ομάδα ομοειδών συσκευών (π.χ. δισκέτας, σκληρού δίσκου, χρονομετρητή κ.α.) αντιστοιχεί μια θέση μνήμης που καλείται διάνυσμα διακοπής (interrupt vector). Η θέση αυτή περιλαμβάνει τη διεύθυνση της διαδικασίας εξυπηρέτησης διακοπής (interrupt service procedure). Σε περίπτωση εμφάνισης σήματος διακοπής ακολουθείται συγκεκριμένη διαδοχή ενεργειών από την πλευρά του συστήματος. 15

16 ΥΛΟΠΟΙΗΣΗ ΔΙΕΡΓΑΣΙΩΝ Παράδειγμα Κατά την εκτέλεση της διεργασίας 3 φθάνει σήμα διακοπής από το δίσκο Αποθηκεύονται στη στοίβα όλες οι απαραίτητες πληροφορίες οι σχετικές με τη διεργασία 3 από ρουτίνα χαμηλού επιπέδου (assembly) Ο έλεγχος μεταφέρεται στη διεύθυνση που ορίζεται από το διάνυσμα διακοπής Η διαδικασία εξυπηρέτησης ξεκινά φυλάσσοντας όλες τις τιμές των καταχωρητών της τρέχουσας διεργασίας στον πίνακα διεργασιών Η διεργασία που υπέβαλε το αίτημα και έχει ανασταλεί γίνεται έτοιμη προς εκτέλεση Ο χρονοπρογραμματιστής επιλέγει την έτοιμη διεργασία για εκτέλεση 16

17 Είναι προφανής η αναγκαιότητα ύπαρξης μηχανισμού διαδιεργασιακής επικοινωνίας (InterProcess Communication). Τα βασικά ζητήματα που τίθενται είναι: Με ποιο τρόπο μπορεί μια διεργασία να μεταβιβάσει πληροφορίες σε μια άλλη Πώς μπορεί να εξασφαλιστεί ότι δύο ή περισσότερες διεργασίες δεν εμποδίζουν η μία την άλλη όταν εκτελούν κρίσιμες ενέργειες Ποια είναι η κατάλληλη αλληλουχία ενεργειών όταν υπάρχουν εξαρτήσεις 17

18 Συνθήκες ανταγωνισμού Συνθήκες ανταγωνισμού (race conditions) μεταξύ διεργασιών εμφανίζονται όταν δύο ή περισσότερες διεργασίες διαμοιράζονται την ίδια περιοχή μνήμης και το τελικό αποτέλεσμα εξαρτάται από τη σειρά και το χρόνο εκτέλεσής τους. Χαρακτηριστικό παράδειγμα αυτού του print spooler και printer daemon 18

19 Κρίσιμα τμήματα Στις περιπτώσεις διαμοιρασμού πόρων, απαιτείται πρόβλεψη και αποτροπή χρήσής τους από περισσότερες της μιας διεργασίας την ίδια χρονική στιγμή. Ουσιαστικά απαιτείται αμοιβαίος αποκλεισμός (mutual exclusion) μεταξύ δύο διεργασιών. Υπό την οπτική περισσότερο αφαιρετικής προσέγγισης, είναι επιθυμητό να διασφαλίσουμε ότι δε θα συμβεί ταυτόχρονη χρήση τμημάτων προγραμμάτων που περιέχουν προσπελάσεις σε μη διαμοιραζόμενους πόρους. Τα τμήματα αυτά των προγραμμάτων καλούνται κρίσιμα τμήματα (critical sections). 19

20 Για την επίτευξη αποδοτικής συνεργασίας παραλλήλων διεργασιών, απαιτείται να πληρούνται οι κάτωθι προϋποθέσεις: Δύο διεργασίες δε βρίσκονται ποτέ ταυτόχρονα στα κρίσιμα τμήματά τους Δεν επιτρέπονται υποθέσεις σε ότι αφορά την ταχύτητα ή το πλήθος των επεξεργαστών Διεργασία που δε βρίσκεται σε κρίσιμο τμήμα δεν επιτρέπεται να αναστείλει άλλες διεργασίες Δεν επιτρέπεται η έπ' αόριστο αναμονή μιας διεργασίας, για να εισέλθει στο κρίσιμο τμήμα της. 20

21 H A εισέρχεται στη κρίσιμη περιοχή H A εξέρχεται από κρίσιμη περιοχή Διεργασία Α H Β προσπαθεί να εισέλθει στη κρίσιμη περιοχή H Β εισέρχεται στη κρίσιμη περιοχή H Β εξέρχεται από τη κρίσιμη περιοχή Διεργασία Β H Β αναστέλλεται Χρόνος 21

22 Αμοιβαίος αποκλεισμός και ενεργός αναμονή Θα μελετήσουμε τρόπους για την επίτευξη αμοιβαίου αποκλεισμού, έτσι ώστε όταν μια διεργασία μεταβάλει τα περιεχόμενα διαμοιραζόμενης περιοχής μνήμης, καμία άλλη δεν εισέρχεται στο κρίσιμο τμήμα της. 22

23 Απενεργοποιώντας διακοπές Η προφανέστερη λύση για την επίτευξη αμοιβαίου αποκλεισμού θα ήταν η διαδικασία, σύμφωνα με την οποία: η απενεργοποίηση όλων των διακοπών από μια διεργασία που εισέρχεται στο κρίσιμο τμήμα της η άρση της απενεργοποίησης αμέσως μετά την έξοδο από αυτό. Η λύση αυτή εκτιμάται ως μη ελκυστική, αφού: δεν είναι επιθυμητό να ανατίθεται σε διεργασίες του χρήστη το δικαίωμα απαγόρευσης διακοπών δεν είναι αποτελεσματική επιλογή, σε περίπτωση που υπάρχουν περισσότερες από μία CPU. H συγκεκριμένη λύση μπορεί όμως να χρησιμοποιηθεί σε πολλές περιπτώσεις από τον πυρήνα (όταν για παράδειγμα ενημερώνει λίστες...) 23

24 Μεταβλητές κλειδώματος Η λύση με χρήση απλών διαμοιραζόμενων μεταβλητών κλειδώματος (lock variables) θα περιελάμβανε: όταν μια διεργασία επιθυμεί να εισέλθει στο κρίσιμο τμήμα της ελέγχει την τιμή της μεταβλητής κλειδώματος αν αυτή έχει τιμή 0, τότε τη θέτει 1 και εισέρχεται αν αυτή έχει τιμή 1, τότε περιμένει μέχρι να γίνει 0 και τότε τη θέτει 1 και εισέρχεται. Η επιλογή, όμως, αυτή δεν είναι αποτελεσματική αφού μπορεί να παρουσιαστεί παρεμβολή σε τέτοιο χρόνο, ώστε να υπάρξει αναποτελεσματικός έλεγχος. 24

25 Αυστηρή εναλλαγή Στη λύση της αυστηρής εναλλαγής, η μεταβλητή turn καταγράφει τη διεργασία που έχει δικαίωμα να εισέλθει στο κρίσιμο τμήμα της, ελέγχοντας ή ενημερώνοντας τη μνήμη. 25

26 Τα μειονεκτήματα της μεθόδου είναι: περιλαμβάνεται ενεργός αναμονή (busy waiting), οπότε δαπανάται χρόνος CPU δεν ενδείκνυται όταν η μία εκ των εμπλεκομένων διεργασιών είναι πολύ βραδύτερη της άλλης απαιτεί αυστηρή εναλλαγή διεργασιών. Μπορεί να παραβιαστεί ένας από τους κανόνες που είχαμε θέσει (αν η πρώτη διεργασία ολοκληρώσει το κρίσιμο τμήμα της και ζητήσει εκ νέου να εισέλθει σε αυτό, πριν η άλλη διεργασία εισέλθει στο δικό της κρίσιμο τμήμα..) Διεργασία που δε βρίσκεται σε κρίσιμο τμήμα δεν επιτρέπεται να αναστείλει άλλες διεργασίες 26

27 Λύση του Peterson Σύμφωνα με τη λύση του Peterson: πριν την είσοδο σε κρίσιμο τμήμα κάποια διεργασία, έστω process=0, καλεί την enter_region με παράμετρο τον αριθμό της 0 ακολούθως δηλώνει το ενδιαφέρον της γι' αυτό το κρίσιμο τμήμα, θέτοντας interested[process=0]=true και θέτει τη μεταβλητή turn=0 περιμένει μέχρι να εξασφαλιστεί η είσοδος στο κρίσιμο τμήμα κατά την έξοδο από το κρίσιμο τμήμα η διεργασία καλεί την leave_region ώστε να απελευθερωθεί η κρίσιμη περιοχή, θέτοντας interested[process=0]=false. Το βασικό μειονέκτημα και της μεθόδου του Peterson είναι ότι: περιλαμβάνεται ενεργός αναμονή (busy waiting) στην περίπτωση που προσπαθήσει μια διεργασία να εισέλθει ανεπιτυχώς στο κρίσιμο τμήμα. 27

28 TSL εντολή Η εντολή TSL (Test and Set Lock) είναι εντολή που χρησιμοποιείται σε υπολογιστές πολλαπλών επεξεργαστών και εξασφαλίζει το αδιαίρετο (indivisible) των πράξεων ανάγνωσης και αποθήκευσης. TSL RX, LOCK: Διαβάζει τα περιεχόμενα της λέξης μνήμης lock, τα τοποθετεί στον καταχωρητή RX και αποθηκεύει μια μη μηδενική τιμή στη διεύθυνση μνήμης lock. Κανένας επεξεργαστής δεν μπορεί να προσπελάσει τη λέξη αυτή μέχρι την ολοκλήρωση της εντολής. 28

29 Όταν LOCK=0 οποιαδήποτε διεργασία: μπορεί να θέσει LOCK =1 με εντολή TSL ακολούθως να αναγνώσει ή εγγράψει στη διαμοιραζόμενη μνήμη μετά το πέρας να επαναθέσει LOCK =0. 29

30 Συνεπώς: μια διεργασία που επιθυμεί να εισέλθει στο κρίσιμο τμήμα καλεί την enter_region η enter_region διεκπεραιώνει την ενεργό αναμονή, θέτει το κλείδωμα και επιστρέφει μετά το πέρας του κρίσιμου τμήματος, η διεργασία καλεί την leave_region η οποία αίρει το κλείδωμα. Το βασικό μειονέκτημα και της μεθόδου του TSL είναι ότι: περιλαμβάνεται ενεργός αναμονή (busy waiting) στην περίπτωση που προσπαθήσει μια διεργασία να εισέλθει ανεπιτυχώς στο κρίσιμο τμήμα. 30

31 Απενεργοποίηση και αφύπνιση Το βασικότερο μειονέκτημα των λύσεων Peterson και χρήσης TSL εντολής ήταν η ύπαρξη ενεργού αναμονής. Το πρόβλημα της ύπαρξης ενεργού αναμονής μπορεί να οδηγήσει και σε άλλες ανεπιθύμητες καταστάσεις, όπως την αντιστροφή προτεραιοτήτων (priority inversion problem) μεταξύ διεργασιών. Για 2 διεργασίες Χ (Χαμηλή προτεραιότητα) και Υ (Υψηλή Προτεραιότητα) Η Χ σε κρίσιμη περιοχή Εκκίνηση της Υ με προτεραιότητα Αναστολή της Χ Η Υ αναμένει (επ άπειρο) να εισέλθει στην κρίσιμη περιοχή με ενεργό αναμονή 31

32 Για την αποτροπή της ενεργού αναμονής αξιοποιείται ζεύγος κλήσεων συστήματος: SLEEP (απενεργοποίηση): αναστέλλει την καλούσα διεργασία μέχρι να αφυπνισθεί εκ νέου από άλλη διεργασία WAKEUP (αφύπνιση): αφυπνίζει τη διεργασία που καθορίζεται από την παράμετρο της κλήσης. 32

33 Το πρόβλημα παραγωγού-καταναλωτή Το πρόβλημα παραγωγού-καταναλωτή (producer-consumer) αποτελεί κλασικό πρόβλημα συγχρονισμού και εμφανίζεται όταν: η διεργασία-παραγωγός επιθυμεί να τοποθετήσει νέα δεδομένα σε γεμάτη ενδιάμεση μνήμη η διεργασία-καταναλωτής επιθυμεί να αποσύρει δεδομένα από άδεια ενδιάμεση μνήμη. Αιτία του προβλήματος είναι η δυνατότητα ταυτόχρονης πρόσβασης στο κρίσιμο τμήμα, δηλαδή στη μεταβλητή που απαριθμεί το πλήθος των δεδομένων στην ενδιάμεση μνήμη 33

34 34

35 Η λειτουργία των διεργασιών παραγωγού και καταναλωτή περιλαμβάνει: Η διεργασία-παραγωγός απενεργοποιείται (SLEEP) όποτε η ενδιάμεση μνήμη είναι πλήρης. Η διεργασία-παραγωγός αφυπνίζεται (WAKEUP) από τη διεργασία-καταναλωτή, όταν αυτή καταναλώσει ένα ή περισσότερα δεδομένα. Η διεργασία-καταναλωτής απενεργοποιείται (SLEEP) όποτε η ενδιάμεση μνήμη είναι άδεια. Η διεργασία-καταναλωτής αφυπνίζεται (WAKEUP) από τη διεργασία-παραγωγό, όταν αυτή τοποθετήσει ένα ή περισσότερα δεδομένα. 35

36 Σενάριο δημιουργίας συνθήκης ανταγωνισμού, λόγω ανεξέλεγκτης πρόσβασης στη μεταβλητή count: Η διεργασία-καταναλωτής ελέγχει και βρίσκει τη μεταβλητή count=0. Πριν η διεργασία-καταναλωτής προλάβει να εκτελέσει SLEEP, ο χρονοδρομολογητής τη διακόπτει και εκτελεί τη διεργασία-παραγωγό. Η διεργασία-παραγωγός τοποθετεί ένα δεδομένο στην ενδιάμεση μνήμη, εκτελεί count=count+1 και αφυπνίζει τη διεργασία-καταναλωτή. Όμως η διεργασία-καταναλωτής δεν είναι απενεργοποιημένη, συνεπώς το σήμα αφύπνισης χάνεται. Όταν επανεκτελεστεί η διεργασία-καταναλωτής, έχει ως τιμή count=0 και απενεργοποιείται. Η διεργασία-παραγωγός θα συνεχίσει να παράγει δεδομένα μέχρι να γεμίσει η ενδιάμεση μνήμη, οπότε και θα απενεργοποιηθεί. Συνεπώς, τόσο η διεργασία-παραγωγός, όσο και η διεργασίακαταναλωτής θα παραμείνουν διαρκώς απενεργοποιημένες. 36

37 Αιτία της δημιουργίας συνθήκης ανταγωνισμού, ήταν η αποστολή σήματος αφύπνισης σε μη απενεργοποιημένη διεργασία. Επίλυση του προβλήματος θα μπορούσε να επιτευχθεί με χρήση ψηφίου αναμένουσας αφύπνισης (wakeup waiting bit). Το ψηφίο αναμένουσας αφύπνισης γίνεται 1, όταν το αντίστοιχο σήμα αποστέλλεται, ενώ η διεργασία δεν είναι απενεργοποιημένη. Όταν αργότερα η διεργασία επιχειρήσει να απενεργοποιηθεί, το ψηφίο θα λάβει τιμή 0 αλλά η διεργασία δε θα απενεργοποιηθεί. Το πρόβλημα παραμένει αν υπάρξουν περισσότερες από μία διεργασίες που αποστέλλουν σήματα αφύπνισης. 37

38 Σηματοφόροι Οι σηματοφόροι επιλύουν το πρόβλημα της χαμένης αφύπνισης. Ο Dijkstra πρότεινε τη χρήση: μιας ακέραιας μεταβλητής, του σηματοφόρου (semaphore) για την καταμέτρηση των σημάτων αφύπνισης δύο θεμελιωδών αδιαίρετων λειτουργιών DOWN και UP που επιδρούν στο σηματοφόρο. 38

39 Η τιμή του σηματοφόρου μπορεί να είναι: είτε μηδενική, αν δεν έχουν αποσταλεί σήματα αφύπνισης είτε θετική, ίση με το πλήθος των σημάτων αφύπνισης. Όταν αρχίζει μία λειτουργία σε σηματοφόρο, αυτή διεξάγεται ως ατομική ή αδιαίρετη ενέργεια (atomicity), δηλαδή καμία άλλη διεργασία δε μπορεί να έχει πρόσβαση σε αυτόν, μέχρι την ολοκλήρωση ή την αναστολή της λειτουργίας. 39

40 Η DOWN ελέγχει: αν sem>0, τότε μειώνει την τιμή κατά ένα και συνεχίζει αν sem=0, τότε η καλούσα διεργασία απενεργοποιείται. Ατομική ή αδιαίρετη ενέργεια θεωρούνται: ο έλεγχος, η μεταβολή της τιμής η πιθανή απενεργοποίηση. 40

41 Η UP αυξάνει κατά 1 την τιμή του σηματοφόρου. Ατομική ή αδιαίρετη ενέργεια θεωρούνται: η λειτουργία αύξησης του σηματοφόρου η ενεργοποίηση μιας διεργασίας. Μετά την UP, αν μία ή περισσότερες διεργασίες είχαν απενεργοποιηθεί μέσω του σηματοφόρου, τότε επιλέγεται κάποια από το σύστημα ώστε να ολοκληρώσει τη DOWN λειτουργία της. 41

42 Συνεπώς μετά την UP λειτουργία: ο σηματοφόρος θα συνεχίσει να έχει τιμή 0 οι εξαρτώμενες από αυτόν απενεργοποιημένες διεργασίες θα είναι κατά μία λιγότερες. 42

43 Υλοποίηση των DOWN και UP Οι DOWN και UP υλοποιούνται ως κλήσεις συστήματος, ενώ το λειτουργικό σύστημα απενεργοποιεί τις διακοπές για όσο διάστημα ελέγχει ή ενημερώνει το σηματοφόρο και θέτει τη διεργασία σε λήθαργο αν χρειάζεται. Σε περίπτωση πολλαπλών CPUs απαιτείται η διασφάλιση ότι μία μόνο CPU τη φορά έχει πρόσβαση στο sem. Συνεπώς κάθε sem πρέπει να προστατεύεται από μεταβλητή κλειδώματος, με χρήση εντολής TSL 43

44 Χρήση σηματοφόρων στη λύση του προβλήματος παραγωγού-καταναλωτή Οι σηματοφόροι επιλύουν το πρόβλημα της χαμένης αφύπνισης. Το αδιαίρετο της υλοποίησης των σηματοφόρων επιτυγχάνεται με την υλοποίηση των λειτουργιών UP και DOWN ως κλήσεων συστήματος. 44

45 Χρήση σηματοφόρων στη λύση του προβλήματος παραγωγού-καταναλωτή 45

46 Να τονιστεί ότι για τη λύση του προβλήματος παραγωγού-καταναλωτή αξιοποιούμε ουσιαστικά δύο τύπους σηματοφόρων: Αυτούς που αξιοποιούνται για την επίτευξη του αμοιβαίου αποκλεισμού (mutex) --- οι σηματοφόροι που χρησιμοποιούνται για τον σκοπό αυτό ονομάζονται δυαδικοί σηματοφόροι, και Αυτούς που αποσκοπούν σε συγχρονισμό (full και empty), δηλαδή στην εξασφάλιση συγκεκριμένης ακολουθίας γεγονότων. 46

47 Όταν η ικανότητα των σηματοφόρων να καταμετρούν (συγχρονίζουν), προτιμάμε μια απλοποιημένη έκδοση τους που ονομάζεται mutex. Τα mutex είναι μεταβλητές που μπορούν να βρίσκονται μόνο σε δύο καταστάσεις: ξεκλείδωτες ή κλειδωμένες. Υπάρχουν δύο διαδικασίες που σχετίζονται με τα mutex Η mutex_lock και η mutex_unlock Ας κάνουμε μια σύγκριση με την enter_region που είχαμε δεί Συγκεκριμένα ας εξετάσουμε πως παρακάμπτουμε το πρόβλημα της «αναμονής με απασχόληση» Να τονίσουμε ότι όταν χρησιμοποιούνται «νήματα» δεν υπάρχει «χρονόμετρο» να τα σταματάει ακόμα και αν εκτελούνται για πολύ ώρα. Συνεπώς αν υπήρχε κάποιο νήμα το οποίο προσπαθεί να αποκτήσει τον έλεγχο ενός κλειδώματος με τη μέθοδο της αναμονής με απασχόληση, θα εκτελεί διαρκώς το βρόχο ανακύκλωσης χωρίς να φτάνει ποτέ στο στόχο του 47

48 48

49 Σφάλματα Προγραμματισμού σε Σηματοφόρους Αν στο πρόβλημα του παραγωγού καταναλωτή οι εντολές down στους σημαφόρους empty και mutex αντιστραφούν Η περιοχή είναι πλήρης empty = 0 down (&empty) απενεργοποίηση του producer Όμως mutex = 0 Αν η consumer προσπαθήσει να εισέλθει στο κρίσιμο τμήμα της, δηλαδή προσπαθήσει να εκτελέσει down(mutex) απενεργοποίηση του consumer Και οι δύο διεργασίες για πάντα υπό αναστολή 49

50 Παρακολουθητές (Ελεγκτές - Monitors) Παρακολουθητής (monitor) είναι μία αρχή συγχρονισμού υψηλότερου επιπέδου. Αποτελεί μια συλλογή από διαδικασίες, μεταβλητές και δομές δεδομένων, που ομαδοποιούνται σε έναν ειδικό τύπο ενότητας ή πακέτου. Οι διεργασίες μπορούν να καλούν τις διαδικασίες ενός παρακολουθητή, αλλά δε μπορούν να προσπελάσουν άμεσα τις εσωτερικές δομές δεδομένων ενός παρακολουθητή, από διαδικασίες που ορίστηκαν εκτός αυτού. 50

51 Η χρησιμότητα των παρακολουθητών στην επίτευξη αμοιβαίου αποκλεισμού βασίζεται στο γεγονός ότι μία μόνο διεργασία κάθε στιγμή μπορεί να είναι ενεργή σε έναν παρακολουθητή. Αυτό υλοποιείται με τη βοήθεια του μεταγλωττιστή, ο οποίος γνωρίζει το είδος τους και χειρίζεται με διαφορετικό τρόπο διαδικασία παρακολουθητή από άλλες διαδικασίες. Συνεπώς είναι ευθύνη του μεταγλωττιστή η υλοποίηση αμοιβαίου αποκλεισμού κατά την είσοδο σε παρακολουθητή. 51

52 52

53 Ο προγραμματιστής: δε χρειάζεται να γνωρίζει τον τρόπο που ο μεταγλωττιστής επιτυγχάνει τον αμοιβαίο αποκλεισμό αρκεί να γνωρίζει ότι μετατρέποντας τα κρίσιμα τμήματα σε διαδικασίες παρακολουθητή, δύο διεργασίες δεν πρόκειται να εκτελέσουν ταυτόχρονα τα κρίσιμα τμήματά τους. 53

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

55 Όμως...πέραν του αμοιβαίου αποκλεισμού...χρειαζόμαστε και ένα τρόπο...για συγχρονισμό... Αξιοποιούνται οι μεταβλητές συνθήκης καθώς και δύο λειτουργίες που τις συνοδεύουν: wait και signal H διαδικασία που καλεί τη signal υποχρεώνεται να βγεί αμέσως από τον ελεγκτή (συνεπώς η signal μπορεί να εμφανίζεται μόνο ως τελευταία εντολή μια διαδικασίας ελεγκτή)...ώστε να αποφύγουμε πιθανή συνύπαρξη δύο διεργασιών στον ελεγκτή. 55

56 56

57 Μεταβίβαση Μηνύματος Η μέθοδος μεταβίβασης μηνύματος (message passing) υλοποιεί διαδιεργασιακή επικοινωνία με χρήση των SEND και RECEIVE. Οι κλήσεις αυτές συστήματος μπορούν εύκολα να ενσωματωθούν σε διαδικασίες βιβλιοθήκης, όπως: send (destination, &message) receive (source, &message) Αν δεν υπάρχει διαθέσιμο μήνυμα...ο παραλήπτης αναστέλλει τη λειτουργία του... 57

58 Ζητήματα σχεδίασης σε συστήματα μεταβίβασης μηνύματος Ζήτημα 1: Σε περίπτωση που ανταλλάσσονται μηνύματα στο δίκτυο, πρέπει να επιλυθεί το πρόβλημα που μπορεί να ανακύψει: είτε από την απώλεια ενός μηνύματος είτε από την απώλεια του μηνύματος επιβεβαίωσης λήψης ενός μηνύματος (acknowledgement message) Ζήτημα 2: Πρέπει να επιλυθεί το πρόβλημα της ονοματοδοσίας των διεργασιών. Τα συνήθη προτεινόμενα σχήματα είναι: Ζήτημα 3: Απαιτείται η αμοιβαία επιβεβαίωση της ταυτότητας των επικοινωνούντων σ ένα σύστημα. 58

59 Το πρόβλημα παραγωγού-καταναλωτή με μεταβίβαση μηνύματος Ο καταναλωτής αποστέλλει Ν άδεια μηνύματα ίδιου μεγέθους προς τον παραγωγό. Όποτε ο παραγωγός έχει έτοιμο ένα δεδομένο, παίρνει άδειο μήνυμα και το στέλνει πίσω γεμάτο. Υπάρχει περίπτωση να αναστείλει τη λειτουργία του είτε ο καταναλωτής, είτε ο παραγωγός, π.χ. Αν ο παραγωγός εργάζεται γρηγορότερα από τον καταναλωτή κάποια στιγμή ο παραγωγός δε θα έχει άδειο μήνυμα και θα ανασταλεί. 59

60 60

61 Φράγματα (α) Διεργασίες που πλησιάζουν το φράγμα (β) Όλες οι διεργασίες εκτός από μία έχουν ανασταλεί στο φράγμα (έχουν χρησιμοποιήσει τη κλήση barrier) (γ) φθάνει και η τελευταία διεργασία... και απελευθερώνονται όλες 61

62 ΠΡΟΒΛΗΜΑΤΑ ΔΙΑΔΕΡΓΑΣΙΑΚΗΣ ΕΠΙΚΟΙΝΩΝΙΑΣ Το πρόβλημα των Συνδαιτυμόνων Φιλοσόφων Οι φιλόσοφοι είτε τρώνε είτε σκέφτονται Χρειάζονται 2 πιρούνια Σηκώνουν ένα πιρούνι τη φορά Πως θα αποφευχθεί το αδιέξοδο ; 62

63 ΠΡΟΒΛΗΜΑΤΑ ΔΙΑΔΕΡΓΑΣΙΑΚΗΣ ΕΠΙΚΟΙΝΩΝΙΑΣ Το πρόβλημα των Συνδαιτυμόνων Φιλοσόφων Η διαδικασία take_fork αναμένει μέχρι να γίνει διαθέσιμο το συγκεκριμένο πιρούνι...όμως αν όλοι μαζί σηκώσουν το αριστερό πιρούνι...τότε θα έχουμε λιμοκτονία (starvation) Θα μπορούσαμε να ελέγχουμε αν είναι διαθέσιμο το δεξί πιρούνι και αν δεν είναι διαθέσιμο να αφήνει πίσω το αριστερό να περιμένει για λίγο και να ξαναπροσπαθεί... Μήπως να χρησιμοποιήσουμε ένα mutex?? 63

64 ΠΡΟΒΛΗΜΑΤΑ ΔΙΑΔΕΡΓΑΣΙΑΚΗΣ ΕΠΙΚΟΙΝΩΝΙΑΣ Λύση στο πρόβλημα των Συνδαιτυμόνων Φιλοσόφων 64

65 ΠΡΟΒΛΗΜΑΤΑ ΔΙΑΔΕΡΓΑΣΙΑΚΗΣ ΕΠΙΚΟΙΝΩΝΙΑΣ Λύση στο πρόβλημα των Συνδαιτυμόνων Φιλοσόφων 65

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Μάθημα 8: Επικοινωνία Συσκευών με τον Επεξεργαστή

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Μάθημα 3.8 Τεχνικές μεταφοράς δεδομένων Λειτουργία τακτικής σάρωσης (Polling) Λειτουργία Διακοπών DMA (Direct Memory Access)

Μάθημα 3.8 Τεχνικές μεταφοράς δεδομένων Λειτουργία τακτικής σάρωσης (Polling) Λειτουργία Διακοπών DMA (Direct Memory Access) Μάθημα 3.8 Τεχνικές μεταφοράς δεδομένων Λειτουργία τακτικής σάρωσης (Polling) Λειτουργία Διακοπών DMA (Direct Memory Access) Μελετώντας το μάθημα θα μπορείς να ξέρεις τη λειτουργία του Polling να ξέρεις

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

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

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

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

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

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

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

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

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

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

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

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

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

Υποστήριξη Λ.Σ. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Υποστήριξη Λ.Σ. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Υποστήριξη Λ.Σ. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Επικοινωνία με περιφερειακά Αρτηρία εισόδου-εξόδου, διευθύνσεις, εγγραφές αναγνώσεις Διαδικασία εξόδου έλεγχος κατάστασης περιφερειακού περίμενε

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Λειτουργικά Συστήματα (ΗΥ321) Λειτουργικά Συστήματα (ΗΥ321) Διάλεξη 2: Διεργασίες και Νήματα Διαδικαστικά 2 Γραφτήκατε στη λίστα; Σχηματίστε ομάδες (για το project)! Στο προηγούμενο επεισόδιο 3 Τι είναι λειτουργικό; Γενιές ΛΣ Βασικές

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

Ενότητα 3 - Θέματα Εφαρμοσμένης Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

Ενότητα 3 - Θέματα Εφαρμοσμένης Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19 Ενότητα 3 - Θέματα Εφαρμοσμένης Επιστήμης Υπολογιστών 3.1.1 Λογισμικό και Υπολογιστικό Σύστημα Τι είναι το υλικό ενός υπολογιστικού συστήματος; Το σύνολο των ηλεκτρονικών και μηχανικών μερών του που έχουν

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Λειτουργικά Συστήματα (ΗΥ222) Λειτουργικά Συστήματα (ΗΥ222) Ταυτοχρονισμός, Συγχρονισμός Πολλαπλές Διεργασίες/Νήματα σε 1 Κοινωνία: Προβλήματα; «Κοινωνικές Γιάννης διεργασίες/νήματα»: Διαβάζουν/γράφουν στον ίδιο χώρο. Αποτέλεσμα; Πιθανότατα

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

Εργαστήριο Λειτουργικών Συστημάτων 8o εξάμηνο, Ροή Υ, ΗΜΜΥ

Εργαστήριο Λειτουργικών Συστημάτων 8o εξάμηνο, Ροή Υ, ΗΜΜΥ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εργαστήριο Λειτουργικών Συστημάτων 8o εξάμηνο, Ροή Υ, ΗΜΜΥ Σχεδιασμός και υλοποίηση υποδομής σημείωσης διεργασιών στον

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

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

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

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

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

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

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

Προβλήματα Συγχρονισμού (με ελεγκτή) Ταυτόχρονος Προγραμματισμός 1

Προβλήματα Συγχρονισμού (με ελεγκτή) Ταυτόχρονος Προγραμματισμός 1 Προβλήματα Συγχρονισμού (με ελεγκτή) Ταυτόχρονος Προγραμματισμός 1 lalis@inf.uth.gr Υλοποίηση σηματοφόρων Οι σηματοφόροι είναι ένας ΑΤΔ με συγκεκριμένες λειτουργίες πρόσβασης Μπορεί να υλοποιηθούν με «φυσικό»

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

Πληροφορική 2. Λειτουργικά Συστήματα

Πληροφορική 2. Λειτουργικά Συστήματα Πληροφορική 2 Λειτουργικά Συστήματα 1 2 Λογισμικό Υπολογιστών Υπολογιστής Υλικό Λογισμικό Λειτουργικό Σύστημα Προγράμματα Εφαρμογών 3 Λειτουργικό Σύστημα (Operating System) Λειτουργικό Σύστημα (ΛΣ) είναι

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

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

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

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

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

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

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