This repository has been archived on 2021-01-15. You can view files and clone it, but cannot push or open issues or pull requests.
html-scheduler/index.html
2016-05-05 12:49:50 +02:00

89 lines
2.5 KiB
HTML

<!DOCTYPE HTML>
<html lang="it">
<head>
<meta charset="utf-8">
<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>
<style type="text/css">
</style>
<body>
<div style="background-color:yellow; color:black; padding:20px;">
<h2>Scheduler</h2>
<p>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.</p>
</div>
<div>
<ul>
<li>Processo 1</li>
<li>Processo 2</li>
<li>Processo 3</li>
</ul>
</div>
<h1>Prima modifica</h1>
</body>
</html>