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



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

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

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

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

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

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Εικονική Μνήμη. (και ο ρόλος της στην ιεραρχία μνήμης)

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

Εισαγωγή στην Επιστήμη των Υπολογιστών

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

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

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

Ιεραρχία Μνήμης. Εικονική μνήμη (virtual memory) Επεκτείνοντας την Ιεραρχία Μνήμης. Εικονική Μνήμη. Μ.Στεφανιδάκης

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

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

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

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

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

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

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

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

Κεφάλαιο 5. Κεφ. 5 Λειτουργικά Συστήματα 1

Εικονική Μνήμη (1/2)

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

Μάθημα 8: Διαχείριση Μνήμης

Εικονική Μνήµη. Κεφάλαιο 8. Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 1 : Λειτουργικά συστήματα. Δρ.

Λειτουργικά συστήµατα. Λογισμικό Συστήματος 1

Κεφάλαιο 4 Λογισμικό συστήματος. Εφαρμογές Πληροφορικής Κεφ.4 Καραμαούνας Πολύκαρπος 1

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

3. Σελιδοποίηση μνήμης 4. Τμηματοποίηση χώρου διευθύνσεων

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

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

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΑ ΣΥΣΤΗΜΑΤΑ

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

Οργάνωση ενός σύγχρονου Υπολογιστικού Συστήματος ή Ηλεκτρονικού Υπολογιστή (Η/Υ) Τα σύγχρονα συστήματα Η/Υ έχουν την παρακάτω οργάνωση:

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

Κεφάλαιο 4: Λογισμικό Συστήματος

Κεφάλαιο 4. Λογισμικό Συστήματος

Κεφάλαιο 3.1: Λειτουργικά Συστήματα. Επιστήμη ΗΥ Κεφ. 3.1 Καραμαούνας Πολύκαρπος

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

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

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

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

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

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

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

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

Πληροφορική I. "Λογισμικό (Software)" B. Φερεντίνος

ver Επεξεργαστές κειμένου, λογιστικών φύλλων, παρουσιάσεων Οδηγοί συσκευών (Device Drivers)

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

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

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

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

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

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

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 1

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

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

Εικονική Μνήμη (Virtual Memory)

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

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

[4] Στόχοι. Λογισμικό. Υπολογιστικά συστήματα: Στρώματα

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

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

ΕΙΣΑΓΩΓΗ. Παρέχει µια διεπαφή (interface) ανάµεσα στο υλισµικό και στα προγράµµατα εφαρµογών/χρηστών.

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

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

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

Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή

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

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

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

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

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς

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

ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ

Σκελετός Παρουσίασης

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

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

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία

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

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

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

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

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

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

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

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

Τεχνολογία Υπολογιστικών Συστηµάτων & Λειτουργικά Συστήµατα Κεφάλαιο 9

Λειτουργικά Συστήματα Ι. Κεφάλαιο 1 Βασικές Έννοιες Λειτουργικών Συστημάτων

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

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

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

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Λειτουργικά συστήματα

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

Προγραμματισμός Η/Υ. Λογισμικό. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

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

Εικονική Μνήμη (Virtual Μemory)

Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων)

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

Transcript:

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

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Operating System (OS) Λογισμικό ο γενικός επιβλέπων ενός υπολογιστικού συστήματος Εκτέλεση προγραμμάτων εφαρμογών Διαχείριση υπολογιστικών πόρων Επεξεργαστής Μνήμη Συσκευές Ε/Ε Ενδιάμεσο μεταξύ χρήστη και υπολογιστή Παρέχει κοινές/συχνά χρησιμοποιούμενες λειτουργίες εφαρμογών Βιβλιοθήκες (libraries)) λειτουργικού συστήματος Εισαγωγή στην Επιστήμη των Υπολογιστών Λειτουργικά Συστήματα 2

Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή υπολογιστικό σύστημα υλικό λογισμικό λειτουργικό σύστημα προγράμματα εφαρμογών Εισαγωγή στην Επιστήμη των Υπολογιστών Λειτουργικά Συστήματα 3

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

