шпаргалка

a.Alg ialloc

[ Назад ]
alg ialloc /* asignează un inod */
intrare: sistemul de fişiere
ieşire: inod blocat
{
while (operaţia nu s-a încheiat)
{
if (superblocul este blocat)
{
sleep (până superblocul devine liber);
continue; /* salt la while */
}
if (lista de inoduri din superbloc este goală)
{
blochează superblocul;
determină inodul memorat folosit în căutarea inodurilor libere;
caută pe disc inoduri libere până se umple lista din superbloc sau nu mai sunt inoduri libere (algoritmi bread şi brelse );
deblochează superblocul;
trezeşte procesele ce aşteptau ca superblocul să devină liber;
if (nu s-au găsit inoduri libere pe disc)
return (nu există inod);
stabileşte valoarea inodului memorat pentru următoarea
căutare de inoduri libere;
}
/* lista inodurilor din superbloc nu e goală */
obţine un număr de inod din lista de inoduri din superbloc;
obţine inod (algoritm iget);
if (inodul nu e liber nici acum
/* a fost alocat altui fişier !!! */
{
scrie inodul pe disc;
eliberează inodul (algoritmul iput);
continue; /* salt la while */
}
/* inodul este liber */
iniþializează inod;
scrie inodul pe disc;
decrementează contorul inodurilor libere din sistemul de fişiere;

КАТЕГОРИИ:

Network | английский | архитектура эвм | астрономия | аудит | биология | вычислительная математика | география | Гражданское право | демография | дискретная математика | законодательство | история | квантовая физика | компиляторы | КСЕ - Концепция современного естествознания | культурология | линейная алгебра | литература | математическая статистика | математический анализ | Международный стандарт финансовой отчетности МСФО | менеджмент | метрология | механика | немецкий | неорганическая химия | ОБЖ | общая физика | операционные системы | оптимизация в сапр | органическая химия | педагогика | политология | правоведение | прочие дисциплины | психология (методы) | радиоэлектроника | религия | русский | сертификация | сопромат | социология | теория вероятностей | управление в технических системах | физкультура | философия | фотография | французский | школьная математика | экология | экономика | экономика (словарь) | язык Assembler | язык Basic, VB | язык Pascal | язык Си, Си++ |