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

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

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

Transcript

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

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

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

4 ΙΕΡΑΡΧΙΕΣ ΙΕΡΓΑΣΙΩΝ Όταν µια διεργασία δηµιουργεί µια άλλη, η µητρική διεργασία σχετίζεται µε την θυγατρική µε συγκεκριµένους τρόπους. Η θυγατρική µε τη σειρά της δηµιουργεί άλλες διεργασίες και έτσι δηµιουργούνται ιεραρχίες διεργασιών. Στο UNIX µια διεργασία µαζί µε τα παιδιά της σχηµατίζει µια Οµάδα. Όταν υπάρξει κάποιο σήµα, το σήµα διανέµεται σε όλα τα µέλη της οµάδας που είναι ενεργά και κάθε ένα µπορεί να το επεξεργαστεί µε τον τρόπο του ή να το αγνοήσει. Το UNIX παίρνει αρχικές ρυθµίσεις κατά την εκκίνηση του από µια διεργασία init, στη συνέχεια δηµιουργεί µια διεργασία για κάθε τερµατικό, στη συνέχεια δηµιουργείται ένα κέλυφος για κάποιο χρήστη που συνδέθηκε σε κάποιο τερµατικό κ.ο.κ. Συνεπώς όλες οι διεργασίες ανήκουν σ ένα δέντρο µε ρίζα την init. Στα Windows όλες οι διεργασίες είναι ισοδύναµες και δεν υπάρχει η έννοια της ιεραρχίας. Μια διεργασία έχει τη δυνατότητα να µεταβιβάσει µια θυγατρική διεργασία της σε κάποια άλλη διεργασία (παρακάµπτοντας την ιεραρχία). 7 ΚΑΤΑΣΤΑΣΕΙΣ ΙΕΡΓΑΣΙΩΝ Η αλληλεπίδραση µεταξύ διεργασιών οδηγεί στην αναγκαιότητα ύπαρξης διαφόρων καταστάσεων στις οποίες µπορούν να βρεθούν οι διάφορες διεργασίες, π.χ. cat chapter1 chapter2 grep tree Μια διεργασία µπορεί να πρέπει να µπλοκαριστεί επειδή: Περιµένει κάποια δεδοµένα εισόδου που δεν είναι διαθέσιµα εν έχει χρόνο η CPU 8 4

5 ΚΑΤΑΣΤΑΣΕΙΣ ΙΕΡΓΑΣΙΩΝ Οι τρεις δυνατές καταστάσεις στις οποίες µπορεί να βρεθεί µια διεργασία είναι: εκτελούµενη (running) έτοιµη προς εκτέλεση ή εκτελέσιµη (ready or runnable) υπό αναστολή (blocked). 9 ΚΑΤΑΣΤΑΣΕΙΣ ΙΕΡΓΑΣΙΩΝ Οι δυνατές µεταβάσεις µεταξύ καταστάσεων διεργασιών είναι: [1] εκτελούµενη υπό αναστολή Η διεργασία αναµένει δεδοµένα εισόδου [2] εκτελούµενη εκτελέσιµη Ο χρονοπρογραµµατιστής επιλέγει άλλη διεργασία [3] εκτελέσιµη εκτελούµενη Ο χρονοπρογραµµατιστής επιλέγει τη συγκεκριµένη διεργασία [4] υπό αναστολή εκτελέσιµη Τα δεδοµένα εισόδου είναι διαθέσιµα 10 5

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

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

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

9 Είναι προφανής η αναγκαιότητα ύπαρξης µηχανισµού διαδιεργασιακής επικοινωνίας (InterProcess Communication). Τα βασικά ζητήµατα που τίθενται είναι: Με ποιο τρόπο µπορεί µια διεργασία να µεταβιβάσει πληροφορίες σε µια άλλη Πώς µπορεί να εξασφαλιστεί ότι δύο ή περισσότερες διεργασίες δεν εµποδίζουν η µία την άλλη όταν εκτελούν κρίσιµες ενέργειες Ποια είναι η κατάλληλη αλληλουχία ενεργειών όταν υπάρχουν εξαρτήσεις 17 Συνθήκες ανταγωνισµού Συνθήκες ανταγωνισµού (race conditions) µεταξύ διεργασιών εµφανίζονται όταν δύο ή περισσότερες διεργασίες διαµοιράζονται την ίδια περιοχή µνήµης και το τελικό αποτέλεσµα εξαρτάται από τη σειρά και το χρόνο εκτέλεσής τους. Χαρακτηριστικό παράδειγµα αυτού του print spooler και printer daemon 18 9

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

11 H A εισέρχεται στη κρίσιµη περιοχή H A εξέρχεται από κρίσιµη περιοχή ιεργασία Α H Β προσπαθεί να εισέλθει στη κρίσιµη περιοχή H Β εισέρχεται στη κρίσιµη περιοχή H Β εξέρχεται από τη κρίσιµη περιοχή ιεργασία Β H Β αναστέλλεται Χρόνος 21 Αµοιβαίος αποκλεισµός και ενεργός αναµονή Θα µελετήσουµε τρόπους για την επίτευξη αµοιβαίου αποκλεισµού, έτσι ώστε όταν µια διεργασία µεταβάλει τα περιεχόµενα διαµοιραζόµενης περιοχής µνήµης, καµία άλλη δεν εισέρχεται στο κρίσιµο τµήµα της

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

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

