SHPORA.net :: PDA | |
Main FAQ ãóìàíèòàðíûå íàóêè åñòåñòâåííûå íàóêè ìàòåìàòè÷åñêèå íàóêè òåõíè÷åñêèå íàóêè 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; } |