ΔΙΕΡΓΑΣΙΕΣ.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Λειτουργικό Σύστημα (Operating System) 1o μέρος
Advertisements

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΔΙΕΡΓΑΣΙΩΝ
Λογισμικο συστηματοσ Κεφάλαιο 4ο
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι
Εφαρμογές Υπολογιστών Ά Λυκείου Κεφ. 4 Λογισμικό Συστήματος
Λειτουργικά Συστήματα
Λειτουργικό Σύστημα ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ENOTHTA B.1.3 (1)
Νήματα στη Java Καρακασίδης Αλέξανδρος Καστίδου Γεωργία Παπαφώτη Μαρία
Η επιστήμη των υπολογιστών
Λειτουργικά Συστήματα
Λειτουργικά Συστήματα
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ
ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ.
ΛΟΓΙΣΜΙΚΟ ΣΥΣΤΗΜΑΤΟΣ Κεφάλαιο 4 ο Ελληνογαλλική Σχολή Καλαμαρί - Τίκβα Χριστίνα.
Λειτουργικό Σύστημα 2ο μέρος.
Κεφάλαιο 1ο: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΤΩΝ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ
Λογισμικο συστηματοσ Κεφάλαιο 4ο
Επικοινωνία μεταξύ Διεργασιών και Σύνδρομες Διεργασίες
 Αυδίκου Χριστίνα  Γιουμούκης Παναγιώτης  Κιντσάκης Θάνος  Πάπιστας Γιάννης.
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι
5. Αμοιβαίος αποκλεισμός
Νήματα Οι διεργασίες έχουν τα παρακάτω συστατικά:
Λειτουργικά Συστήματα ΑΔΙΕΞΟΔΑ. 3.1 Εισαγωγή  Αδιέξοδο = ένα σύνολο από διεργασίες που δημιουργούν μια κυκλική αλυσίδα όπου κάθε process στην αλυσίδα.
Η ΕΚΤΕΛΕΣΗ ΠΡΟΓΡΑΜΜΑΤΟΣ ΧΡΗΣΤΗ ΑΠ’ ΤΟΝ Η/Υ ΤΟΜΕΑΣ ΤΕΧΝΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Δ.ΙΕΚ ΠΑΤΡΑΣ.
ΕΙΣΑΓΩΓΗ ΜΑΘΗΜΑ 1.
Αδιέξοδο Μόνιμο μπλοκάρισμα ενός συνόλου διεργασιών που είτε συναγωνίζονται για πόρους του συστήματος είτε επικοινωνούν μεταξύ τους Δεν υπάρχει αποδοτική.
Τι είναι διεργασία Ένα πρόγραμμα σε εκτέλεση Η διεργασία περιλαμβάνει:
Χρονοδρομολόγηση CPU Βασικές Αρχές Κριτήρια Χρονοδρομολόγησης
Διαχείριση μνήμης Υπόβαθρο Εναλλαγή Συνεχής κατανομή Σελιδοποίηση
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
Επικοινωνία μεταξύ Διεργασιών και Σύνδρομες Διεργασίες Interprocess Communication and Concurrent Processes.
Πρωτόκολλο αμοιβαίου αποκλεισμού (mutual exclusion) για δύο διεργασίες-CPN Tools Νάνος Λέανδρος 156 Τζιαλαμάνη Βιργινία 166.
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
Κεφάλαιο 10 – Υποπρογράμματα
Εφαρμογές Υπολογιστών Ά Λυκείου Κεφ. 4 Λογισμικό Συστήματος
Διεργασίες.
Νήματα με την χρήση των Posix Threads (pthreads)‏.
ΕΝΟΤΗΤΑ 2 – Κεφάλαιο 5: Γνωριμία με το Λογισμικό
1 Αδιέξοδα Μοντέλο συστήματος Χαρακτηρισμός αδιεξόδου Μέθοδοι διαχείρισης αδιεξόδων Πρόληψη Αποφυγή Ανίχνευση.
Χρονοδρομολόγηση CPU Βασικές Αρχές Κριτήρια Χρονοδρομολόγησης
ΕΙΣΑΓΩΓΉ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΉ ΝΊΚΟΣ ΠΑΠΑΔΆΚΗΣ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ.
Κρυφή μνήμη (cache memory) (1/2) Εισαγωγή στην Πληροφορκή1 Η κρυφή μνήμη είναι μία πολύ γρήγορη μνήμη – πιο γρήγορη από την κύρια μνήμη – αλλά πιο αργή.
Η Κεντρική Μονάδα Συστήματος Εισαγωγή στην Πληροφορκή 1 Η κεντρική μονάδα του συστήματος (base unit ή system unit) αποτελεί τον πυρήνα ενός υπολογιστή.
Διοίκηση Επιχειρήσεων Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας.
Κύρια Μνήμη Διάφοροι τύποι μνήμης RAM Από πάνω προς τα κάτω, DIP, SIPP, SIMM (30-pin), SIMM (72-pin), DIMM (168-pin), DDR DIMM (184-pin). Μνήμη RΟM.
Καταχωρητές (Registers) (1/3) Εισαγωγή στην Πληροφορκή1 Οι Καταχωρητές (Registers) είναι ειδικές θέσεις μνήμης υψηλής ταχύτητας που χρησιμοποιούνται για.
1 Λειτουργικά Συστήματα Ενότητα 6 : Αδιέξοδο 1/2 Δημήτριος Λιαροκάπης Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
Διαχείριση Πόρων (1/10) Εισαγωγή στην Πληροφορκή 1 Στα πρώτα χρόνια των υπολογιστών, όπου μόνο ένα πρόγραμμα είχε τη δυνατότητα να βρίσκεται στην κύρια.
Λειτουργικά Συστήματα
Θέμα Πτυχιακής Εργασίας
στην Επιστήμη των Υπολογιστών Κωδικός Διαφανειών: MKT110
Λειτουργικά Συστήματα
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι
Επιχειρηματικός Σχεδιασμός
Προγραμματισμός έργων
Χειρισμός Χρόνου και Μεθοδολογίες Προσομοίωσης
Κατανεμημένα Συστήματα
Συγχρονισμός Διεργασιών
Γνωριμία με το Λογισμικό του Υπολογιστή
Τι είναι διεργασία Ένα πρόγραμμα σε εκτέλεση Η διεργασία περιλαμβάνει:
Κατηγορίες και Προδιαγραφές Λογισμικού Η/Υ (Software)
Βασικά Μοντέλα και Έννοιες Διεργασιών
Ανάπτυξη Μοντέλων Διακριτών Συστημάτων Μέρος Β
Λειτουργικά Συστήματα και Ασφάλεια Πληροφοριακών Συστημάτων ΔΙΕΡΓΑΣΙΕΣ
Εισαγωγή στα Λειτουργικά Συστήματα (ΛΣ) Operating Systems (OS)
Το μοντέλο πελάτη - εξυπηρετητή
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΑΕΠΠ
TO BIOS βρίσκεται στην μητρική πλακέτα και τα αρχικά του σημαίνουν: Βασικό Σύστημα Εισόδου-Εξόδου.
ΣΥΓΧΡΟΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Τρίτη Έκδοση ANDREW S
Εξωτερική Αναζήτηση Ιεραρχία Μνήμης Υπολογιστή Εξωτερική Μνήμη
Μεταγράφημα παρουσίασης:

ΔΙΕΡΓΑΣΙΕΣ

ΔΙΕΡΓΑΣΙΕΣ Ορισμός : μια διεργασία είναι ένα πρόγραμμα ή στιγμιότυπο ενός προγράμματος που εκτελείται στον ΗΥ μια διεργασία είναι η οντότητα που μπορεί να ανατεθεί και να εκτελεστεί σε έναν επεξεργαστή Διαφορά μεταξύ διεργασίας και προγράμματος Ένα πρόγραμμα είναι μια άψυχη οντότητα και μόνον όταν ο επεξεργαστής ξεκινά να εκτελέσει το πρόγραμμα αυτό καθίσταται μια ενεργή οντότητα που ονομάζεται διεργασία.

Καταστάσεις διεργασίας Το Λ.Σ. πρέπει να εξασφαλίσει ότι κάθε διεργασία αναλαμβάνει για αρκετό χρόνο τη χρήση του επεξεργαστή. Σε κάθε σύστημα μπορούν να υπάρχουν τόσες ταυτόχρονες διεργασίες όσοι είναι και οι επεξεργαστές. Κατά τη διάρκεια ζωής της κάθε διεργασία μπορεί να βρεθεί σε μια σειρά από διακριτές καταστάσεις. Διάφορα γεγονότα αναγκάζουν μια διεργασία να μεταβάλει την κατάστασή της.

Καταστάσεις διεργασίας Εκτελούμενη (running): η διεργασία χρησιμοποιεί τη CPU εκείνη τη στιγμή Έτοιμη (ready): η διεργασία έχει διακοπεί προσωρινά για να εκτελεστεί κάποια άλλη Υπό αναστολή (blocked): η διεργασία δεν μπορεί να εκτελεστεί μέχρι να συμβεί κατάλληλο εξωτερικό συμβάν

Παράδειγμα

Πίνακας διεργασιών Το Λ.Σ. διατηρεί έναν πίνακα διεργασιών (process table), ο οποίος περιλαμβάνει μια καταχώρηση για κάθε διεργασία. για κάθε διεργασία αποθηκεύει : την κατάστασή της , την κατοχή πόρων του συστήματος ετσι δίνεται η δυνατότητα στο Λ.Σ. να ασκεί επιρροή στον έλεγχο της διεργασίας.

Εναλλαγή ∆ιεργασιών Για να εκτελεστεί µια διεργασία σε έναν επεξεργαστή πρέπει να φορτωθεί σε αυτόν η κατάσταση επεξεργαστή της διεργασίας • Κατά την εκτέλεση της διεργασίας η κατάσταση επεξεργαστή µεταβάλλεται • Για να σταµατήσει η εκτέλεση µιας διεργασίας και να ξεκινήσει µια άλλη: – Αποθηκεύεται η κατάσταση επεξεργαστή της τρέχουσας διεργασίας – Φορτώνεται η κατάσταση επεξεργαστή της προς εκτέλεση

Λόγοι εναλλαγής εκτελούμενης διεργασίας Clock interrupt Η διεργασία έχει εξαντλήσει το μέγιστο επιτρεπόμενο χρονικό όριο (time slice) I/O interrupt Trap Έχει συμβεί σφάλμα Κλήση επόπτη (κλήση συστήματος) π.χ. άνοιγμα αρχείου

Μνήµη ∆ιεργασίας Κάθε διεργασία διαθέτει το δικό της (ιδιωτικό) χώρο Μνήµη ∆ιεργασίας Κάθε διεργασία διαθέτει το δικό της (ιδιωτικό) χώρο µνήµης στον οποίο έχει πρόσβαση µόνο αυτή Το λειτουργικό σύστηµα έχει πρόσβαση στη µνήµη όλων των διεργασιών  Η αποµόνωση των διεργασιών   Εξασφαλίζει ότι µια διεργασία δεν θα έχει  πρόσβαση  στη µνήµη µιας άλλης διεργασίας  Παρέχει στοιχειώδη ασφάλεια σε ένα σύστηµα  που εξυπηρετεί πολλούς χρήστες ταυτόχρονα

Δύο διεργασίες Α και Β υπάρχουν σε τμήματα μνήμης Δύο διεργασίες Α και Β υπάρχουν σε τμήματα μνήμης. Ένα μπλοκ (τμήμα) μνήμης ανατίθεται σε κάθε διεργασία. Ποια διεργασία εκτελείται αυτή τη στιγμή;

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

∆ιαµοίραση Μνήµης Παρά την αποµόνωση µεταξύ των διεργασιών, σε ∆ιαµοίραση Μνήµης Παρά την αποµόνωση µεταξύ των διεργασιών, σε πολλές περιπτώσεις υπάρχει ανάγκη για επικοινωνία µεταξύ τους  Απώτερος σκοπός είναι η συνεργασία και ο συντονισµός των διεργασιών για την επίλυση κάποιου προβλήµατος Το λειτουργικό σύστηµα υλοποιεί διάφορους µηχανισµούς διαδιεργασιακής επικοινωνίας.  Tα νήµατα εκµεταλλεύονται την ιδέα της κοινής µνήµης για να διευκολύνουν τον προγραµµατισµό

Νήµατα Ένα νήµα είναι µια ανεξάρτητη ακολουθία εκτέλεσης εντολών Ένα νήµα είναι µια ανεξάρτητη ακολουθία εκτέλεσης εντολών ενός προγράµµατος εντός µιας διεργασίας Ένα νήµα συχνά καλείται ελαφριά διεργασία ∆εν είναι όµως διεργασία αλλά κάτι µικρότερο από αυτή Μια διεργασία µπορεί να δηµιουργήσει πολλαπλά νήµατα,  τα οποία εκτελούν µια συγκεκριµένη εργασια Κάθε τέτοιο νήµα έχει ξεχωριστή κατάσταση εκτέλεσης όλα µπορούν να εκτελεστούν ταυτόχρονα σε διαφορετικούς επεξεργαστές. επενεργούν στα ίδια  δεδοµένα.

Διαφορές Διεργασίες Είναι οντότητες που δεσμεύουν οποιονδήποτε πόρο τις αφορά όπως τον χώρο διευθύνσεων, τα δεδομένα, τον κώδικα και τα αρχεία Θεωρούνται ως heavyweight σε σχέση με τη δημιουργία, τον τερματισμό και την εναλλαγή πλαισίου Νήματα Διαμοιράζονται τον χώρο διευθύνσεων, τα δεδομένα, τον κώδικα και τα αρχεία εφόσον ανήκουν στην ίδια διεργασία Θεωρούνται ως lightweight σε σχέση με τη δημιουργία, τον τερματισμό και την εναλλαγή πλαισίου Επιβαρύνουν λιγότερο το σύστημα

Απλές και πολυνηματικές διεργασίες Διεργασίες Είναι οντότητες που δεσμεύουν οποιονδήποτε πόρο τις αφορά όπως τον χώρο διευθύνσεων, τα δεδομένα, τον κώδικα και τα αρχεία Θεωρούνται ως heavyweight σε σχέση με τη δημιουργία, τον τερματισμό και την εναλλαγή πλαισίου Νήματα Διαμοιράζονται τον χώρο διευθύνσεων, τα δεδομένα, τον κώδικα και τα αρχεία εφόσον ανήκουν στην ίδια διεργασία Θεωρούνται ως lightweight σε σχέση με τη δημιουργία, τον τερματισμό και την εναλλαγή πλαισίου

Κοινή χρήση πόρων Σε ορισμένα Λ.Σ. συνεργαζόμενες διεργασίες μοιράζονται συχνά την ίδια περιοχή μνήμης, για εγγραφή και ανάγνωση δεδομένων. Η περιοχή αυτή μπορεί να βρίσκεται στην κύρια μνήμη ή να είναι ένα διαμοιραζόμενο αρχείο δίσκου. Παραδείγματα : μια θέση μνήμης που περιέχει μια μεταβλητή προσπελάσιμη από περισσότερες από μια διεργασίες (π.χ.σύστημα κράτησης θέσεων πτήσεων). διεκπεραιωτής ετεροχρονισμένης εκτύπωσης (spooler)

Τι συμβαίνει όταν μοιράζονται κοινοί πόροι; Το Λ.Σ. πρέπει να προστατεύει έναν πόρο από την πιθανότητα «να παραποιηθεί»