14 Λύση του Peterson Σύµφωνα µε τη λύση του Peterson: πριν την είσοδο σε κρίσιµο τµήµα κάποια διεργασία, έστω process=0, καλεί την enter_region µε παράµετρο τον αριθµό της 0 ακολούθως δηλώνει το ενδιαφέρον της γι' αυτό το κρίσιµο τµήµα, θέτοντας interested[process=0]=true και θέτει τη µεταβλητή turn=0 περιµένει µέχρι να εξασφαλιστεί η είσοδος στο κρίσιµο τµήµα κατά την έξοδο από το κρίσιµο τµήµα η διεργασία καλεί την leave_region ώστε να απελευθερωθεί η κρίσιµη περιοχή, θέτοντας interested[process=0]=false. Το βασικό µειονέκτηµα και της µεθόδου του Peterson είναι ότι: περιλαµβάνεται ενεργός αναµονή (busy waiting) στην περίπτωση που προσπαθήσει µια διεργασία να εισέλθει ανεπιτυχώς στο κρίσιµο τµήµα. 27 TSL εντολή Η εντολή TSL (Test and Set Lock) είναι εντολή που χρησιµοποιείται σε υπολογιστές πολλαπλών επεξεργαστών και εξασφαλίζει το αδιαίρετο (indivisible) των πράξεων ανάγνωσης και αποθήκευσης. TSL RX, LOCK: ιαβάζει τα περιεχόµενα της λέξης µνήµης lock, τα τοποθετεί στον καταχωρητή RX και αποθηκεύει µια µη µηδενική τιµή στη διεύθυνση µνήµης lock. Κανένας επεξεργαστής δεν µπορεί να προσπελάσει τη λέξη αυτή µέχρι την ολοκλήρωση της εντολής

15 Όταν LOCK=0 οποιαδήποτε διεργασία: µπορεί να θέσει LOCK =1 µε εντολή TSL ακολούθως να αναγνώσει ή εγγράψει στη διαµοιραζόµενη µνήµη µετά το πέρας να επαναθέσει LOCK =0. 29 Συνεπώς: µια διεργασία που επιθυµεί να εισέλθει στο κρίσιµο τµήµα καλεί την enter_region η enter_region διεκπεραιώνει την ενεργό αναµονή, θέτει το κλείδωµα και επιστρέφει µετά το πέρας του κρίσιµου τµήµατος, η διεργασία καλεί την leave_region η οποία αίρει το κλείδωµα. Το βασικό µειονέκτηµα και της µεθόδου του TSL είναι ότι: περιλαµβάνεται ενεργός αναµονή (busy waiting) στην περίπτωση που προσπαθήσει µια διεργασία να εισέλθει ανεπιτυχώς στο κρίσιµο τµήµα

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

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

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

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

20 Η τιµή του σηµατοφόρου µπορεί να είναι: είτε µηδενική, αν δεν έχουν αποσταλεί σήµατα αφύπνισης είτε θετική, ίση µε το πλήθος των σηµάτων αφύπνισης. Όταν αρχίζει µία λειτουργία σε σηµατοφόρο, αυτή διεξάγεται ως ατοµική ή αδιαίρετη ενέργεια (atomicity), δηλαδή καµία άλλη διεργασία δε µπορεί να έχει πρόσβαση σε αυτόν, µέχρι την ολοκλήρωση ή την αναστολή της λειτουργίας. 39 Η DOWN ελέγχει: αν sem>0, τότε µειώνει την τιµή κατά ένα και συνεχίζει αν sem=0, τότε η καλούσα διεργασία απενεργοποιείται. Ατοµική ή αδιαίρετη ενέργεια θεωρούνται: ο έλεγχος, η µεταβολή της τιµής η πιθανή απενεργοποίηση

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

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

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

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

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

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

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

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

29 Μεταβίβαση Μηνύµατος Η µέθοδος µεταβίβασης µηνύµατος (message passing) υλοποιεί διαδιεργασιακή επικοινωνία µε χρήση των SEND και RECEIVE. Οι κλήσεις αυτές συστήµατος µπορούν εύκολα να ενσωµατωθούν σε διαδικασίες βιβλιοθήκης, όπως: send (destination, &message) receive (source, &message) Αν δεν υπάρχει διαθέσιµο µήνυµα...ο παραλήπτης αναστέλλει τη λειτουργία του Ζητήµατα σχεδίασης σε συστήµατα µεταβίβασης µηνύµατος Ζήτηµα 1: Σε περίπτωση που ανταλλάσσονται µηνύµατα στο δίκτυο, πρέπει να επιλυθεί το πρόβληµα που µπορεί να ανακύψει: είτε από την απώλεια ενός µηνύµατος είτε από την απώλεια του µηνύµατος επιβεβαίωσης λήψης ενός µηνύµατος (acknowledgement message) Ζήτηµα 2: Πρέπει να επιλυθεί το πρόβληµα της ονοµατοδοσίας των διεργασιών. Τα συνήθη προτεινόµενα σχήµατα είναι: Ζήτηµα 3: Απαιτείται η αµοιβαία επιβεβαίωση της ταυτότητας των επικοινωνούντων σ ένα σύστηµα

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

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

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

