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

Γνώση Υπολογιστών >> Υλικό υπολογιστών >  >> Σταθμοί εργασίας

Τι εννοείτε με τον μη προληπτικό πρώτο προγραμματισμό της συντομότερης εργασίας εξηγήστε με ένα παράδειγμα;

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

Ακολουθεί ένα παράδειγμα για την απεικόνιση του μη προληπτικού προγραμματισμού SJF:

Εξετάστε το ακόλουθο σύνολο διαδικασιών με τους χρόνους έκρηξης της CPU:

Διαδικασία 1:Χρόνος ριπής =5

Διαδικασία 2:Χρόνος ριπής =3

Διαδικασία 3:Χρόνος ριπής =8

Αρχικά, και οι τρεις διεργασίες βρίσκονται στην ουρά ετοιμότητας. Η CPU εκχωρείται στη Διεργασία 2, καθώς έχει τον μικρότερο χρόνο ριπής της CPU. Η διαδικασία 2 ξεκινά να εκτελείται και εκτελείται για 3 χρονικές μονάδες. Τη χρονική στιγμή t =3, η διαδικασία 2 ολοκληρώνει την εκτέλεσή της και εξέρχεται.

Τώρα, η έτοιμη ουρά περιέχει τη διαδικασία 1 και τη διεργασία 3. Η διεργασία 1 έχει μικρότερο χρόνο ριπής CPU από τη Διεργασία 3, επομένως της εκχωρείται η CPU. Η διαδικασία 1 εκτελείται για 5 χρονικές μονάδες και ολοκληρώνει την εκτέλεσή της τη χρονική στιγμή t =8.

Τέλος, μόνο η διαδικασία 3 μένει στην ουρά ετοιμότητας. Έχει εκχωρηθεί η CPU και τρέχει για 8 χρονικές μονάδες. Τη χρονική στιγμή t =16, η διαδικασία 3 ολοκληρώνει την εκτέλεσή της και η CPU τίθεται σε αδράνεια.

Συνοπτικά, η σειρά με την οποία εκτελούνται οι διεργασίες σε αυτό το παράδειγμα είναι:Διαδικασία 2, Διαδικασία 1 και Διαδικασία 3. Ο συνολικός χρόνος που απαιτείται για την ολοκλήρωση όλων των διεργασιών είναι 16 χρονικές μονάδες.

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

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