Ι.Ε.Κ. Χαϊδαρίου ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ Σημειώσεις Θεωρίας Αθήνα 2015
Μάθημα 1: Λειτουργικά Συστήματα 1.1 Γενικά Κάθε υπολογιστικό σύστημα αποτελείται από: Υπολογιστικό Σύστημα Υλικό (Hardware) Λογισμικό (Software) K.M.E. Μνήμη... Λειτουργικό Σύστημα Προγράμματα Σχήμα 1.1: Δομή ενός υπολογιστικού συστήματος Ορισμός Το Λειτουργικό Σύστημα (ΛΣ) είναι ένα σύνολο προγραμμάτων που λειτουργεί ως σύνδεσμος ανάμεσα στα προγράμματα του χρήστη και το υλικό και καθορίζει τον τρόπο λειτουργίας του υπολογιστικού συστήματος, ελέγχοντας και συντονίζοντας τη χρήση των μονάδων του από τα διάφορα προγράμματα εφαρμογής των χρηστών. Στόχοι ενός ΛΣ 1. Διευκόλυνση των χρηστών 2. Διευκόλυνση των προγραμματιστών 3. Αποδοτική λειτουργία του υπολογιστικού συστήματος Θα μπορούσαμε να συγκρίνουμε τη λειτουργία ενός Λ/Σ με το πώς εργάζεται ένα ζαχαροπλαστείο: (πρόγραμμα) Μαγειρικά Σκεύη Ζαχαροπλάστης Οδηγίες Πελάτες (Χρήστες) (πρόγραμμα) «Τσελεμεντές» (Κ.Μ.Ε.) (Λ/Σ) (Συσκευές του Λ/Σ) Σχήμα 1.2: Παρομοίωση του Λ/Σ με ένα ζαχαροπλαστείο Σελίδα 2
1.2 Λ/Σ Ομαδικής Επεξεργασίας (Batch Processing) Οι πελάτες στην ουρά Παρασκευή ενός γλυκού μόνο κάθε φορά. Μόλις εξυπηρετηθεί κάποιος, σειρά έχει ο αμέσως επόμενος. Κάποιες φορές, εξυπηρετούνται ομάδες πελατών που θέλουν το ίδιο γλυκό έτσι ώστε να γίνεται καλύτερη χρήση των σκευών. Λ/Σ 1 ης γενιάς Δεκαετία 50. Ομαδοποίηση των προγραμμάτων και εκτέλεσή τους με βάσει τη σειρά εμφάνισής τους. Μειονεκτήματα Υποαπασχόληση των συσκευών (κάποιες περιμένουν κάποιες άλλες) Μεγάλος χρόνος ανακύκλωσης (turnaround time χρόνος που απαιτείται μέχρι να πάρουμε τα αποτελέσματα ενός προγράμματος). 1.3 Λ/Σ Πολυπρογραμματισμού (Multiprogramming) Παρασκευή πολλών γλυκών ταυτόχρονα. Ενώ ψήνεται το ένα, προετοιμάζεται το άλλο (π.χ. στο μίξερ). Ένα «κουδουνάκι» ειδοποιεί τον ζαχαροπλάστη για το πότε πρέπει να ασχοληθεί με το καθένα. Λ/Σ 2 ης γενιάς Δεκαετία 60. Μείωση άεργου χρόνου και χρόνου ανακύκλωσης. Η διακοπή μιας λειτουργίας γίνεται με «σήματα διακοπής» (interrupts). Μειονεκτήματα Πολύπλοκα σε σχέση με τα Λ/Σ Ομαδικής Επεξεργασίας. 1.4 Λ/Σ Καταμερισμού Χρόνου (Time Sharing) Ταυτόχρονη παρασκευή γλυκών. Κάθε Χ λεπτά (π.χ. 5), χτυπάει ένα κουδουνάκι και ο ζαχαροπλάστης αφήνει στην άκρη το γλυκό που έφτιαχνε και καταπιάνεται με το επόμενο. Σελίδα 3
Χρήση ενός χρονιστή (timer) ο οποίος ανά τακτά χρονικά διαστήματα δημιουργεί μια διακοπή. Ο χρόνος χωρίζεται σε διαστήματα διάρκειας Τ. Αν έχουμε «μ» προγράμματα για εκτέλεση, που συμβολίζονται με π 1, π 2,, π μ, τότε η περίοδος διαιρείται σε «μ» χρονικά διαστήματα τ 1, τ 2,, τ μ. Σχήμα 1.3: Διαχωρισμός του χρόνου και εκτέλεση προγραμμάτων ανά διαστήματα Ο χρονιστής δημιουργεί ένα σήμα στην αρχή κάθε περιόδου τ ν. Κάποια προγράμματα εξυπηρετούνται πρώτα κατ εξαίρεση όταν απαιτείται. 1.4 Λ/Σ 3 ης και 4 ης γενιάς Χρήση πολλών ζαχαροπλαστών (πολυεπεξεργαστικά συστήματα) ή/και πολλών καταστημάτων (δίκτυα υπολογιστών). Συνδυασμός των προηγούμενων μεθόδων. Χρήση παράλληλων υπολογιστών, κατανεμημένα συστήματα, δίκτυα. Πραγματική ταυτόχρονη εκτέλεση πολλών προγραμμάτων. Τα σύγχρονα Λ/Σ γράφονται συνήθως σε συμβολική γλώσσα (Assembly) ή/και γλώσσα υψηλού επιπέδου (π.χ. C). 1.5 Δομή ενός Λ/Σ Τα περισσότερα Λ/Σ είναι οργανωμένα σε επίπεδα (layers). Κάθε τμήμα επικοινωνεί με το αμέσως ανώτερο ή το αμέσως κατώτερο επίπεδο. Όσα τμήματα επικοινωνούν απευθείας με το υλικό του υπολογιστή βρίσκονται στο κατώτερο επίπεδο. Στο ακόλουθο σχήμα φαίνεται η οργάνωση ενός Λ/Σ σε επίπεδα: Σελίδα 4
Υψηλότερο επίπεδο Εφαρμογές Χρηστών Διεπαφή Χρήστη: Διερμηνέας εντολών, GUI Μηχανισμός κλήσεων συστήματος Σύστημα αρχείων Άνω τμήμα οδηγών Ε/Ε (Εισόδου-Εξόδου) Χαμηλότερο επίπεδο Διαχείριση διεργασιών Διαχείριση μνήμης Κάτω τμήμα οδηγών Ε/Ε Περιφερειακές Συσκευές Σχήμα 1.4: Δομή ενός Λειτουργικού Συστήματος 1.6 Ασκήσεις 1. Συμπλήρωσε τα κενά με τις λέξεις που λείπουν: 1. Η υποαπασχόληση των συσκευών είναι χαρακτηριστικό των ΛΣ.. 2. Τα ΛΣ που επιτρέπει σε περισσότερα από ένα προγράμματα να είναι φορτωμένα στην μνήμη του υπολογιστή και να εκτελούνται συγχρόνως λέγονται 3. Τα προγράμματα του ΛΣ που διαχειρίζονται ταυτόχρονα τις περιφερειακές συσκευές λέγονται..... 4. Το χρονικό διάστημα που μεσολαβεί από την στιγμή που ο προγραμματιστής θα υποβάλει ένα πρόγραμμα για εκτέλεση στον υπολογιστή μέχρι τη στιγμή που θα πάρει τα αποτελέσματα λέγεται... 2. Αντιστοιχίστε τις λέξεις: 1. Υποαπασχόληση των συσκευών Α. ΛΣ Καταμερισμού χρόνου 2. Ταυτόχρονη εκτέλεση εργασιών από το ΛΣ Β. ΛΣ Πολυπρογραμματισμού 3. Ταυτόχρονη εκτέλεση εργασιών από πολλούς επεξεργαστές Γ. ΛΣ 4 ης Γενιάς 4. Χρήση σημάτων διακοπής ανά τακτά χρονικά διαστήματα Δ. ΛΣ Ομαδικής Επεξεργασίας Σελίδα 5