33 ΠΡΟΒΛΗΜΑΤΑ ΙΑ ΕΡΓΑΣΙΑΚΗΣ ΕΠΙΚΟΙΝΩΝΙΑΣ Λύση στο πρόβληµα των Συνδαιτυµόνων Φιλοσόφων 65 ΠΡΟΒΛΗΜΑΤΑ ΙΑ ΕΡΓΑΣΙΑΚΗΣ ΕΠΙΚΟΙΝΩΝΙΑΣ Το πρόβληµα των Αναγνωστών και των Εγγραφέων Αναγνώστης Αναγνώστης Εγγραφέας Εγγραφέας Εγγραφέας Αναγνώστης Βάση Αναγνώστης 66 33

34 ΠΡΟΒΛΗΜΑΤΑ ΙΑ ΕΡΓΑΣΙΑΚΗΣ ΕΠΙΚΟΙΝΩΝΙΑΣ Το πρόβληµα των Αναγνωστών και των Εγγραφέων 67 ΠΡΟΒΛΗΜΑΤΑ ΙΑ ΕΡΓΑΣΙΑΚΗΣ ΕΠΙΚΟΙΝΩΝΙΑΣ Το πρόβληµα του Κοιµώµενου Κουρέα Σηµατοφόροι (3) Customers Barbers Mutex ( πρόσβαση στη waiting) Μεταβλητές Waiting (δεν υπάρχει τρόπος ανάγνωσης του customers) Σηµαντική ιαφορά Barbers σε βρόγχο (Ψάχνει συνεχώς για τον επόµενο πελάτη αν υπάρχει) Customers δεν είναι σε βρόγχο 68 34

35 ΠΡΟΒΛΗΜΑΤΑ ΙΑ ΕΡΓΑΣΙΑΚΗΣ ΕΠΙΚΟΙΝΩΝΙΑΣ 69 35

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

ΔΙΕΡΓΑΣΙΕΣ. Λειτουργικά Συστήματα Ι. Διδάσκων: Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: Λειτουργικά Συστήματα Ι ΔΙΕΡΓΑΣΙΕΣ Διδάσκων: Καθ. Κ. Λαμπρινουδάκης 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 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Μηχανικών

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

Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Νήµατα. Πολύ σηµαντικό

Νήµατα. Πολύ σηµαντικό Νήµατα Πολύ σηµαντικό 1 Νήµατα (συν.) Σηµαντικό 2 Νήµατα vs ιεργασίες Νήµατα ιεργασίες Χώρος εδοµένων Περιγραφητές Αρχείων fork exit exec Σήµατα Κοινός. Ότι αλλάζει το 1 νήµα το βλέπουν/ αλλάζουν και τα

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

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

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

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

Αδιέξοδα (Deadlocks)

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

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

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

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

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

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ)

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ) ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ) Συσκευές αποθήκευσης Ένας υπολογιστής προκειµένου να αποθηκεύσει δεδοµένα χρησιµοποιεί δύο τρόπους αποθήκευσης: Την Κύρια Μνήµη Τις συσκευές µόνιµης αποθήκευσης (δευτερεύουσα

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

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

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

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

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

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

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

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

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

Θέτοντας και επιστρέφοντας την τιµή της προτεραιότητας διεργασίας

Θέτοντας και επιστρέφοντας την τιµή της προτεραιότητας διεργασίας Θέτοντας και επιστρέφοντας την τιµή της προτεραιότητας διεργασίας Το επίπεδο προτεραιότητας µιας διεργασίας µπορεί να αλλάξει µε χρήση της συνάρτησης nice. Κάθε διεργασία διαθέτει µια τιµή που καλείται

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Παράλληλη Επεξεργασία Παράλληλη Επεξεργασία Φροντιστήριο: Συγχρονισμός (συνέχεια) Μεταβλητές υπό συνθήκη Εργαστήριο Πληροφοριακών Συστημάτων Υψηλής Επίδοσης Parallel and Distributed Systems Group Συγχρονισμός μεταξύ νημάτων

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

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

Λειτουργικά Συστήµατα Λειτουργικά Συστήµατα Κεφάλαιο 2 Τι είναι ένα Λειτουργικό Σύστηµα(Λ.Σ.) Είναι µια επεκταµένη µηχανή Κρύβει τις λεπτοµέρειες που πραγµατοποιούνται κατά την εκτέλεση Προσφέρει στο χρήστη µια απλούστερη εικονική

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου J-GANNO ΓΕΝΙΚΕΥΜΕΝΟ ΠΑΚΕΤΟ ΥΛΟΠΟΙΗΣΗΣ ΤΕΧΝΗΤΩΝ ΝΕΥΡΩΝΙΚΩΝ ΙΚΤΥΩΝ ΣΤΗ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ JAVA Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β,

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

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

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

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

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

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

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

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

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

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

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

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

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