71
Λειτουργικά Συστήματα (1 ο μέρος) Η Επιστήμη των Υπολογιστών: Μια Ολοκληρωμένη Παρουσίαση J. Glenn Brookshear

Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

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

Η Επιστήμη των Υπολογιστών: Μια Ολοκληρωμένη Παρουσίαση

J. Glenn Brookshear

Page 2: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

3-2

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

• Ιστορικό των λειτουργικών συστημάτων • Αρχιτεκτονική λειτουργικών συστημάτων • Συντονισμός των δραστηριοτήτων του

υπολογιστή • Χειρισμός ανταγωνισμού μεταξύ διεργασιών

Page 3: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

3-3

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

χρήσιμο εργαλείο. • Θα δούμε τι κάνουν και πως το κάνουν

– Συντονίζουν τις εσωτερικές δραστηριότητες ενός υπολογιστή και επιτηρούν την επικοινωνία με τον έξω κόσμο

• Επιβλέπουν τη λειτουργία του υπολογιστή• Αποθηκεύουν και ανακτούν αρχεία• Προγραμματίζουν χρονικά την εκτέλεση των

προγραμμάτων• Συντονίζουν την εκτέλεση των προγραμμάτων

Page 4: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

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

• Windows• Unix

– Eίναι πυρήνας για δύο άλλα λειτουργικά:• Mac OS• Solaris

• Linux – Υλοποίηση ανοιχτού κώδικα (open source)

από κοινότητα προγραμματιστών

3-4

Page 5: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

3-5

Ιστορικό Λειτουργικών Συστημάτων

• Εκτέλεση μιας εργασίας [job]• Ομαδική επεξεργασία• Αλληλεπιδραστική επεξεργασία

– Απαιτεί επεξεργασία πραγματικού χρόνου• Χρονομερισμός/Πολυδιεργασία

– Υλοποιείται από τον πολυπρογραμματισμό• Μηχανές με πολλούς επεξεργαστές

Page 6: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

Ιστορικό Λειτουργικών Συστημάτων• Δεκαετίες 1940 – 1950

– Μη αποδοτικοί και μη ευέλικτοι υπολογιστές– Εκτέλεση κάθε προγράμματος [job] σαν

μεμονωμένη δραστηριότητα– Ο υπολογιστής υπό τον έλεγχο του χρήστη– Δέσμευση του υπολογιστή από κάθε χρήστη

μέσω ειδικών εντύπων

3-6

Page 7: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

Ιστορικό Λειτουργικών Συστημάτων

• Εμφάνιση λειτουργικών συστημάτων με στόχο τη:– Διευθέτηση των προγραμμάτων– Εξομάλυνση της μετάβασης από εργασία σε εργασία

• Πρώτες εξελίξεις μέσω των λειτουργικών συστημάτων– Διαχωρισμός χρηστών και εξοπλισμού

• Εξάλειψη της ανάγκης φυσικής παρουσίας των χρηστών στην αίθουσα του υπολογιστή

• Εμφάνιση του ρόλου του «χειριστή»

3-7

Page 8: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

Ιστορικό Λειτουργικών ΣυστημάτωνΟμαδική Επεξεργασία [batch processing]

• Συγκέντρωση εργασιών [jobs] προς εκτέλεση σε ομάδες ή δέσμες [batches]

• Εκτέλεση χωρίς αλληλεπίδραση με το χρήστη – οδηγίες σχετικές με απαιτήσεις του προγράμματος,

γραμμένες σε job control language• Ουρά εργασιών, FIFO όχι αυστηρή,

προτεραιότητες– Αποθηκεύει και τις οδηγίες για κάθε εργασία και τις

εκτυπώνει όταν έρθει η σειρά της

3-8

Page 9: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

3-9

Ομαδική επεξεργασία

Page 10: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

Ιστορικό Λειτουργικών ΣυστημάτωνΜειονεκτήματα Ομαδικής Επεξεργασίας

• Χειριστής – μεσάζων μεταξύ χρήστη κ υπολογιστή– Αδυναμία αλληλεπίδρασης μεταξύ χρήστη και υπολογιστή

• Αποδεκτή για εφαρμογές χωρίς ανάγκη αλληλεπίδρασης με χρήστη, – τα δεδομένα και οι οδηγίες επεξεργασίας καθορίζονται

από πριν, π.χ. μισθοδοσία• Μη αποδεκτή για εφαρμογές που απαιτούν

αλληλεπίδραση με το χρήστη,– π.χ. κρατήσεις θέσεων, επεξεργασία κειμένου,

παιχνίδια

3-10

Page 11: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

Ιστορικό Λειτουργικών ΣυστημάτωνΑνάπτυξη νέων λειτουργικών συστημάτων (1/2)

• Υποστηρίζουν αλληλεπιδραστική επεξεργασία– Διάλογος με χρήστη μέσω απομακρυσμένων

τερματικών ή σταθμών εργασίας– Τερματικά ->εξελίχθηκαν σε workstations και

PC

3-11

Page 12: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

3-12

Αλληλεπιδραστική επεξεργασία

Page 13: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

Ιστορικό Λειτουργικών ΣυστημάτωνΑνάπτυξη νέων λειτουργικών συστημάτων (2/2)

• Τα λειτουργικά συστήματα που υποστηρίζουν αλληλεπιδραστική επεξεργασία – εκτελούν γρήγορα τις ενέργειες του υπολογιστή

και– συντονίζονται με τις ανάγκες του χρήστη και όχι

το αντίστροφο• Επεξεργασία Πραγματικού Χρόνου (Real time

processing)– Οι εργασίες εκτελούνται σε πραγματικό χρόνο

δηλ. σε προθεσμίες που καθορίζονται από το περιβάλλον του υπολογιστή (πραγματικός κόσμος)

3-13

Page 14: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

Ερωτήσεις

Ποιες από τις παρακάτω δραστηριότητες απαιτούν επεξεργασία πραγματικού χρόνου;

• Εκτύπωση ταχυδρομικών ετικετών• Παίξιμο παιχνιδιού στον υπολογιστή• Αναπαραγωγή ηχητικής εγγραφής mp3• Εκτέλεση προγράμματος πρόβλεψης της

οικονομίας για το 2021

3-14

Page 15: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

Ιστορικό Λειτουργικών ΣυστημάτωνΑνάγκη εξυπηρέτησης πολλών χρηστών

• Αν το λειτουργικό εκτελεί μια εργασία κάθε φορά, μόνο ένας χρήστης λαμβάνει ικανοποιητικές υπηρεσίες πραγματικού χρόνου

• Λύση: Χρονομερισμός (time sharing)μέσω πολυπρογραμματισμού– Διαίρεση του χρόνου σε χρονοθυρίδες– Εκτέλεση εργασίας σε μια χρονοθυρίδα τη φορά– Γρήγορη εναλλαγή εργασιών εμπρός και πίσω -> ψευδαίσθηση

ταυτόχρονης εκτέλεσης πολλών εργασιών– Τα πρώτα χρονομεριστικά συστήματα, εξυπηρετούσαν μέχρι και

30 χρήστες ταυτόχρονα

3-15

Page 16: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

Ιστορικό Λειτουργικών ΣυστημάτωνΑνάγκη εξυπηρέτησης πολλών χρηστών

Χρονομερισμός (Time Sharing) vs.Πολυδιεργασία (Multi-tasking)

• Τεχνικές πολυπρογραμματισμού χρησιμοποιούνται σε– μονοχρηστικά συστήματα και – πολυχρηστικά συστήματα

• Πολυχρηστικά, χρονομεριστικά συστήματα– παραμερίζουν την ανάγκη χειριστή ως μεσάζοντα -> νέος

ρόλος: διαχειριστής συστήματος

3-16

Page 17: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

Ιστορικό Λειτουργικών ΣυστημάτωνΑνάγκη εξυπηρέτησης πολλών χρηστών

• Πολυχρηστικά, χρονομεριστικά συστήματα –συνήθης διευθέτηση: ένας μεγάλος κεντρικός Η/Υ με πολλούς σταθμούς εργασίας. Άμεση επικοινωνία των χρηστών με τον υπολογιστή– παραμερίζουν την ανάγκη χειριστή ως μεσάζοντα ->

νέος ρόλος: διαχειριστής συστήματος

3-17

Page 18: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

Ιστορικό Λειτουργικών ΣυστημάτωνΡόλος Διαχειριστή Συστήματος

• Δεν περιλαμβάνει χειρισμό Η/Υ για εξυπηρέτηση τακτικών αιτημάτων χρηστών.

• Περιλαμβάνει– Επίβλεψη και διεκπεραίωση εγκατάστασης νέου

εξοπλισμού και λογισμικού– Επιβολή τοπικών κανονισμών

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

– Συντονισμό προσπαθειών για επίλυση προβλημάτων στο σύστημα

3-18

Page 19: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

Ιστορικό Λειτουργικών ΣυστημάτωνΠερίληψη της εξέλιξης τους

• Από απλά προγράμματα– Που ανακτούσαν και εκτελούσαν ένα πρόγραμμα τη

φορά • Σε σύνθετα συστήματα που

– Συντονίζουν τον χρονομερισμό– Διατηρούν προγράμματα και αρχεία σε συσκευές

μαζικής αποθήκευσης της μηχανής– Ανταποκρίνονται άμεσα σε αιτήματα των χρηστών

• Η εξέλιξή τους συνεχίζεται

3-19

Page 20: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

Ιστορικό Λειτουργικών ΣυστημάτωνΛειτουργικά για Πολυεπεξεργαστικές Μηχανές και Δίκτυα

• Δυνατότητες Χρονομερισμού και Πολυδιεργασίας– Ανάθεση εργασιών σε πάνω από έναν επεξεργαστές και

διαμοιρασμός χρόνου σε κάθε επεξεργαστή• Εξισορρόπηση φόρτου (load balancing)

– δυναμική κατανομή σε όλους τους επεξεργαστές για αποδοτική χρήση τους

• Κλιμάκωση (scaling) – διάσπαση εργασιών σ’ ένα αριθμό υπο-εργασιών συμβατό με

το πλήθος των διαθέσιμων επεξεργαστών• Δίκτυα Υπολογιστών

– ανάγκη για ανάπτυξη ενιαίου λειτουργικού που συντονίζει τις δραστηριότητες του δικτύου αντί για ένα δίκτυο μεμονωμένων λειτουργικών συστημάτων

3-20

Page 21: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

Κατευθύνσεις Έρευνας στα Λειτουργικά Συστήματα

• Λειτουργικά για υπολογιστές με πολλούς επεξεργαστές– Εξισορρόπηση φόρτου– Κλιμάκωση

• Λειτουργικά συστήματα για δίκτυα υπολογιστών• Λειτουργικά για μικρούς φορητούς υπολογιστές όπως

PDA, tablet computers (ιδιαίτερες απαιτήσεις αποθήκευσης και εξοικονόμησης ισχύος)– VxWorks από την Wind River Systems για τα οχήματα Spirit

και Opportunity για την εξερεύνηση του πλανήτη Άρη– Android για smartphones και tablet computers. Βασίζεται στο

Linux (από Open Handset Alliance led by Google)– Windows CE ή Pocket PC (από Microsoft)– Palm OS (από PalmSοurce, Inc) αναπτύχθηκε ειδικά για

χρήση σε PDA3-21

Page 22: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

Θέλετε να πειραματιστείτε με τα εσωτερικά συστατικά ενός Λ.Σ.;

• Υπάρχει το Linux που αρχικά σχεδιάστηκε από τον Linus Torvalds, κατά τη διάρκεια των σπουδών του στο Πανεπιστήμιο του Ελσίνκι στη Φιλανδία, αρχικά δημιούργησε το Linux ως hobby. – Ξεκίνησε την δημιουργία του Linux το 1991, ανακοινώνοντας την έκδοση

0.02 και δουλεύοντας σταθερά έφτασε το 1994 στην έκδοση 1.0 του Linux Kernel.

– Στη συνέχεια αναπτύχθηκε με τη βοήθεια προγραμματιστών από όλον τον κόσμο

• Είναι κατασκευασμένο υπό την GPL άδεια, δηλαδή ο πηγαίος κώδικάς του είναι διαθέσιμος στον καθένα (opensource)

3-22

Page 23: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

Τι είναι το Linux

• To Linux είναι μιά ανεξάρτητη POSIX υλοποίηση και στα χαρακτηριστικά του συμπεριλαμβάνει

• πραγματικό multitasking, • πραγματικό πολυχρηστικό περιβάλλον, • Εικονική μνήμη, βιβλιοθήκες, TCP/IP networking• και πολλά άλλα χαρακτηριστικά που δικαιολογούν

τον τίτλο "τύπου-Unix".• Είναι κατασκευασμένο υπό την GPL άδεια, δηλαδή ο

πηγαίος κώδικάς του είναι διαθέσιμος στον καθένα (opensource).

3-23

Page 24: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

POSIX (Portable Operating System Interface)

• Είναι μια σειρά πρότυπων που καθορίζουν – τις βασικές υπηρεσίες που παρέχει ένα λειτουργικό σύστημα, και κυρίως – το API (Application Programming Interface - Διασύνδεση

Προγραμματισμού Εφαρμογών) των διαθέσιμων κλήσεων συστήματος. • Δημιουργήθηκε με στόχο την εξασφάλιση της συμβατότητας μεταξύ

των ποικίλλων λειτουργικών συστημάτων UNIX, έτσι ώστε – προγράμματα που τρέχουν σε έναν υπολογιστή με UNIX να μπορούν να

μεταγλωττιστούν σε οποιονδήποτε άλλον υπολογιστή με UNIX χωρίς να χρειάζεται να τροποποιηθεί ο πηγαίος κώδικας (ή μέρος αυτού).

• Η συμμόρφωση με το POSIX αποτελεί προϋπόθεση για να μπορεί ένα λειτουργικό σύστημα να ονομάζεται UNIX.

3-24

Page 25: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

Άδεια GPL

• Η άδεια GPL (General Public Language) δίνει στους κατόχους ενός προγράμματος τα ακόλουθα τέσσερα δικαιώματα:

– να το τρέξουν για οποιοδήποτε λόγο.– να μελετήσουν τη λειτουργία του και να το τροποποιήσουν– να διανείμουν αντίγραφά του για να βοηθήσουν τον πλησίον– να το βελτιώσουν και να προσφέρουν τις βελτιώσεις στο κοινό, έτσι

ώστε να ωφεληθεί ολόκληρη η κοινότητα

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

3-25

Page 26: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

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

3-26

Page 27: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

Αρχιτεκτονική Λειτουργικών Συστημάτων

Για την κατανόηση της σύνθεσης ενός Λ.Σ.• θα εξετάσουμε πρώτα όλο το φάσμα

λογισμικού σ’ έναν υπολογιστή, παρουσιάζοντας έναν τρόπο ταξινόμησής του

και μετά • θα επικεντρωθούμε στο Λ.Σ.

3-27

Page 28: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

Κατηγορίες λογισμικού (1/2) • Λογισμικό εφαρμογών

– Προγράμματα που αξιοποιούν τον Η/Υ και εκτελούν συγκεκριμένες εργασίες για τους χρήστες

– Διαφορετικό ανάλογα με τις ανάγκες των χρηστών

• Λογισμικό συστήματος– Εκτελεί λειτουργίες κοινές για όλα τα

υπολογιστικά συστήματα• Παρέχει την υποδομή για το λογισμικό εφαρμογών

3-28

Page 29: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

3-29

Κατηγορίες λογισμικού (2/2)

Page 30: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

ΔιευκρίνησηΗ προηγούμενη ταξονομία είναι ένας γενικός οδηγός και όχι καθολικά αποδεκτή.

Υπάρχουν αρκετοί διαφορετικοί τύποι ταξινόμησης, π.χ. στα Windows οι ομάδες προγραμμάτων με ονόματα • «Accessories» (βοηθήματα) και• «Administrative tools» (εργαλεία διαχείρισης)περιλαμβάνουν λογισμικό και από την κατηγορία των εφαρμογών και από την κατηγορία των βοηθημάτων (της προηγούμενης ταξονομίας)

3-30

Page 31: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

3-31

Στοιχεία Λειτουργικού Συστήματος

Πυρήνας

Page 32: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

3-32

Στοιχεία Λειτουργικού Συστήματος

• Φλοιός ή Κέλυφος:Διασύνδεση του πυρήνα του Λ.Σ. με τους χρήστες – μπορεί να έχει διαφορετικές μορφές

ανάλογα με τις ανάγκες των χρηστών

• Πυρήνας: βασικές λειτουργίες ενός Η/Υ

Page 33: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

3-33

Φλοιός ή Κέλυφος (Shell) - 1• Διασύνδεση του πυρήνα του Λ.Σ. με τους

χρήστες – μπορεί να έχει διαφορετικές μορφές ανάλογα με τις

ανάγκες των χρηστών. Π.χ. Για το Unix: Φλοιός Bourne, Φλοιός C, Φλοιός Korn

• H Διασύνδεση με τους χρήστες γίνεται– Με διασύνδεση κειμένου– Με γραφική διασύνδεση με το χρήστη (GUI ή WIMP)– Με τρισδιάστατες διασυνδέσεις, π.χ. αισθητήρες αφής

Page 34: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

Φλοιός ή Κέλυφος (Shell) - 2

• Ο Φλοιός δημιουργεί το σχήμα επικοινωνίας:Χρήστης → Φλοιός → UNIX (LINUX)

• H λειτουργία του παραπάνω σχήματος επιτρέπει να ξεκινήσει μια Διεργασία, κατόπιν εντολής του χρήστη, με ενδιάμεσο το Φλοιό.

• Ο Φλοιός αναλαμβάνει να θέτει διαρκώς στη διάθεση του χρήστη την ένδειξη διαθεσιμότητας ή αλλιώς την ένδειξη αναμονής εντολής ή αλλιώς το σύμβολο προτροπής (prompt), το γνωστό χαρακτήρα $ (στο φλοιό Bourne) ή % (στο φλοιό C) στην οθόνη του τερματικού του χρήστη.

3-34

Page 35: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

Φλοιός ή Κέλυφος (Shell) - 3

Π.χ. O χρήστης υποβάλλει την εντολή$ dateκαι λαμβάνει την απάντηση

Thu Nov 24 14:39:50 EET_DST 2000

3-35

Page 36: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

3-36

Φλοιός ή Κέλυφος (Shell) - 4

• Διαχειριστής Παραθύρων: Σημαντικό συστατικό στους φλοιούς GUI

• Δεσμεύει τμήματα χώρου στην οθόνη, τα παράθυρα, και παρακολουθεί ποια εφαρμογή είναι συσχετισμένη με καθένα από αυτά.

• Είναι ο ενδιάμεσος μεταξύ των χρηστών και των εφαρμογών

Page 37: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

3-37

Πυρήνας (Kernel)Λειτουργικού Συστήματος

• Περιέχει το απαραίτητο λογισμικό για τις βασικέςλειτουργίες ενός υπολογιστικού συστήματος. Παραδείγματα τέτοιου λογισμικού:– Διαχειριστής αρχείων– Οδηγοί συσκευών– Διαχειριστής μνήμης– Χρονοπρογραμματιστής και διεκπεραιωτής

Page 38: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

3-38

Διαχειριστής Αρχείων• Συντονίζει τη χρήση λειτουργιών μαζικής αποθήκευσης

– Καταγραφή όλων των αρχείων σ’ ένα συγκεκριμένο μέσο αποθήκευσης, πληροφορίες για τη θέση τους, τους χρήστες που έχουν πρόσβαση, τα διαθέσιμα τμήματα για νέα αρχεία

• Τα αρχεία και όλες οι σχετικές πληροφορίες διατηρούνται στο μέσο αποθήκευσης που έχει τα αρχεία. Όταν γίνεται διαθέσιμο, ο Δ.Α. μπορεί να τα ανακτήσει και να τα δει

• Επιβλέπει πρόσβαση σε αρχεία από οποιαδήποτε άλλη μονάδα λογισμικού: – αίτηση για παραχώρηση πρόσβασης -> άνοιγμα του αρχείου

• Κατάλογος (ή Φάκελος): – Μια δημιουργούμενη από το χρήστη ομαδοποίηση αρχείων και

άλλων καταλόγων (υποκαταλόγων) σύμφωνα με το σκοπό τους• Διαδρομή καταλόγου:

– Μια ακολουθία από καταλόγους μέσα σε καταλόγους, π.χ. Path: /Users/Aphro/Documents/Courses/Introduction to CS/Chapter3.pptx

Page 39: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

3-39

Πυρήνας (Kernel)Λειτουργικού Συστήματος

