Διδακτικά Βιβλία του Παιδαγωγικού Ινστιτούτου

Αναζήτηση

Βρες
Εμφάνιση

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

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

Μια άλλη μέθοδος λειτουργίας του ζαχαροπλαστείου θα ήταν η «ταυτόχρονη» παρασκευή των γλυκών, με καταμερισμό του χρόνου του υπαλλήλου μεταξύ των διαφόρων συνταγών. Κάθε πέντε λεπτά χτυπά ένα ρολόι και ο ζαχαροπλάστης διακόπτει την εργασία του, βάζει στην άκρη το γλυκό που έφτιαχνε και καταπιάνεται με το επόμενο στη σειρά.

Στα υπολογιστικά συστήματα το ρόλο του ρολογιού έχει ένα ειδικό κύκλωμα, ο χρονιστής (timer), το οποίο σε τακτά χρονικά διαστήματα δημιουργεί ένα σήμα διακοπής. Ο χρόνος χωρίζεται σε διαστήματα διάρκειας Τ. Αν υπάρχουν μ προγράμματα για εκτέλεση, που συμβολίζονται με π1, π2…..πμ, η περίοδος Τ διαιρείται σε μ χρονικά διαστήματα τ1, τ2…..τμ. Ο χρονιστής δημιουργεί ένα σήμα στην αρχή κάθε περιόδου τν, οπότε αρχίζει να εξυπηρετείται από την ΚΜΕ το ν-οστό πρόγραμμα. Αν κάποιο από αυτά δεν ζητά εξυπηρέτηση ή έχει τελειώσει, η σειρά του δίνεται στο επόμενο.

Ένα ΛΣ που οργανώνει τη λειτουργία του υπολογιστή κατ' αυτό τον τρόπο ονομάζεται Λειτουργικό Σύστημα Καταμερισμού Χρόνου (time sharing).

Η περίοδος Τ μπορεί να είναι της τάξης των 3 sec· αν υποθέσουμε ότι υπάρχουν 6 προγράμματα για εκτέλεση, στο καθένα (σε κάθε περίοδο) διατίθεται 0,5 sec, χρόνος αρκετά μεγάλος για να καλύψει πολλές φορές ολόκληρη την εκτέλεση ενός προγράμματος.

Εάν κάποιο πρόγραμμα δεν καλύπτεται, περιμένει μέχρι την επόμενη χρονική περίοδο. Μερικές φορές βέβαια ένα πρόγραμμα πρέπει να εκτελεστεί αμέσως, χωρίς καθυστέρηση, επειδή η ταχύτητα απόκρισής του έχει ουσιαστική σημασία. Τότε, σε περιπτώσεις δηλαδή λειτουργίας σε πραγματικό χρόνο (real-time operation), το πρόγραμμα έχει προτεραιότητα έναντι των άλλων και εξυπηρετείται πρώτο.