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

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

Πώς υπολογίζετε την ώρα έκρηξης της CPU σε ένα σύστημα υπολογιστή;

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

1. Το ιδανικό (και μη πρακτικό) σενάριο:Γνωρίζοντας το μέλλον

* Σε έναν τέλειο κόσμο, θα γνωρίζατε την ακριβή ώρα έκρηξης CPU κάθε διαδικασία θα χρειαστεί * πριν * τρέχει. Αυτό θα επέτρεπε τον βέλτιστο προγραμματισμό (π.χ. πρώτα τη συντομότερη εργασία).

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

2. Η πρακτική προσέγγιση:Εκτίμηση χρησιμοποιώντας εκθετικό μέσο όρο

Δεδομένου ότι δεν μπορούμε να γνωρίζουμε την ακριβή ώρα έκρηξης, τα λειτουργικά συστήματα χρησιμοποιούν αλγόριθμους πρόβλεψης Για να το εκτιμήσετε. Η πιο συνηθισμένη και αποτελεσματική τεχνική είναι εκθετικός μέσος όρος (επίσης γνωστή ως γήρανση).

* Φόρμουλα:

`τ_ (n + 1) =α * t_n + (1 - α) * τ_n`

Οπου:

* `τ_ (n+1)`:Ο προβλεπόμενος χρόνος έκρηξης για την * επόμενη * cpu έκρηξη.

* `t_n`:Ο * πραγματικός * μετρημένος χρόνος έκρηξης του * πιο πρόσφατου * CPU Burst.

* `τ_n`:Η * Προηγούμενη * Προβλεπόμενη ώρα έκρηξης. Αυτή είναι η εκτίμηση που κάναμε πριν από την τελευταία έκρηξη.

* `α ':Ο συντελεστής εξομάλυνσης (0 ≤ α ≤ 1). Αυτό καθορίζει το βάρος που δόθηκε στην πιο πρόσφατη έκρηξη έναντι της προηγούμενης πρόβλεψης.

* Επεξήγηση:

* Ο τύπος υπολογίζει έναν σταθμισμένο μέσο όρο της προηγούμενης πρόβλεψης (`τ_n`) και τον πιο πρόσφατο πραγματικό χρόνο έκρηξης (` t_n`).

* `α 'ελέγχει πόσο γρήγορα η πρόβλεψη προσαρμόζεται στις αλλαγές στη συμπεριφορά της διαδικασίας.

* Υψηλή α (κοντά στο 1): Δίνει περισσότερο βάρος στην πρόσφατη έκρηξη. Η πρόβλεψη ανταποκρίνεται γρήγορα στις ξαφνικές αλλαγές στις απαιτήσεις της CPU. Κατάλληλο για διαδικασίες με σύντομες, μεταβλητές εκρήξεις.

* Χαμηλή α (κοντά στο 0): Δίνει περισσότερο βάρος στην ιστορία του παρελθόντος. Η πρόβλεψη είναι πιο σταθερή και λιγότερο επηρεασμένη από περιστασιακές διακυμάνσεις. Κατάλληλο για διαδικασίες με σχετικά συνεπείς απαιτήσεις CPU.

* Όταν φτάσει μια νέα διαδικασία, η αρχική εκτίμηση του χρόνου έκρηξης (`τ_0`) έχει συνήθως ρυθμιστεί σε μια μικρή, προεπιλεγμένη τιμή (π.χ. 0 ή ο μέσος χρόνος έκρηξης άλλων διαδικασιών).

* Παράδειγμα:

Ας πούμε:

* `α =0,5 '

* `τ_n =10` ms (προηγούμενη πρόβλεψη)

* `t_n =20` ms (η πραγματική ώρα έκρηξης μόλις ολοκληρώθηκε)

Τότε:

`τ_ (n + 1) =0,5 * 20 + (1 - 0,5) * 10 =10 + 5 =15` ms

Ο προβλεπόμενος χρόνος έκρηξης για την επόμενη έκρηξη είναι 15 ms.

3. Πώς λειτουργεί στην πράξη (απλοποιημένη)

1. Αρχικοποίηση: Όταν ξεκινά μια διαδικασία, ρυθμίστε μια αρχική εκτίμηση (`τ_0`).

2. Εκτέλεση: Η διαδικασία τρέχει και μετράμε την πραγματική ώρα έκρηξης της CPU (`t_n`).

3. Εκτίμηση: Αφού ολοκληρωθεί η έκρηξη, χρησιμοποιήστε τον εκθετικό τύπο μέσου όρου για να υπολογίσετε τη νέα προβλεπόμενη ώρα έκρηξης (`τ_ (n+1)`).

4. Επαναλάβετε: Η διαδικασία συνεχίζεται και επαναλαμβάνουμε τα βήματα 2 και 3 μετά από κάθε έκρηξη. Η πρόβλεψη ενημερώνεται συνεχώς.

4. Σκέψεις και προκλήσεις

* Επιλογή α: Η επιλογή της δεξιάς τιμής `α 'είναι κρίσιμη. Δεν υπάρχει ενιαία "καλύτερη" αξία. Εξαρτάται από τα χαρακτηριστικά των διαδικασιών που εκτελούνται στο σύστημα. Ορισμένα λειτουργικά συστήματα ενδέχεται να ρυθμίζουν δυναμικά το «α» με βάση τη συμπεριφορά της παρατηρούμενης διαδικασίας.

* Ακρίβεια: Ο εκθετικός μέσος όρος είναι μια *εκτίμηση *, όχι ένας τέλειος προγνωστικός παράγοντας. Η ακρίβεια της πρόβλεψης εξαρτάται από τη συμπεριφορά της διαδικασίας και την επιλογή του «α».

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

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

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

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

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