Παράδειγμα: Ένα Σύστημα κράτησης θέσεων. Τι συμβαίνει όταν δυο χρήστες προσπαθούν να «κλείσουν» την ίδια θέση; Χειριστής 1 Χειριστής 2 τελευταία θέση στην πτήση 911

ο ταξιδ. πράκτορας Α βλέπει ότι η θέση Χ είναι ελεύθερη και συμβουλεύεται τον πελάτη του Ο ταξιδ. πράκτορας Α κλείνει τη θέση Χ ο ταξιδ. πράκτορας Β βλέπει ότι η θέση Χ είναι ελεύθερη και συμβουλεύεται τον πελάτη του Ο ταξιδ. πράκτορας Β κλείνει τη θέση Χ

Συνεργαζόμενες διεργασίες Οι συνεργαζόμενες διεργασίες μπορούν να επηρεάσουν ή να επηρεαστούν από την εκτέλεση μιας άλλης διεργασίας Πλεονεκτήματα από τη συνεργασία των διεργασιών Διαμοίραση πληροφοριών Αύξηση της ταχύτητας υπολογισμού Δυνατότητα τμηματοποίησης

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

Ανταγωνισμός Στην περίπτωση ανταγωνιζόμενων διεργασιών πρέπει να αντιμετωπιστούν τρία προβλήματα ελέγχου: Αδιέξοδο (deadlock) Παρατεταμένη στέρηση (starvation) Αμοιβαίος αποκλεισμός (mutual exclusion)

Αδιέξοδο (Deadlock) Μόνιμη αναστολή ενός συνόλου διεργασιών που είτε ανταγωνίζονται για ένα κοινό πόρο του συστήματος είτε επικοινωνούν μεταξύ τους Η κατάσταση κατά την οποία δύο ή περισσότερες διεργασίες δεν μπορούν να έχουν πρόσβαση στους πόρους που χρειάζονται. Παράδειγμα: Η διεργασία A απαιτεί αποκλειστική πρόσβαση στους πόρους R,S για να συνεχίσει τους υπολογισμούς της Η διεργασία B απαιτεί αποκλειστική πρόσβαση στους πόρους S,R για να συνεχίσει τους υπολογισμούς της Η διεργασία A δεσμεύει αποκλειστικά τον R και προσπαθεί να δεσμεύσει και τον S Η διεργασία B δεσμεύει αποκλειστικά τον S και προσπαθεί να δεσμεύσει και τον R Οι διεργασίες A και B έχουν εισέλθει σε αδιέξοδο!

Σενάριο αδιεξόδου προειδοποίηση: πιθανό αδιέξοδο

Απλό αδιέξοδο κατά τη χρήση πόρων Το σύστημα βρίσκεται σε αδιέξοδο επειδή κάθε διεργασία δεσμεύει έναν πόρο που απαιτείται από την άλλη διεργασία και καμία διεργασία δεν είναι πρόθυμη να απελευθερώσει τον πόρο που δεσμεύει.

Παρατεταμένη στέρηση (Starvation) Η κατάσταση στην οποία μερικές διεργασίες σημειώνουν πρόοδο οδεύοντας προς την ολοκλήρωσή τους ενώ μερικές άλλες δεν μπορούν να έχουν πρόσβαση στους πόρους τους.

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

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

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

Κρίσιμα τμήματα (Critical Sections) Μια ακολουθία εντολών μιας διεργασίας που πρέπει να εκτελείται αδιαίρετα, ονομάζεται κρίσιμο τμήμα. Η εκτέλεση του κρισίμου τμήματος θα πρέπει να είναι “όλα ή τίποτα” Δεν θα πρέπει να διακόπτεται στο μέσον

Αμοιβαίος αποκλεισμός Όταν μια διεργασία εκτελεί το κρίσιμο τμήμα της (ΚΤ), σε καμιά άλλη δεν μπορεί να επιτραπεί να εκτελεί το δικό της κρίσιμο τμήμα.

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

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