Παρασκευή 28 Νοεμβρίου 2014

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

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



Λειτουργικά Συστήματα Ομαδικής Επεξεργασίας

Αυτός ο τρόπος εξυπηρέτησης αντιστοιχεί στα ΛΣ πρώτης γενιάς της δεκαετίας του '50, τα Λειτουργικά Συστήματα Ομαδικής Επεξεργασίας (batch processing). Στα συστήματα αυτά ο χειριστής του υπολογιστικού συστήματος ομαδοποιούσε τα προγράμματα που υπέβαλλαν οι χρήστες· έτσι το ΛΣ δεχόταν μια ομάδα ομοειδών προγραμμάτων (π.χ. προγραμμάτων COBOL), τα επεξεργαζόταν το ένα μετά το άλλο (με τη σειρά εμφανίσεως) και τύπωνε τα αποτελέσματά τους πάλι με την ίδια σειρά. Τα πρώτα αυτά λειτουργικά συστήματα, παρουσίαζαν τα ακόλουθα βασικά μειονεκτήματα:

  • Υποαπασχόληση των συσκευών: Σε ένα ΛΣ ομαδικής επεξεργασίας δεν ήταν δυνατή η ταυτόχρονη εκτέλεση περισσοτέρων του ενός προγραμμάτων. Έπρεπε πρώτα να τελειώσει ένα πρόγραμμα, για να αρχίσει η εκτέλεση του επομένου προγράμματος της ομάδας. Ένα πρόγραμμα όμως δεν μπορεί να απασχολεί ταυτόχρονα όλες τις μονάδες του Η/Υ, οι οποίες κατά συνέπεια υποαπασχολούνταν· για παράδειγμα, η ΚΜΕ απασχολούνταν συνήθως σε ποσοστό μικρότερο του 10%.
    Εάν ήταν δυνατό να εκτελούνται πολλά προγράμματα ταυτόχρονα, θα μπορούσε σε μια δεδομένη χρονική στιγμή κάθε ένα από αυτά να απασχολεί και διαφορετική μονάδα. Έτσι θα περιοριζόταν ο ανενεργός χρόνος κάποιων μονάδων του υπολογιστή.
  • Το χρονικό διάστημα που μεσολαβεί από τη στιγμή που ο προγραμματιστής θα αφήσει στον υπολογιστή το πρόγραμμά του μέχρι τη στιγμή που θα πάρει τα αποτελέσματα, ονομάζεται χρόνος ανακύκλωσης (turnaround time) και στα ΛΣ ομαδικής επεξεργασίας το διάστημα αυτό ήταν πολύ μεγάλο. Συνήθως τα αποτελέσματα των προγραμμάτων δεν ήταν διαθέσιμα, παρά μόνο αφού είχε ολοκληρωθεί η εκτέλεση όλης της ομάδας. Έτσι ο χρόνος ανακύκλωσης εξαρτιόταν από το χρόνο εκτέλεσης ολόκληρης της ομάδας, ο οποίος μπορεί να είναι π.χ. 50 ή 100 φορές μεγαλύτερος από το χρόνο εκτέλεσης του συγκεκριμένου προγράμματος.

Λειτουργικά Συστήματα Πολυπρογραμματισμού

Αυτή την ιδέα οργάνωσης ακολουθούν τα ΛΣ δεύτερης γενιάς (δεκαετίας '60), τα Λειτουργικά Συστήματα Πολυπρογραμματισμού (multiprogramming), στα οποία επιδιώκεται η μείωση του άεργου χρόνου των μονάδων του υπολογιστή και του χρόνου ανακύκλωσης. Η διακοπή μιας λειτουργίας (το κουδουνάκι του ζαχαροπλαστείου) γίνεται με τη δημιουργία ειδικών σημάτων, των σημάτων διακοπής (interrupts), τα οποία διακόπτουν την τρέχουσα λειτουργία της ΚΜΕ.
Πολλές φορές το ΛΣ Πολυπρογραμματισμού ορίζεται ως το ΛΣ που επιτρέπει σε περισσότερα από ένα προγράμματα να είναι «φορτωμένα» στη μνήμη τού υπολογιστή και να εκτελούνται συγχρόνως. Φυσικά μόνο ένα πρόγραμμα μπορεί να απασχολεί ανά πάσα στιγμή κάθε μονάδα· π.χ. ένα πρόγραμμα εκτελείται από την ΚΜΕ, ένα άλλο διαβάζει από το δίσκο, ένα τρίτο στέλνει δεδομένα στη σειριακή θύρα εξόδου κλπ.

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

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



Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου