Μετρητής κατανομής χρόνου για διερμηνευόμενα προγράμματα (καταργήθηκε 2007)

Η απόδοση προγραμμάτων γραμμένων σε διερμηνευόμενες γλώσσες όπως Perl, Ruby, PHP, Python, καθώς και στη γλώσσα του φλοιού του λειτουργικού συστήματος Unix (shell scripts) δεν είναι σήμερα εύκολο να αναλυθεί και, κατά συνέπεια, να βελτιστοποιηθεί. Με βάση την υπόθεση πως ο χρόνος των προγραμμάτων που γράφονται στις παραπάνω γλώσσες δεν αναλίσκεται στην εκτέλεση κώδικα γραμμένου στην αντίστοιχη γλώσσα αλλά σε κλήσεις του λειτουργικού συστήματος, μπορούμε να διαχωρίσουμε και να αναλύσουμε τις κλήσεις αυτές ανά διεργασία και ανά πόρο (λ.χ. αρχείο, δικτυακή σύνδεση), εξάγοντας έτσι πολύτιμα συμπεράσματα.

Σκοπός της εργασίας είναι η υλοποίηση ενός αναλυτή κατανομής χρόνου εκτέλεσης διεργασιών που βασίζεται στις κλήσεις του λειτουργικού συστήματος. Βάση για την εργασία θα αποτελέσει το πρόγραμμα παρακολούθησης κλήσεων του λειτουργικού συστήματος strace. Το πρόγραμμα είναι ανοιχτού πηγαίου κώδικα και προτείνεται να επεκταθεί έτσι ώστε να κατανέμει τους χρόνους που μετράει για κάθε κλήση ανά πόρο και ανά παρακολουθούμενη διεργασία.

Βιβλιογραφία