Create strutture dati delle risorse e dei processi
This commit is contained in:
parent
03ba085520
commit
b492e1b669
1 changed files with 60 additions and 0 deletions
60
index.html
60
index.html
|
@ -5,6 +5,66 @@
|
|||
<meta name="author" content="Claudio Maggioni, Fabio Brambilla, Pamela Dardano, Federico Mainetti, Ionel Mihali"/>
|
||||
<meta name="description" content="Simulazione di uno scheduler in HTML, Javascript e (purtroppo) CSS."/>
|
||||
</head>
|
||||
<script>
|
||||
var lungIstante=2000 //in millis
|
||||
var risorse = {
|
||||
file: new Array(5),
|
||||
stampante: 0,
|
||||
io: new Array(6),
|
||||
memoria: new Array(100),
|
||||
}
|
||||
var processo = {
|
||||
//template
|
||||
pid: 1,
|
||||
tempoDiCompletamento: 0,
|
||||
quantitaMemoria: 0
|
||||
}
|
||||
function generaProcesso(){
|
||||
var nuovo=processo;
|
||||
processo.tempoDiCompletamento=Math.floor(Math.random()*10)+3;
|
||||
processo.quantitaMemoria=Math.floor(Math.random()*10)+3;
|
||||
processo.pid++;
|
||||
return nuovo;
|
||||
}
|
||||
function lanciaProcesso(){
|
||||
var nuovo=generaProcesso();
|
||||
var j=0;
|
||||
var inizioMemoriaLibera=-1;
|
||||
|
||||
//ricerca memoria libera tramite first-fit
|
||||
for(var i=0; i<100; i++){
|
||||
if(risorse.memoria[i]!=0){
|
||||
j=0;
|
||||
inizioMemoriaLibera=-1;
|
||||
}
|
||||
else{
|
||||
j++;
|
||||
if(inizioMemoriaLibera==-1){
|
||||
inizioMemoriaLibera=i;
|
||||
}
|
||||
if(j==nuovo.quantitaMemoria){
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//scrivo su memoria il processo
|
||||
for(var i=j; i<j+nuovo.quantitaMemoria; i++){
|
||||
risorse.memoria[i]=nuovo.pid;
|
||||
}
|
||||
|
||||
window.setTimeout(function(){
|
||||
//libero il processo dalla memoria
|
||||
for
|
||||
},)
|
||||
}
|
||||
function main(){
|
||||
//inizializzazione memoria
|
||||
for(var i=0; i<100; i++){
|
||||
processo.memoria[i]=0;
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<body>
|
||||
<h1>Prima modifica</h1>
|
||||
</body>
|
||||
|
|
Reference in a new issue