diff --git a/index.html b/index.html index b684afa..41333db 100644 --- a/index.html +++ b/index.html @@ -11,79 +11,127 @@ file: new Array(5), stampante: 0, io: new Array(6), - memoria: new Array(100), + mem: new Array(100) //vettore contenente 100 cloni di memoria } + var memoria = { + pid: 0, + istanteAllocazione: -1, + numeroPagina: -1 + } var processo = { - //template pid: 1, tempoDiCompletamento: 0, - quantitaMemoria: 0 + nPagine: 0, + pagine: 0, //vettore contenente gli indirizzi di tutte le pagine in ordine + paginaDaAllocare: 0 } + var processi = new Array(); function generaProcesso(){ - var nuovo=processo; - processo.tempoDiCompletamento=Math.floor(Math.random()*10)+3; - processo.quantitaMemoria=Math.floor(Math.random()*10)+3; - processo.pid++; + var nuovo=clone(processo); + processi.push(nuovo); + nuovo.tempoDiCompletamento=Math.floor(Math.random()*10)+3; + nuovo.nPagine=Math.floor(Math.random()*10)+3; + nuovo.pagine=new Array(nuovo.nPagine); + for(var i=0; i risorse.mem[i].istanteAllocazione) + min = i; + } + if(!resettaPagina(min)){ + scriviLog("Gestione del page fault fallita."); + return false; + }; + i=min; + } + risorse.mem[i].pid=proc.pid; + risorse.mem[i].numeroPagina=proc.paginaDaAllocare; + risorse.mem[i].istanteAllocazione=Date.now(); + proc.pagine[proc.paginaDaAllocare]=i; + scriviLog("Allocata pagina "+proc.paginaDaAllocare+" in locazione di memoria "+i); + proc.paginaDaAllocare++; + return true; } + function resettaPagina(pagina){ + scriviLog("Libero locazione di memoria "+pagina); + for(var i=0; i -
-

Scheduler

-

In informatica lo scheduler (da to schedule letteralmente "mettere in lista", ovvero "pianificare") è un componente - di un sistema operativo ovvero un programma che implementa un algoritmo di scheduling il quale, dato un insieme di richieste - di accesso ad una risorsa (tipicamente l'accesso al processore da parte di un processo da eseguire), stabilisce un ordinamento - temporale per l'esecuzione di tali richieste, privilegiando quelle che rispettano determinati parametri secondo una certa politica - di scheduling, in modo da ottimizzare l'accesso a tale risorsa e consentire così l'espletamento del servizio/istruzione o processo desiderato.

-
-
-
    -
  • Processo 1
  • -
  • Processo 2
  • -
  • Processo 3
  • -
-
+
+

Scheduler

+

In informatica lo scheduler (da to schedule letteralmente "mettere in lista", ovvero "pianificare") è un componente + di un sistema operativo ovvero un programma che implementa un algoritmo di scheduling il quale, dato un insieme di richieste + di accesso ad una risorsa (tipicamente l'accesso al processore da parte di un processo da eseguire), stabilisce un ordinamento + temporale per l'esecuzione di tali richieste, privilegiando quelle che rispettano determinati parametri secondo una certa politica + di scheduling, in modo da ottimizzare l'accesso a tale risorsa e consentire così l'espletamento del servizio/istruzione o processo desiderato.

+
+
+
    +
  • Processo 1
  • +
  • Processo 2
  • +
  • Processo 3
  • +
+

Prima modifica