SHPORA.net :: PDA

Login:
ðåãèñòðàöèÿ

Main
FAQ

ãóìàíèòàðíûå íàóêè
åñòåñòâåííûå íàóêè
ìàòåìàòè÷åñêèå íàóêè
òåõíè÷åñêèå íàóêè
Search:
Title: | Body:

a.Alg alloc

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;
}