Η εξέλιξη των Λειτουργικών Συστημάτων Ανάλογα με την εξέλιξη των υπολογιστών: Τα πρώτα μεγάλα συστήματα (mainframes) Λ.Σ. δέσμης (batch operating systems) Συστήματα με πολυπρογραμματισμό (multiprogramming) Λ.Σ. με δυνατότητες χρονοπρογραμματισμού Προσωπικοί Υπολογιστές Λ.Σ. ενός χρήστη (single user operating system) Παράλληλα συστήματα (πολλές ΚΜΕ) Σύνθετα Λ.Σ. για κατανομή εργασίας Κατανεμημένα συστήματα (μέσω δικτύου- internet) Λ.Σ. με πρόσθετες ικανότητες (συντονισμός, μηνύματα, ασφάλεια δεδομένων..) Εισαγωγή στην Επιστήμη των Υπολογιστών Λειτουργικά Συστήματα 5

Διαχείριση πόρων Λειτουργικό σύστημα Επικοινωνία με χρήστη Διαχείριση Μνήμης Διαχείριση ΚΜΕ Διαχείριση Συσκευών Διαχείριση Αρχείων Είναι η επικοινωνία με τον χρήστη μέρος του Λ.Σ; Εισαγωγή στην Επιστήμη των Υπολογιστών Λειτουργικά Συστήματα 6

Μονοπρογραμματισμός Τα πρώτα χρόνια των υπολογιστών... Στην μνήμη βρίσκονται Ένα μοναδικό πρόγραμμα Το λειτουργικό σύστημα Απλή διαχείριση Αν το μέγεθος του προγράμματος είναι πολύ μεγάλο; Πότε μπορεί να εκτελεστεί άλλο πρόγραμμα; Λειτουργικό Σύστημα Πρόγραμμα: κώδικας και δεδομένα μνήμη Εισαγωγή στην Επιστήμη των Υπολογιστών Λειτουργικά Συστήματα 7

Πολυπρογραμματισμός Πολλά προγράμματα στη μνήμη Ταυτόχρονη εκτέλεση Στην πραγματικότητα διαδοχική εκτέλεση εντολών από κάθε πρόγραμμα Φαινομενικά τα προγράμματα εκτελούνται παράλληλα Οι υπολογιστικοί πόροι πρέπει να μοιράζονται μεταξύ των προγραμμάτων Αναγκαία η διαιτησία Ρόλος του Λειτουργικού Συστήματος! Λειτουργικό Σύστημα Πρόγραμμα1 Πρόγραμμα2 Πρόγραμμα3 Πρόγραμμα4 μνήμη Εισαγωγή στην Επιστήμη των Υπολογιστών Λειτουργικά Συστήματα 8

Πολυπρογραμματισμός (συνέχεια) Το Λειτουργικό Σύστημα διατηρεί πληροφορία για κάθε εκτελούμενο πρόγραμμα (διεργασία) Process Control Block (PCB) ή Task Control Block (TCB) Όταν διακόπτεται η εκτέλεση: Αποθήκευση τιμής program counter (PC) Τρέχουσα διεύθυνση εκτελούμενης εντολής Αποθήκευση τιμών καταχωρητών Όταν ξεκινά πάλι η εκτέλεση: Αποκατάσταση αποθηκευμένων τιμών Το πρόγραμμα συνεχίζει την εκτέλεση από το σημείο που διακόπηκε Εισαγωγή στην Επιστήμη των Υπολογιστών Λειτουργικά Συστήματα 9

Τεχνικές διαχείρισης Πώς θα εξασφαλιστεί η διαθεσιμότητα της για τα προγράμματα που εκτελούνται ταυτόχρονα Που βρίσκεται το πρόγραμμα; Χωρίς εναλλαγή Το πρόγραμμα παραμένει συνεχώς στη μνήμη Με εναλλαγή (swapping)( Μέρος του προγράμματος μπορεί να εναλλάσσει θέση μεταξύ και δίσκου κατά την εκτέλεση Εισαγωγή στην Επιστήμη των Υπολογιστών Λειτουργικά Συστήματα 10

Χωρίς εναλλαγή: διαμέριση (partitioning) Κάθε πρόγραμμα έχει τον δικό του χώρο (διαμέριση) στη μνήμη Όλο το πρόγραμμα σε συνεχόμενες θέσεις Αντικατάσταση προγραμμάτων μετά τον τερματισμό Εισαγωγή νέων Πιθανή δημιουργία κενών τμημάτων Αντιμετώπιση κενών με συμπύκνωση (compaction) Αργή διαδικασία! Το Λ.Σ. διατηρεί λίστα χρησιμοποιούμενων τμημάτων Εισαγωγή στην Επιστήμη των Υπολογιστών Λειτουργικά Συστήματα 11

Με εναλλαγή: Σελιδοποίηση (1) Πρόγραμμα 1 Σελίδα 1 Σελίδα 2 Πρόγραμμα 2 Σελίδα 1 Σελίδα 2 Σελίδα 3 Πρόγραμμα 3 Σελίδα 1 Σελίδα 2 Κύρια μνήμη Πλαίσιο 1 Πλαίσιο 2 Πλαίσιο 3 Πλαίσιο 4 Πλαίσιο 5 Πλαίσιο 6 Πλαίσιο 7 Κάθε πρόγραμμα χωρίζεται σε σελίδες (pages) Η μνήμη χωρίζεται σε πλαίσια (frames) Σελίδες και πλαίσια: ίδιο μέγεθος Αποδοτικότερη χρήση (λιγότερα κενά) Πώς λύνεται το πρόβλημα της ανεπαρκούς ; Εισαγωγή στην Επιστήμη των Υπολογιστών Λειτουργικά Συστήματα 12

Σελιδοποίηση (2) Οι σελίδες έχουν προκαθορισμένο μέγεθος π.χ. 4ΚBytes Μπορούν να τοποθετηθούν σε οποιοδήποτε πλαίσιο Ενδεχομένως να μην βρίσκονται όλες στη μνήμη Ανάκληση από δίσκο όταν τις χρειαστεί το πρόγραμμα Σελιδοποίηση κατ απαίτηση (demand paging) Πρακτικά... Το πρόγραμμα βλέπει διαφορετική διεύθυνση από την πραγματική (φυσική) του πλαισίου Εικονική μνήμη (virtual memory) Απαιτείται η τήρηση πινάκων αντιστοίχισης διευθύνσεων Για τη λειτουργία της εικονικής είναι απαραίτητη η συνδυασμένη υποστήριξη από το υλικό (ΚΜΕ) και το λειτουργικό σύστημα Εισαγωγή στην Επιστήμη των Υπολογιστών Λειτουργικά Συστήματα 13

Εικονική μνήμη: τι παρέχει το υλικό ΚΜΕ (CPU) λογική διεύθυνση εντολές δεδομένα MMU φυσική διεύθυνση από -προς σύστημα Ένα πρόγραμμα βλέπει λογικές διευθύνσεις Εικονική Μνήμη (virtual memory) Μετάφραση σε φυσικές διευθύνσεις Από το σύστημα διαχείρισης (memory management unit MMU) που βρίσκεται επίσης μέσα στον επεξεργαστή Για τη μετάφραση, αναζήτηση σε πίνακες σελίδων Αποθήκευση των πιο πρόσφατων μεταφράσεων στην ΚΜΕ Εισαγωγή στην Επιστήμη των Υπολογιστών Λειτουργικά Συστήματα 14

Εικονική μνήμη: τι παρέχει το Λ.Σ. Κάθε διεργασία έχει τους δικούς του πίνακες σελίδων! Κατά την εναλλαγή διεργασιών αλλάζει και ποιος πίνακας θα χρησιμοποιηθεί για τη μετάφραση Σελίδα 1Α Σελίδα 1Β πίνακας σελίδων (διεργασία 1) Σελίδα 2Α Σελίδα 2Β Σελίδα 2Γ πίνακας σελίδων (διεργασία 2) Κύρια μνήμη 1Β 2Β 2Α 2Γ 1Α δίσκος Εισαγωγή στην Επιστήμη των Υπολογιστών Λειτουργικά Συστήματα 15

Σελιδοποίηση κατ απαίτηση Σε πολλά συστήματα η μετάφραση των διευθύνσεων γίνεται σε 2 επίπεδα: Ο χώρος προγράμματος χωρίζεται σε τμήματα (segments) και τα τμήματα με τη σειρά τους χωρίζονται σε σελίδες Οι σελίδες των προγραμμάτων (κώδικας-δεδομένα) βρίσκονται αρχικά μόνο στον δίσκο Το ΛΣ τις σημειώνει ως απούσες από τη μνήμη Όταν προσπελαστεί μια απούσα σελίδα, δημιουργείται ένα σφάλμα εκτέλεσης (page fault)......και το ΛΣ τη φορτώνει σε ένα πλαίσιο στη μνήμη Ενδεχομένως εκτοπίζοντας πίσω στον δίσκο μια άλλη σελίδα από τη μνήμη Η τελευταία σημειώνεται ως απούσα Page faults: μεγάλο κόστος σε κύκλους αναμονής 1-10Mκύκλοι Εισαγωγή στην Επιστήμη των Υπολογιστών Λειτουργικά Συστήματα 16

Προγράμματα, εργασίες και διεργασίες Διεργασίες Πρόγραμμα (program) Ανενεργό σύνολο εντολών (στον δίσκο) Εργασία (job) Πρόγραμμα που έχει επιλεγεί για εκτέλεση Στον δίσκο ή στη μνήμη Διεργασία (process) Πρόγραμμα υπό εκτέλεση Στη μνήμη Εκτελείται ή αναμένει για χρήση πόρων Μπορεί να διακοπεί οποιαδήποτε στιγμή παρά τη θέλησή της από το Λ.Σ. (προεκτοπισμός preemption) Εισαγωγή στην Επιστήμη των Υπολογιστών Λειτουργικά Συστήματα 17

Χρονοδρομολόγηση (scheduling) Διεργασίες Καταστάσεις διεργασίας Έτοιμη προς εκτέλεση (ready) Εκτελούμενη (running) Σε αναμονή (waiting/blocked) Για τη χρήση υπολογιστικών πόρων Όταν πολλές διεργασίες είναι έτοιμες, ποια θα εκτελεστεί; Απόφαση χρονοδρομολογητή (scheduler) είναι μέρος του Λειτουργικού Συστήματος Κριτήριο Επιλογής Όποιος ήρθε πρώτος (first-in first-out FIFO) Χρησιμοποιώντας προτεραιότητες Ανάλογα με προθεσμίες (συστήματα real-time) Εισαγωγή στην Επιστήμη των Υπολογιστών Λειτουργικά Συστήματα 18

Ουρές διαχείρισης διεργασιών Ουρά ετοιμότητας εκκίνηση προς εκτέλεση ΚΜΕ τερματισμός ολοκλήρωση αίτησης ολοκλήρωση χρονομεριδίου αίτηση που απαιτεί αναμονή (π.χ. για Ε/Ε) Ουρά αναμονής Εισαγωγή στην Επιστήμη των Υπολογιστών Λειτουργικά Συστήματα 19

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

Αδιέξοδο Έχει ανατεθεί Διεργασία Α Έχει ζητήσει Αρχείο 1 Αρχείο 2 Έχει ζητήσει Διεργασία Β Έχει ανατεθεί Τα αρχεία είναι κοινόχρηστοι πόροι! Εισαγωγή στην Επιστήμη των Υπολογιστών Λειτουργικά Συστήματα 21

Αδιέξοδο (συνέχεια) Διεργασίες Συνθήκες εμφάνισης Αμοιβαίος αποκλεισμός στη χρήση των πόρων Παρακράτηση περισσότερων από έναν πόρο Κυκλική αναμονή Αν επιτρέψουμε την εκτέλεση διεργασίας μόνο εάν όλοι οι πόροι που ζητά είναι ελεύθεροι; Κίνδυνος λιμοκτονίας Η διεργασία μπορεί να μην εκτελεστεί ποτέ Εισαγωγή στην Επιστήμη των Υπολογιστών Λειτουργικά Συστήματα 22

Διαχείριση συσκευών Διεργασίες συσκευών Συσκευές εισόδου-εξόδου (Ε/Ε) Διαχείριση από ΛΣ μόνο Η απευθείας προσπέλαση των συσκευών Ε/Ε είναι απαγορευμένη στις εφαρμογές χρήστη! Ρύθμιση χρήσης από διεργασίες Οι συσκευές Ε/Ε είναι ένα τυπικό παράδειγμα διαμοιραζόμενων (κοινόχρηστων) πόρων! Παρακολούθηση ολοκλήρωσης αιτήσεων Ε/Ε Και επανεκκίνηση των διεργασιών που αναμένουν τα δεδομένα Ε/Ε Το εξειδικευμένο πρόγραμμα συστήματος που συνομιλεί με τη συσκευή Ε/Ε ονομάζεται οδηγός της συσκευής (device driver) Εισαγωγή στην Επιστήμη των Υπολογιστών Λειτουργικά Συστήματα 23