W tym artykule dowiemy się o algorytmie planowania zwanym algorytmem okrężnym, co to jest okrężny? Jak napisać program? Itd. Zacznijmy.
Co to jest harmonogramowanie okrężne?
Planowanie okrężne to algorytm planowania używany przez system do planowania wykorzystania procesora. To jest algorytm zapobiegawczy. Istnieje ustalony przedział czasu powiązany z każdym żądaniem zwany kwantem. Program do planowania zadań zapisuje postęp aktualnie wykonywanego zadania i przechodzi do następnego zadania w kolejce, gdy określony proces jest wykonywany przez określony czas.
java jak przekonwertować double na int
Żaden proces nie zatrzyma procesora przez długi czas. Przełączanie nazywa się przełączaniem kontekstu. Jest to prawdopodobnie jeden z najlepszych algorytmów planowania. Wydajność tego algorytmu zależy od wartości kwantowej.
różnica między qtp a selenem
OKRĄGŁY ALGORYTM TERMINOWANIA ROBINA
- Najpierw mamy kolejkę, w której procesy są uporządkowane według kolejności zgłoszeń.
- Do wykonania każdego procesu przydzielana jest wartość kwantowa.
- Pierwszy proces jest wykonywany do końca wartości kwantowej. Następnie generowane jest przerwanie i stan zostaje zapisany.
- Następnie CPU przechodzi do następnego procesu i stosuje tę samą metodę.
- Te same kroki są powtarzane aż do zakończenia wszystkich procesów.
Rozważ przykładowy kod
#include int main () {int i, limit, total = 0, x, counter = 0, time_quantum int wait_time = 0, turnaround_time = 0, arrival_time [10], burst_time [10], temp [10] float Average_wait_time, Average_turnaround_time printf ('nEnter Total Number of Processes: t') scanf ('% d', & limit) x = limit for (i = 0 i0) {temp [i] = temp [i] - time_quantum total = total + time_quantum} if (temp [i] == 0 && counter == 1) {x-- printf ('nProcess [% d] tt% dtt % dttt% d ', i + 1, burst_time [i], total - arrival_time [i], total - arrival_time [i] - burst_time [i]) wait_time = wait_time + total - arrival_time [i] - burst_time [i] turnaround_time = czas_obrotu + suma - czas_przyjazdu [i] licznik = 0} if (i == limit - 1) {i = 0} else if (czas_przyjazdu [i + 1]<= total) { i++ } else { i = 0 } } average_wait_time = wait_time * 1.0 / limit average_turnaround_time = turnaround_time * 1.0 / limit printf('nnAverage Waiting Time:t%f', average_wait_time) printf('nAvg Turnaround Time:t%fn', average_turnaround_time) return 0 }
WYNIK:
WYJAŚNIENIE:
W powyższym kodzie prosimy użytkownika o podanie liczby procesów oraz czasu nadejścia i burstu dla każdego procesu. Następnie obliczamy czas oczekiwania i czas zwrotu za pomocą algorytmu okrężnego.
Główną częścią tutaj jest obliczenie czasu zwrotu i czasu oczekiwania. Czas zawrócenia oblicza się, dodając całkowity czas potrzebny na podróż i odejmując czas przybycia.
Czas oczekiwania jest obliczany poprzez odjęcie czasu przybycia i czasu wybuchu od sumy i dodanie go do czasu oczekiwania. W ten sposób odbywa się planowanie okrężne.
ZALETY:
- Niskie koszty związane z podejmowaniem decyzji.
- W przeciwieństwie do innych algorytmów daje równy priorytet wszystkim procesom.
- W tym procesie rzadko występuje głód.
NIEDOGODNOŚCI:
- Wydajność systemu spada, jeśli wartość kwantowa jest niska, ponieważ ma miejsce częste przełączanie.
- System może przestać odpowiadać, jeśli wartość kwantowa jest wysoka.
Tym samym dochodzimy do końca tego artykułu.
Mam nadzieję, że znalazłeś to pouczające i pomocne. Wypatruj więcej samouczków na podobne tematy. Możesz również sprawdzić nasz program szkoleniowy tMożesz uzyskać dogłębną wiedzę na temat jQuery i jego różnych aplikacji do szkoleń online na żywo z całodobowym wsparciem i dożywotnim dostępem.Zaimplementuj powyższy kod z różnymi ciągami i modyfikacjami. Teraz dobrze rozumiemy wszystkie kluczowe pojęcia związane ze wskaźnikiem.
co to jest zdarzenie javascript
Masz do nas pytanie? Wspomnij o nich w sekcji komentarzy na tym blogu, a skontaktujemy się z Tobą.