Create strutture dati delle risorse e dei processi

This commit is contained in:
Claudio Maggioni 2016-05-05 12:47:36 +02:00
parent 03ba085520
commit b492e1b669

View file

@ -5,6 +5,66 @@
<meta name="author" content="Claudio Maggioni, Fabio Brambilla, Pamela Dardano, Federico Mainetti, Ionel Mihali"/> <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."/> <meta name="description" content="Simulazione di uno scheduler in HTML, Javascript e (purtroppo) CSS."/>
</head> </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> <body>
<h1>Prima modifica</h1> <h1>Prima modifica</h1>
</body> </body>