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

Αναζήτηση

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

Οι λίστες του λειτουργικού συστήματος

Με τη μέθοδο των λιστών αναμονής, οι διεργασίες χωρίζονται σε κατηγορίες: Για κάθε σηματοφορέα έχουμε την κατηγορία των διεργασιών που περιμένουν γι' αυτόν, και υπάρχει η κατηγορία των διεργασιών που δεν περιμένουν για κανένα σηματοφορέα. Για να μπορεί το ΛΣ να βρίσκει εύκολα και γρήγορα ποιες διεργασίες δεν περιμένουν σε κάποιο σηματοφορέα, κρατά μια ξεχωριστή λίστα με αυτές. Η λίστα αυτή ονομάζεται λίστα έτοιμων διεργασιών (ready list, RL)· από αυτήν επιλέγει το ΛΣ την επόμενη διεργασία που θα εκτελεστεί. Συνήθως και η λίστα έτοιμων διεργασιών είναι οργανωμένη σαν ουρά.

Ο τρόπος λειτουργίας της ΚΜΕ είναι παρόμοιος με αυτόν ενός ορυχείου, όπου βαγονάκια μεταφέρουν από τις σήραγγες το μετάλλευμα στο εργοστάσιο για επεξεργασία. Τα βαγονάκια - διεργασίες μπαίνουν ένα-ένα στο εργοστάσιο- ΚΜΕ από μια σιδηροδρομική γραμμή - λίστα έτοιμων διεργασιών για να εξυπηρετηθούν. Όμως κατά τη διάρκεια της λειτουργίας του ορυχείου τα βαγονάκια χρειάζονται συντήρηση· άλλο χρειάζεται λάδωμα στους τροχούς, άλλο επισκευή στα φρένα, και άλλο χρειάζεται επιδιόρθωση στον καταπέλτη. Ανάλογα με την επισκευή που χρειάζονται μπαίνουν στην ουρά του αντίστοιχου συνεργείου-σηματοφορέα, και όταν έρθει η σειρά τους επισκευάζονται. Για όσο διάστημα βρίσκονται υπό επισκευή δε χρησιμοποιούνται, οπότε βρίσκονται εκτός της γραμμής-λίστας έτοιμων διεργασιών.

Μια διεργασία μπορεί λοιπόν να βρίσκεται στις εξής καταστάσεις (process states): - εκτελείται από την ΚΜΕ: η διεργασία ονομάζεται τρέχουσα (running) - περιμένει για εκτέλεση στη λίστα έτοιμων διεργασιών: η διεργασία ονομάζεται έτοιμη (ready) - περιμένει στην ουρά κάποιου σηματοφορέα: η διεργασία είναι μπλοκαρισμένη (blocked) Στο σχήμα βλέπουμε τον τρόπο που μία διεργασία μπορεί να μεταβεί από μία κατάσταση σε άλλη. Η μετάβαση από την κατάσταση «Τρέχουσα» στην κατάσταση «Μπλοκαρισμένη» με τη λειτουργία Ρ γίνεται μόνο εφόσον ο σηματοφορέας έχει την τιμή 0.

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