• Περιέχει το απαραίτητο λογισμικό για τις βασικέςλειτουργίες ενός υπολογιστικού συστήματος. Παραδείγματα τέτοιου λογισμικού:– Διαχειριστής αρχείων– Οδηγοί συσκευών– Διαχειριστής μνήμης– Χρονοπρογραμματιστής και διεκπεραιωτής

Page 40: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

Οδηγοί ΣυσκευώνDevice Drivers

• Λογισμικό που επικοινωνεί με τους ελεγκτές ή απ’ ευθείας με τις περιφερειακές συσκευές του υπολογιστή– Ειδικά σχεδιασμένο για συγκεκριμένο τύπο συσκευής (π.χ.

Οθόνη, εκτυπωτής)– Μεταφράζει γενικές απαιτήσεις σε πιο τεχνικά βήματα

• Επιτρέπουν το σχεδιασμό των άλλων μονάδων λογισμικού ανεξάρτητα από τα ειδικά χαρακτηριστικά συγκεκριμένων συσκευών– Αποτέλεσμα: Γενικό λειτουργικό σύστημα που προσαρμόζεται

για συγκεκριμένες περιφερειακές συσκευές με απλή εγκατάσταση κατάλληλων οδηγών

3-40

Page 41: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

3-41

Πυρήνας (Kernel)Λειτουργικού Συστήματος

• Περιέχει το απαραίτητο λογισμικό για τις βασικέςλειτουργίες ενός υπολογιστικού συστήματος. Παραδείγματα τέτοιου λογισμικού:– Διαχειριστής αρχείων– Οδηγοί συσκευών– Διαχειριστής μνήμης– Χρονοπρογραμματιστής και διεκπεραιωτής

Page 42: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

Διαχειριστής Μνήμης (1/2)Memory Manager

• Συντονίζει τη χρήση της κύριας μνήμης του υπολογιστή– Περιορισμένα καθήκοντα όταν εκτελείται μια εργασία τη φορά– Εκτεταμένα καθήκοντα σε πολυδιεργασιακά και πολυχρηστικά

συστήματα• Σε Πολυδιεργασιακά/Πολυχρηστικά συστήματα**, ο Δ.Μ.

– εκχωρεί χώρο μνήμης και εξασφαλίζει ότι οι ενέργειες κάθε προγράμματος περιορίζονται στο χώρο που του έχει παραχωρηθεί

– παρακολουθεί την εξέλιξη των εργασιών και τις περιοχές μνήμης που δεν είναι πλέον κατειλημμένες

**Συστήματα με πολλά προγράμματα και δεδομένα στην κύρια μνήμη

3-42

Page 43: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

Διαχειριστής Μνήμης (2/2)Σελιδοποίηση και Εικονική Μνήμη

• Όταν η συνολική απαιτούμενη μνήμη υπερβαίνει αυτή του υπολογιστή χρησιμοποιείται σελιδοποίηση (paging)– Ψευδαίσθηση μεγαλύτερης ποσότητας μνήμης (π.χ. 1024 ΜΒ ενώ η

πραγματική είναι 512 ΜΒ, με δέσμευση 1024 ΜΒ στον μαγνητικό δίσκο όπου καταγράφει τα bits που θα αποθηκεύονταν στην κύρια μνήμη αν είχε 1024 ΜΒ)

– Διαίρεση των δεδομένων σε ομοιόμορφο μέγεθος μερικών KB: σελίδες (pages)

– Αντιμετάθεση αυτών των σελίδων μεταξύ κύριας μνήμης και δίσκου εξασφαλίζοντας ότι οι απαιτούμενες κάθε φορά σελίδες βρίσκονται στη μνήμη

• Εικονική μνήμη (Virtual Memory)– Είναι η ψευδαίσθηση του μεγάλου χώρου μνήμης που δημιουργείται

από τη σελιδοποίηση

3-43

Page 44: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

3-44

Πυρήνας (Kernel)Λειτουργικού Συστήματος

• Περιέχει το απαραίτητο λογισμικό για τις βασικέςλειτουργίες ενός υπολογιστικού συστήματος. Παραδείγματα τέτοιου λογισμικού:– Διαχειριστής αρχείων– Οδηγοί συσκευών– Διαχειριστής μνήμης– Χρονοπρογραμματιστής και

Διεκπεραιωτής

Page 45: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

Χρονοπρογραμματιστής και Διεκπεραιωτής

Σε πολυπρογραμματιστικά συστήματα• Χρονοπρογραμματιστής (Scheduler)

– Προσδιορίζει τις δραστηριότητες προς εκτέλεση

• Διεκπεραιωτής (Dispatcher)– Αποθηκεύει και φορτώνει την κατάσταση μιας

δραστηριότητας (περιεχόμενο καταχωρητών, κλπ) όταν διακόπτεται / ξεκινά η δραστηριότητα

– Ελέγχει την κατανομή του χρόνου σε αυτές τις δραστηριότητες

3-45

Page 46: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

Η διαδικασία εκκίνησης (1/3)boot strapping, booting

• Eκτελείται κάθε φορά που ο υπολογιστής τίθεται σε λειτουργία– Το λειτουργικό μεταφέρεται από το μέσο αποθήκευσης στην κύρια μνήμη (που είναι κενή

κατά την εκκίνηση)

• Η ΚΜΕ έχει έναν μετρητή προγράμματος με μια συγκεκριμένη προκαθορισμένη διεύθυνση μνήμης που περιμένει να βρει την αρχή του προγράμματος προς εκτέλεση

• Η κύρια μνήμη κατασκευάζεται με πτητικές τεχνολογίες– Ένα μικρό τμήμα της κύριας μνήμης όπου η ΚΜΕ περιμένει να βρει το αρχικό πρόγραμμα

κατασκευάζεται από ειδικά κελιά μη πτητικής μνήμης: Read Only Memory (ROM)

• Στη ROM των υπολογιστών βρίσκεται μόνιμα αποθηκευμένο ένα πρόγραμμα που ονομάζεται ρουτίνα εκκίνησης (bootstrap) και εκτελείται όταν ανάβει ο υπολογιστής

– Κατευθύνει την ΚΜΕ να μεταφέρει το λειτουργικό από το μέσο αποθήκευσης στην Κ.Μ.– Μόλις φορτωθεί το λειτουργικό, το πρόγραμμα εκκίνησης κατευθύνει την ΚΜΕ να εκτελέσει

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

• Υλικολογισμικό (Firmware): λογισμικό αποθηκευμένο σε ROM, δηλ. μόνιμα καταγεγραμμένο σε υλικό

3-46

Page 47: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

3-47

Η διαδικασία εκκίνησης (2/3) boot strapping, booting

Page 48: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

Η διαδικασία εκκίνησης (3/3)boot strapping, booting

• Μετά την εκκίνηση– Ο χρήστης κάνει αιτήσεις στο λειτουργικό για την

εκτέλεση διαφόρων βοηθητικών προγραμμάτων ή προγραμμάτων εφαρμογών

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

• Συστήματα «Με το κλειδί στο χέρι» (turn key systems)– Το λογισμικό τους είναι μόνιμα αποθηκευμένο στην κύρια μνήμη

τους

3-48

Page 49: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

ΒΙΟS (Basic Input-Output System)

• Βρίσκεται στη ROM ενός προσωπικού υπολογιστή μαζί με το πρόγραμμα εκκίνησης (bootstrap)

• Περιέχει συλλογή ρουτινών για εκτέλεση στοιχειωδών δραστηριοτήτων εισόδου – εξόδου, – π.χ. λήψη πληροφοριών από το πληκτρολόγιο, εμφάνιση

μηνυμάτων στην οθόνη του υπολογιστή, ανάγνωση δεδομένων από μέσα αποθήκευσης

• Οι ρουτίνες αυτές χρησιμοποιούνται από το πρόγραμμα εκκίνησης για δραστηριότητες Ε/Ε πριν το κανονικό ξεκίνημα του λειτουργικού– π.χ. για επικοινωνία με το χρήστη ή για αναφορά σφαλμάτων

κατά τη διάρκεια εκκίνησης

3-49

Page 50: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

Ο όρος ΒΙΟS

• Στην πραγματικότητα αναφέρεται μόνο σε ένα μέρος της ROM ενός υπολογιστή

• Παρ όλα αυτά χρησιμοποιείται ευρέως ως αναφορά– για όλο το λογισμικό που είναι στην ROM ή και– για την ίδια τη ROM

3-50

Page 51: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

3-51

Στη συνέχεια θα δούμε πως ένα λειτουργικό σύστημα συντονίζει την εκτέλεση – Λογισμικού εφαρμογών– Βοηθητικού Λογισμικού– Και των δικών του εσωτερικών μονάδων

Page 52: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

3-52

Διεργασία, Εργασία, Πρόγραμμα• Πρόγραμμα: ένα στατικό σύνολο εντολών • Εργασία (job): ένα πρόγραμμα που έχει επιλεγεί για

εκτέλεση, μέχρι να ολοκληρωθεί η εκτέλεσή του– Μπορεί να βρίσκεται στο δίσκο περιμένοντας να φορτωθεί στη

μνήμη ή στη μνήμη περιμένοντας να εκτελεστεί από την ΚΜΕ ή περιμένοντας κάποιο συμβάν

• Διεργασία (process): ένα πρόγραμμα υπό εκτέλεση, δηλ. μια εργασία που είναι στη μνήμη – Έχει επιλεγεί μεταξύ άλλων εργασιών που περιμένουν κι έχει

φορτωθεί στη μνήμη– Είναι μια δυναμική δραστηριότητα, της οποίας οι ιδιότητες

μεταβάλλονται με την πάροδο του χρόνου. – Σε μια συγκεκριμένη στιγμή μπορεί να εκτελείται ή να περιμένει να

της παραχωρηθει χρόνος της ΚΜΕ

Page 53: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

3-53

Page 54: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

3-54

Πρόγραμμα• Πρόγραμμα είναι ένα στατικό σύνολο εντολών που

– Είναι ανενεργές – Έχουν γραφτεί από έναν προγραμματιστή– Έχουν αποθηκευτεί σ’ ένα δίσκο, ταινία κλπ.

• Ένα πρόγραμμα μπορεί να μετατραπεί σε εργασία, χωρίς αυτό να είναι απαραίτητο

Page 55: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

3-55

Εργασία (job)• Είναι ένα πρόγραμμα που έχει επιλεγεί για εκτέλεση. Παραμένει ως

εργασία μέχρι να ολοκληρωθεί η εκτέλεσή του, οπότε και μετατρέπεται πάλι σε πρόγραμμα

• Μια εργασία μπορεί:– Να εκτελεστεί, μπορεί και όχι– Να βρίσκεται στο δίσκο περιμένοντας να φορτωθεί στη μνήμη– Να βρίσκεται στη μνήμη περιμένοντας να εκτελεστεί από την ΚΜΕ– Να βρίσκεται στη μνήμη ενώ εκτελείται από την ΚΜΕ– Να βρίσκεται στη μνήμη περιμένοντας κάποιο συμβάν Ε/Ε

• Σε όλες τις παραπάνω καταστάσεις, το πρόγραμμα είναι Εργασία• Όταν μια Εργασία ολοκληρώσει την εκτέλεσή της (είτε κανονικά ή

ανώμαλα) γίνεται ξανά πρόγραμμα και αφαιρείται από τη μνήμη, και υπάρχει μόνο στο δίσκο. Το λειτουργικό σύστημα δεν ελέγχει πλέον το πρόγραμμα.

• Κάθε Εργασία είναι πρόγραμμα, αλλά κάθε πρόγραμμα δεν είναι Εργασία

Page 56: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

3-56

Διεργασία (Process)• Είναι ένα Πρόγραμμα υπό εκτέλεση,

– δηλ. μια Εργασία που είναι στη μνήμη• Έχει επιλεγεί μεταξύ άλλων εργασιών που

αναμένουν κι έχει φορτωθεί στη μνήμη• Όσο η Εργασία βρίσκεται στη μνήμη αποτελεί

Διεργασία• Η Διεργασία μπορεί να εκτελείται ή να περιμένει να

της παραχωρηθεί χρόνος της ΚΜΕ ή να περιμένει Ε/Ε

• Κάθε Διεργασία είναι Εργασία, αλλά κάθε Εργασία δεν είναι και Διεργασία

Page 57: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

3-57

Κατάσταση Διεργασίας (process state)

Κάθε διεργασία έχει μια συγκεκριμένη κατάσταση που περιλαμβάνει– Τρέχουσα κατάσταση της δραστηριότητας– Μια εικόνα του υπολογιστή τη συγκεκριμένη χρονική

στιγμή– Υπάρχουν διαφορετικές εικόνες σε διαφορετικές

χρονικές στιγμές– Η κατάσταση διεργασίας περιγράφεται από το

περιεχόμενο• Του Μετρητή προγράμματος• Των Καταχωρητών γενικής χρήσης• Των Σχετιζόμενων κελιών της κύριας μνήμης

Page 58: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

3-58

Διαχείριση Διεργασιών (1/10)• Σ’ ένα χρονομεριστικό/πολυδιεργασικό περιβάλλον, οι

διεργασίες ανταγωνίζονται μεταξύ τους για τους πόρους του υπολογιστή– Περιφερειακές συσκευές, χώρος στην κύρια μνήμη, πρόσβαση σε

αρχεία και πρόσβαση στην ΚΜΕ• Το λειτουργικό σύστημα διαχειρίζεται τις διεργασίες έτσι

ώστε – να έχουν τους πόρους που χρειάζονται– να μην αλληλοεπηρεάζονται αν είναι ανεξάρτητες– να ανταλλάσσουν πληροφορίες μεταξύ τους αν χρειάζεται

• Οι εργασίες που σχετίζονται με το συντονισμό της εκτέλεσης των διεργασιών γίνεται στο εσωτερικό του λειτουργικού συστήματος από – Τον χρονοπρογραμματιστή (scheduler)– Τον διεκπεραιωτή (dispatcher)

Page 59: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

3-59

Διαχείριση Διεργασιών (2/10)• Χρονοπρογραμματιστής

– Διατηρεί κατάλογο διεργασιών που είναι παρούσες στο υπολογιστικό σύστημα

– Προσθέτει νέες διεργασίες στον κατάλογο– Διαγράφει τις ολοκληρωμένες διεργασίες

• Ο χρονοπρογραμματιστής διατηρεί στην κύρια μνήμη Πίνακα διεργασιών– Για κάθε διεργασία διατηρεί πληροφορίες σχετικές με:

• την περιοχή μνήμης της διεργασίας (την παίρνει από τον διαχειριστή μνήμης),

• την προτεραιότητα διεργασίας• το αν είναι έτοιμη προς εκτέλεση ή όχι

Page 60: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

3-60

Διαχείριση Διεργασιών (3/10)

• Διεργασία έτοιμη– Μπορεί να συνεχιστεί η πρόοδός της

• Διεργασία υπό εκτέλεση– Εκτελείται από την ΚΜΕ

• Διεργασία σε αναμονή– Περιμένει κάποιο εξωτερικό συμβάν, π.χ.

μήνυμα από άλλη διεργασία, ολοκλήρωση λειτουργίας σε μέσο αποθήκευσης κλπ.

Page 61: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

Καταστάσεις Διεργασίας

3-61

Page 62: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

3-62

Page 63: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

3-63

Διαχείριση Διεργασιών (4/10)• Διεκπεραιωτής: Επιβλέπει την εκτέλεση

των προγραμματισμένων διεργασιών– Ελέγχει την εκχώρηση χρονομεριδίων στις

διεργασίες του πίνακα διεργασιών• Σ’ ένα χρονομεριστικό/πολυδιεργασιακό σύστημα

αυτό γινεται με τη βοήθεια πολυπρογραμματισμού– Ο χρόνος διαιρείται σε χρονομερίδια (time slices) που είναι

<50 χιλιοστά του δευτερολέπτου– Η ΚΜΕ εναλλάσσει τις διεργασίες ανά χρονομερίδιο– Η διαδικασία εναλλαγής ονομάζεται μεταγωγή

διεργασιών (process transfer) ή θεματική μεταγωγή (context switch)

Page 64: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

3-64

Διαχείριση Διεργασιών (5/10)

• Κάθε φορά που ο διεκπεραιωτής παραχωρεί ένα χρονομερίδιο σε μια διεργασία, τίθεται σε λειτουργία ένα κύκλωμα χρονομέτρησης

• Το τέλος ενός χρονομεριδίου σηματοδοτείται με την παραγωγή ενός σήματος που λέγεται διακοπή (interrupt).

• Η ΚΜΕ όταν λάβει ένα σήμα διακοπής– Ολοκληρώνει τον τρέχοντα κύκλο μηχανής– Αποθηκεύει τη θέση της στην τρέχουσα διεργασία– Ξεκινάει τον χειριστή διακοπών (interrupt handler) που βρίσκεται σε

μια καθορισμένη θέση της κύριας μνήμης• Αποτελεί τμήμα του διεκπεραιωτή και περιγράφει τι πρέπει να κάνει

ο διεκπεραιωτής στο σήμα διακοπής

Page 65: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

3-65

Διαχείριση Διεργασιών (6/10)

• Έτσι, το σήμα διακοπής εκτοπίζει την τρέχουσα διεργασία και μεταφέρει τον έλεγχο πίσω στον διεκπεραιωτή

• Ο διεκπεραιωτής – Επιλέγει μια ‘έτοιμη’ διεργασία από τον πίνακα

διεργασιών με τη μεγαλύτερη προτεραιότητα (όπως καθορίζονται από τον χρονοπρογραμματιστή)

– Επανεκκινεί το κύκλωμα χρονομέτρησης– Επιτρέπει στη διεργασία να χρησιμοποιήσει το

χρονομερίδιό της

Page 66: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

Μεταγωγή Διεργασιών

3-66

Page 67: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

3-67

Διαχείριση Διεργασιών (7/10)

Page 68: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

3-68

Διαχείριση Διεργασιών (8/10)

• Σ’ ένα πολυπρογραμματιστικό σύστημα, μέγιστος παράγοντας επιτυχίας είναι να σταματάει μια διεργασία και να την ξεκινάει πάλι αργότερα, αναδημιουργώντας το περιβάλλον που υπήρχε πριν τη διακοπή, δηλ:– Την τιμή του μετρητή προγράμματος– Τα περιεχόμενα των καταχωρητών– Τα περιεχόμενα των σχετικών κελιών μνήμης

Page 69: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

3-69

Διαχείριση Διεργασιών (9/10)

• Οι ΚΜΕ για πολυπρογραμματιστικά συστήματα– αποθηκεύουν αυτές τις πληροφορίες ως μέρος της

αντίδρασής τους στη διακοπή– Διαθέτουν εντολές σε γλώσσα μηχανής για

επαναφόρτωση μιας ήδη αποθηκευμένης κατάστασης– Απλοποιούν την εργασία του διεκπεραιωτή στη

μεταγωγή διεργασιών • Αποτελούν παράδειγμα του τρόπου με τον οποίον ο σχεδιασμός των

σύγχρονων ΚΜΕ επηρεάζεται από τις ανάγκες των σύγχρονων λειτουργικών συστημάτων

Page 70: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

3-70

Διαχείριση Διεργασιών (10/10)• Σ’ ένα πολυπρογραμματιστικό σύστημα, η συνολική

αποδοτικότητα ενός υπολογιστή αυξάνεται, παρά την επιβάρυνση λόγω της εναλλαγής μεταξύ των διεργασιών

• Γιατί?• Η επιβάρυνση από τη διαδικασία εναλλαγής μεταξύ των

διεργασιών αντισταθμίζεται από το γεγονός ότι ενώ εκτελείται αίτηση Ε/Ε από μια διεργασία, προχωρούν οι άλλες διεργασίες => το σύνολο των διεργασιών θα ολοκληρωθεί σε λιγότερο χρόνο απ ότι αν εκτελούνταν η μία μετά την άλλη– Αν μια διεργασία εκτελέσει μια αίτηση Ε/Ε,

• ο χρονοπρογραμματιστής θα ενημερώσει τον πίνακα διεργασιών• ο διεκπεραιωτής θα σταματήσει να της παραχωρεί χρονομερίδια

– Όταν ολοκληρωθεί η Ε/Ε• ο χρονοπρογραμματιστής θα ενημερώσει πάλι τον πίνακα διεργασιών

ότι η διεργασία είναι έτοιμη ώστε να μπορεί να ανταγωνιστεί με τις υπόλοιπες για χρονομερίδια

Page 71: Λειτουργικά Συστήματα 1ο μέρος 2020 · 2021. 1. 15. · •Μεταμορφώνουν το υλικό του υπολογιστή σε χρήσιμο εργαλείο

AYTA ΓΙΑ ΣΗΜΕΡΑ

ΚΑΛΕΣ ΓΙΟΡΤΕΣ!!!

3-71