Εργαστήριο Λειτουργικών Συστημάτων
Άσκηση 2
Κατασκευή στατιστικών στοιχείων χρονοπρογραμματισμού για το λειτουργικό σύστημα Minix
Στην εργασία αυτή θα κληθείτε να δημιουργήσετε κώδικα που θα κρατά τα στατιστικά στοιχεία του χρονοπρογραμματιστή ΚΜΕ του Minix λειτουργικού συστήματος. Το Minix χρησιμοποιεί προς το παρόν 3 επίπεδα χρονοπρογραμματισμού με πολιτική round robin. Τα 3 επίπεδα με φθίνουσα σειρά προτεραιότητας είναι Task, Server και User Processes. Οι διεργασίες με προτεραιότητα Server τρέχουν μόνο όταν δεν υπάρχουν διεργασίες με προτεραιότητα Task σε κατάσταση ready. Παρομοίως, οι διεργασίες με προτεραιότητα User εκτελούνται μόνο αν δεν υπάρχουν διεργασίες με προτεραιότητα Task και Server σε κατάσταση ready. Για την υλοποίηση αυτού του σχήματος το Minix απλά επιλέγει τις πρώτες διεργασίες από την ουρά μεγαλύτερης προτεραιότητας που δεν είναι άδεια. Όταν μια διεργασία που εκτελούνταν ή ήταν μπλοκαρισμένη γίνεται ready προστίθεται στο τέλος της ουράς που αντιστοιχεί στο επίπεδο προτεραιότητάς της.
Σκοπός σας είναι να τροποποιηθεί ο κώδικας του Minix ώστε να καταγράφει τα στατιστικά στοιχεία που αφορούν το χρονοπρογραμματισμό, δηλαδή για κάθε διεργασία να αποθηκεύει σε ένα αρχείο τα στοιχεία της ταυτότητάς της και τους χρόνους αναμονής, απόκρισης και ολοκλήρωσης. Επίσης, θα πρέπει να κρατά συνολικά στατιστικά στοιχεία για όλο το σύστημα που θα περιλαμβάνουν τις παραπάνω μετρικές και επιπλέον τον αριθμό των διεργασιών που εκτελούνται στη μονάδα του χρόνου (throughput).
Re si file an bris kai esi kati pes mou sto 693-2048638 giati blepo na xanamenoume sto ergastirio
Ase re file tipota!! kai prepei na tin paradwsw ti deutera :((( an kataferw kati tha sou steilw...
tip: Ποτέ μην αφήνεις γιε αύριο αυτό που μπορείς να κάνεις σήμερα . Αύριο ίσως είναι αργά . * F5 για νέο tip