21. Παράδειγμα κύκλου ζωής διεργασίας

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

 Η αρχική κατάσταση μιας διεργασίας είναι “new”. H μετάβαση “Admitted” παραδίδει τη διεργασία στον scheduler και αυτή έρχεται σε κατάσταση «ready». Στη συνέχεια  η μετάβαση  Scheduler Dispatch”,  φέρνει τη διεργασία σε “runningstate. Από την ώρα που έχει δρομολογηθεί η λειτουργία της και είναι σε “runningstate υπάρχουν 3 επιλογές:  να δεχθεί κάποιο «Interrupt»,  να ζητήσει  έσοδο/έξοδο ή να περιμένει ένα γεγονός («Ι/Ο or wait event»), είτε να τερματίσει “Exit”.

                Σε περίπτωση που δεχτεί “Interrupt”, επιστρέφει σε κατάσταση “ready” . Στη 2η περίπτωση, έρχεται σε κατάσταση “waiting” και περιμένει να τελειώσει η είσοδος/έξοδος. Στη συνέχεια η μοναδική επιλογή “I/Ο or event completion” προσομοιάζει την ολοκλήρωση του I/O και η διεργασία επιστρέφει σε κατάσταση “ready”.

                Η τελική κατάσταση της διεργασίας είναι η “terminated” η οποία συμβαίνει όταν ο χρήστης επιλεγεί η μετάβαση “exit” και εφόσον  η διεργασία είναι σε κατάσταση “running”.