Υλικό υπολογιστών

Γνώση Υπολογιστών >> Υλικό υπολογιστών >  >> Επεξεργαστές (CPU)

Μπορούμε να καθορίσουμε την κατάσταση μιας διαδικασίας από υλικό ή ουρές που σχετίζεται με τη δεδομένη χρονική στιγμή;

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

* στρώματα αφαίρεσης: Τα λειτουργικά συστήματα αφηρημένα μακριά μεγάλο μέρος του υλικού. Η κατάσταση της διαδικασίας (τρέξιμο, μπλοκαρισμένη, έτοιμη, κλπ.) Διαχειρίζεται ο πυρήνας του OS, που δεν αντικατοπτρίζεται άμεσα σε καταχωρητές ακατέργαστων υλικών ή τοποθεσίες μνήμης. Οι ουρές, όπως η έτοιμη ουρά, δείχνουν την * προοριζόμενη * κατάσταση, όχι απαραίτητα την * πραγματική * κατάσταση σε οποιαδήποτε συγκεκριμένη στιγμή.

* Συμφωνία: Τα σύγχρονα συστήματα είναι ιδιαίτερα ταυτόχρονα. Η κατάσταση της διαδικασίας μπορεί να αλλάξει εξαιρετικά γρήγορα. Ακόμα κι αν θα μπορούσατε να εξετάσετε στιγμιαία όλα τα σχετικά υλικό και τις ουρές, το κράτος μπορεί να αλλάξει πριν ολοκληρώσετε την παρατήρησή σας.

* Περιορισμοί υλικού: Η άμεση πρόσβαση και η ερμηνεία των καταχωρητών υλικού απαιτεί προνομιακή πρόσβαση (συνήθως διαθέσιμη μόνο στον πυρήνα του OS). Μπορεί να είστε σε θέση να παρατηρήσετε ορισμένες πτυχές (όπως η χρήση της CPU μέσω μετρητών απόδοσης), αλλά όχι μια άμεση χαρτογράφηση σε μια κατάσταση διαδικασίας.

* Μη-Determinism: Ο ακριβής χρονισμός των διακοπτών περιβάλλοντος, των διακοπών και άλλων συμβάντων OS δεν είναι ακριβώς προβλέψιμη. Αυτό καθιστά αδύνατο να εξασφαλιστεί η καταγραφή της κατάστασης της διαδικασίας σε ένα συγκεκριμένο μικροδευτερόλεπτο.

* Αναπαράσταση ουράς: Οι ίδιες οι ουρές είναι δομές δεδομένων που διαχειρίζονται το λειτουργικό σύστημα. Μια διαδικασία μπορεί να είναι * σε * μια έτοιμη ουρά, αλλά αυτό δεν σημαίνει ότι τρέχει ενεργά σε μια CPU αυτή τη στιγμή. Απλώς περιμένει τη σειρά του.

Τι μπορείς * μπορείς να καθορίσει:

Μπορείτε να πάρετε μια λογικά καλή προσέγγιση * της κατάστασης μιας διαδικασίας μέσω διαφόρων εργαλείων και διεπαφών που παρέχονται από το OS:

* `/proc`ysystem files (linux): Παρέχει πληροφορίες σχετικά με τις διαδικασίες λειτουργίας, συμπεριλαμβανομένης της κατάστασής τους (π.χ. ύπνος, τρέξιμο, ζόμπι). Αυτό είναι ένα στιγμιότυπο στο χρόνο, αλλά σχετικά κοντά στην αλήθεια.

* Εργαλεία παρακολούθησης συστήματος: Εργαλεία όπως το `top`, το` htop`, το ps` και το `monitor activity '(macOs) παρέχουν μια συνεχώς ενημερωμένη, αν και εξακολουθεί να είναι κατά προσέγγιση άποψη των καταστάσεων της διαδικασίας.

* Εργαλεία εντοπισμού σφαλμάτων: Οι εντοπιστές σφαλμάτων σας επιτρέπουν να σταματήσετε μια διαδικασία και να επιθεωρήσετε την κατάστασή του, αλλά αυτό είναι ενοχλητικό και δεν θα αντιπροσωπεύει τη συμπεριφορά της διαδικασίας σε μια φυσική, μη διακοσμημένη κατάσταση.

* API παρακολούθησης απόδοσης: Τα API όπως αυτά που παρέχονται από το λειτουργικό σύστημα ή τις εξειδικευμένες βιβλιοθήκες σας επιτρέπουν να παρακολουθείτε διάφορες μετρήσεις διαδικασιών όπως η χρήση της CPU, η χρήση μνήμης, οι λειτουργίες I/O και πολλά άλλα. Αν και δεν είναι μια άμεση εκπροσώπηση του κράτους, αυτό σας δίνει ισχυρές ενδείξεις σχετικά με το επίπεδο δραστηριότητας της διαδικασίας.

Συνοπτικά, ενώ το υλικό και οι ουρές διαδραματίζουν κάποιο ρόλο στην εκτέλεση μιας διαδικασίας, η απευθείας χαρτογράφηση τους σε μια ακριβή κατάσταση σε συγκεκριμένη χρονική στιγμή είναι ανέφικτη και αναξιόπιστη λόγω των στρωμάτων αφαίρεσης και της εγγενούς ταυτόχρονης ταυτόχρονα των σύγχρονων λειτουργικών συστημάτων. Αντ 'αυτού, βασίζοντας σε εργαλεία που παρέχονται από το OS και APIs προσφέρει μια πολύ πιο ακριβή και πρακτική προσέγγιση για την παρατήρηση των καταστάσεων της διαδικασίας.

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα