a.Alg alloc

Сделай свою wap-шпаргалку =) попробуй конструктор сайтов http://www.panweb.com/


alg alloc /* alocarea unui bloc din sistemul de fi?iere */
intrare: numгrul sistemului de fi?iere
ie?ire: buffer pentru noul blocul
{
while (superblocul este blocat)
sleep (pвnг superblocul devine liber);
?terge un bloc din lista liberг din superbloc;
if (s-a ?ters ultimul bloc)
{
blocheazг superblocul;
cite?te blocul care tocmai a fost luat din lista liberг (algoritm bread );
copiazг оn superbloc numerele de bloc din blocul citit;
elibereazг bufferul alocat blocului (algoritm brelse);
deblocheazг superblocul;
treze?te procesele(care a?teaptг deblocarea superblocului);
}
obюine buffer pentru blocul ?ters din superbloc(algoritm getblk );
conюinutul bufferului este pus cu 0;
decrementeazг contorul total al blocurilor libere;
marcheazг faptul cг superblocul a fost modificat;
return buffer;
}