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

Slides:



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

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΔΙΕΡΓΑΣΙΩΝ
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι
Εφαρμογές Υπολογιστών Ά Λυκείου Κεφ. 4 Λογισμικό Συστήματος
Λειτουργικά Συστήματα
Λειτουργικό Σύστημα ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ENOTHTA B.1.3 (1)
Εισαγωγικές έννοιες πληροφορικής
Νήματα στη Java Καρακασίδης Αλέξανδρος Καστίδου Γεωργία Παπαφώτη Μαρία
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Δεύτερο.
Συστήματα εισόδου/εξόδου
Η επιστήμη των υπολογιστών
Λειτουργικά Συστήματα
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ
ΛΟΓΙΣΜΙΚΟ ΣΥΣΤΗΜΑΤΟΣ Κεφάλαιο 4 ο Ελληνογαλλική Σχολή Καλαμαρί - Τίκβα Χριστίνα.
Το υλικο του Υπολογιστη
Λειτουργικό Σύστημα 2ο μέρος.
Κεφάλαιο 1ο: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΤΩΝ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ
Σύστημα Εργαστηριακών Εγγραφών βάσει Προτιμήσεων (ΣΕΕΠ) με τη βοήθεια Εμπείρου Συστήματος Πτυχιακή Εργασία Δημοσθένης Νικούδης (051092) 14/4/2011.
ΚΕΦΑΛΑΙΟ 3 Το υλικό των υπολογιστών.
ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ
Λογισμικο συστηματοσ Κεφάλαιο 4ο
Κλασσικά Προβλήματα Επικοινωνίας Σύνδρομων Διεργασιών
Επικοινωνία μεταξύ Διεργασιών και Σύνδρομες Διεργασίες
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι
5. Αμοιβαίος αποκλεισμός
Κώστας Διαμαντάρας Τμήμα Πληροφορικής ΤΕΙ Θεσσαλονίκης 2011 Παράλληλος Προγραμματισμός.
Νήματα Οι διεργασίες έχουν τα παρακάτω συστατικά:
Λειτουργικά Συστήματα ΑΔΙΕΞΟΔΑ. 3.1 Εισαγωγή  Αδιέξοδο = ένα σύνολο από διεργασίες που δημιουργούν μια κυκλική αλυσίδα όπου κάθε process στην αλυσίδα.
Αδιέξοδο Μόνιμο μπλοκάρισμα ενός συνόλου διεργασιών που είτε συναγωνίζονται για πόρους του συστήματος είτε επικοινωνούν μεταξύ τους Δεν υπάρχει αποδοτική.
Τι είναι διεργασία Ένα πρόγραμμα σε εκτέλεση Η διεργασία περιλαμβάνει:
Σχεδίαση αλγορίθμων (2ο μέρος)
Δίκτυα Ι Βπ - 2ο ΕΠΑΛ ΝΕΑΣ ΣΜΥΡΝΗΣ 2011.
Κατανεμημένα Συστήματα με Java
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
Κατανεμημένα Συστήματα με Java Ενότητα # 4: Αμοιβαίος αποκλεισμός Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής.
Επικοινωνία μεταξύ Διεργασιών και Σύνδρομες Διεργασίες Interprocess Communication and Concurrent Processes.
Πρωτόκολλο αμοιβαίου αποκλεισμού (mutual exclusion) για δύο διεργασίες-CPN Tools Νάνος Λέανδρος 156 Τζιαλαμάνη Βιργινία 166.
Διδακτική της Πληροφορικής ΗΥ302 Εργασία :Παρουσίαση σχολικού βιβλίου Γ’ Λυκείου Τεχνολογικής Κατεύθυνσης «Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον»
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ. ΥΠΟΛΟΓΙΣΤΗΣ Μηχανή που μπορεί να φέρει σε πέρας πνευματικές εργασίες ρουτίνας με μεγάλη ταχύτητα.
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Τρίτη, 14 Απριλίου 2015Τρίτη, 14 Απριλίου 2015Τρίτη, 14 Απριλίου 2015Τρίτη, 14 Απριλίου 2015Τμ.
RPC Multithreaded voting system Γεωργόπουλος Άλκης Κολωνιάρη Γεωργία Κοντογιώργης Τάσος Λεοντιάδης Ηλίας Πετράκης Γιάννης.
Λειτουργικά Συστήματα
Εφαρμογές Υπολογιστών Ά Λυκείου Κεφ. 4 Λογισμικό Συστήματος
Διεργασίες.
Νήματα με την χρήση των Posix Threads (pthreads)‏.
Κεφάλαιο 1ο Ανάλυση προβλήματος.
ΕΝΟΤΗΤΑ 2 – Κεφάλαιο 5: Γνωριμία με το Λογισμικό
1 Αδιέξοδα Μοντέλο συστήματος Χαρακτηρισμός αδιεξόδου Μέθοδοι διαχείρισης αδιεξόδων Πρόληψη Αποφυγή Ανίχνευση.
Λειτουργικά Συστήματα
ΕΙΣΑΓΩΓΉ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΉ ΝΊΚΟΣ ΠΑΠΑΔΆΚΗΣ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ.
Βιομηχανική Πληροφορική Βολογιαννίδης Σταύρος Αρχιτεκτονική συστημάτων βιομηχανικού ελέγχου.
1 Λειτουργικά Συστήματα Ενότητα 6 : Αδιέξοδο 1/2 Δημήτριος Λιαροκάπης Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
Προγραμματισμός συστήματος και Προηγμένα Λειτουργικά
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι
Χειρισμός Χρόνου και Μεθοδολογίες Προσομοίωσης
Κατανεμημένα Συστήματα
Συγχρονισμός Διεργασιών
Τι είναι διεργασία Ένα πρόγραμμα σε εκτέλεση Η διεργασία περιλαμβάνει:
Λειτουργικά Συστήματα και Ασφάλεια Πληροφοριακών Συστημάτων ΔΙΕΡΓΑΣΙΕΣ
Αµοιβαίος αποκλεισµός
Το μοντέλο πελάτη - εξυπηρετητή
Επαναληπτικές ασκήσεις
Διεργασίες Διεργασίες Διαδιεργασιακή Επικοινωνία (IPC)
H/Y Υλικό Λογισμικό Συστήματος Εφαρμογών. H/Y Υλικό Λογισμικό Συστήματος Εφαρμογών.
Δίκτυα Ι Βπ - 2ο ΕΠΑΛ ΝΕΑΣ ΣΜΥΡΝΗΣ 2011.
ΔΙΕΡΓΑΣΙΕΣ.
ΣΥΓΧΡΟΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Τρίτη Έκδοση ANDREW S
ΣΥΓΧΡΟΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Τρίτη Έκδοση ANDREW S
Λειτουργικά Συστήματα Αμοιβαίος Αποκλεισμός και Λάθη
Μεταγράφημα παρουσίασης:

Λειτουργικά Συστήματα Μπλοκαρισμένη Τρέχουσα Έτοιμη Λειτουργικά Συστήματα Κλειώ Σγουροπούλου

Διαχείριση διεργασιών Διερμηνέας εντολών, GUI Λειτουργικό Σύστημα Διαχείριση διεργασιών Διαχείριση μνήμης Κάτω τμήμα οδηγών Ε/Ε Άνω τμήμα Σύστημα αρχείων Διεπαφή χρήστη: Διερμηνέας εντολών, GUI Μηχανισμός κλήσεων συστήματος Εφαρμογές χρηστών

Κατηγορίες Λειτουργικών Συστημάτων

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

Ανάγκη συντονισμού Κατά τη διάρκεια εκτέλεσης των διεργασιών συμβαίνουν ασύγχρονα γεγονότα: Μια διακοπή προκαλεί μεταφορά του ελέγχου από την τρέχουσα διεργασία στο χειριστή διακοπών Μια διακοπή χρονισμού προκαλεί τη νάρκωση μιας διεργασίας και την αφύπνιση μιας άλλης Δυο διεργασίες μοιράζονται την ίδια περιοχή μνήμης για εγγραφή και ανάγνωση δεδομένων Πρόκληση συνθηκών ανταγωνισμού

Συνθήκες ανταγωνισμού - παράδειγμα Διεργασία Α: τοποθέτηση αρχείου a.c Διεργασία B: τοποθέτηση αρχείου b.c Κοινές μεταβλητές out: προς εκτύπωση αρχείο in: επόμενη ελεύθερη θέση A: nfs_a = in //nsf_a=7 [7] = a.c B: nfs_b = in //nsf_b=7 [7] = b.c nfs_b = nfs_b +1 in = nfs_b A: nfs_a = nfs_a +1 in = nfs_a Spooler directory … 4 5 6 7 abc prog.c prog.n

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

Αμοιβαίος αποκλεισμός - “Λύσεις” #1, #2 #1 Απενεργοποίηση διακοπών κατά την είσοδο στην κρίσιμη περιοχή Κι αν η διεργασία “ξεχάσει” να επανενεργοποιήσει τις διακοπές; #2 Χρήση μεταβλητής κλειδώματος P0 P1 Ταυτόχρονη εισαγωγή στην κρίσιμη περιοχή lock (αρχικά 0) while (1) { while (lock!=0) {}; lock=1; while (1) { while (lock!=0) {}; lock=1; CS CS lock=0; } lock=0; }

Αμοιβαίος αποκλεισμός - “Λύση” #3 #3 Αυστηρή ενναλαγή P0 P1 Επίτευξη αμοιβαίου αποκλεισμού – Όμως: Πολυάσχολη αναμονή Κι αν η διεργασία 0 είναι ταχύτερη από την 1; Η διεργασία 0 μπορεί να περιμένει τη σειρά της ακόμα κι αν η 1 είναι έξω από την κρίσιμη περιοχή while (1) { while (turn!=0) {}; turn (αρχικά 0) while (turn!=1) {}; CS turn=1; } turn=0;

Αμοιβαίος αποκλεισμός - “Λύση” #4 #4 Πρόθεση εισαγωγής στην κρίσιμη περιοχή P0 P1 Οδηγεί σε αδιέξοδο (deadlock) turn0=false; turn1=false; while (1) { turn0=true; while (turn1) {}; while (1) { turn1=true; while (turn0) {}; CS CS turn0=false; } turn1=false; }

interested_0=false; interested_1=false; Λύση Peterson P0 P1 turn=0; interested_0=false; interested_1=false; while (1) { interested_0=true; turn=0; while (interested_1 == true && turn == 0) {}; while (1) { interested_1=true; turn=1; while (interested_0 == true && turn == 1) {}; CS CS interested_0=false; } interested_1=false; }