|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Bannato
Iscritto dal: Sep 2001
Città: http://elbompr.splinder.it
Messaggi: 254
|
chiarimento[domanda scheduling della CPU]
domanda relativa allo scheduling fra processi.Da solo non riesco a risolvere Nello scheduling fra processi l' SJF(short job first) preemptive e l' SJF non preemptive sono due tipologie dell'algoritmo SJF .
La scelta si presenta quando alla ready queue arriva un nuovo processo mentre è ancora in esecuzione un processo precedente. SJF preemptive rimpiazza il processo attualmente in esecuzione mentre un algoritmo SJF non preemptive permette al processo attualmente in esecuzione di finire il proprio CPU burst . tempo di arrivo tempo di burst P1 0 8 P2 1 4 P3 2 9 P4 3 5 uno scheduling SJF non preemptive quale tempo medio darebbe come risultato???? |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Dec 2001
Città: /dev/rotfl
Messaggi: 7276
|
![]() manda direttamente un pvt a ilsensine ![]() Ciao ![]()
__________________
....::::fluxbox è talmente veloce che quando digito startx, il WM aspetta che il server Xorg lo raggiunga - PiloZ::::...
|
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Dai una occhiata qui:
http://sankofa.loc.edu/chu/web/Cours...10/Ch2/SJF.htm Sposto in Programmazione
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
![]() |
![]() |
![]() |
#4 |
Bannato
Iscritto dal: Sep 2001
Città: http://elbompr.splinder.it
Messaggi: 254
|
ho provato a controllare anche dal link
ma non ho ancora capito come arrivare alla soluzione del mio esempio . aiutini vari? help please non m i ''streccio'' da solo |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Mar 2004
Messaggi: 1451
|
direi 6,5.
Se è non preemptive allora p1 viene schedulato e finisce ad 8, durante questo tempo sono arrivati tutti gli altri e li selezioni in base al loro burst. Per ottenre il tempo medio divi il tempo in cui tutti i processi hanno eseguito il burst e lo dividi per numero di processi.
__________________
Ciao ~ZeRO sTrEsS~ |
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
http://sankofa.loc.edu/chu/web/Cours.../Schedule.html Nel caso di task spezzettato su un unico slice (come nel caso dello scheduling non preemptivo) coincide banalmente con la differenza tra il tempo di inizio e il tempo di arrivo del task; nello scheduling preemptivo viene semplicemente sottratto da questo valore il totale di eventuali tick che il task ha eventualmente avuto modo di utilizzare prima dell'ultimo slice. Nota che, secondo quella definizione di "tempo di attesa", è assolutamente indifferente come sono stati distribuiti gli istanti di esecuzione del task prima del suo ultimo tick.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:54.