шпаргалка

c.Alg iput

[ Назад ]
algoritm iput /* eliberează un inod */
intrări: pointer la un inod din memorie
ieşiri: niciuna
{
blochează inodul dacă nu este deja blocat;
decrementează contorul de referinţă;
if (contorul de referinţă == 0)
{
if (contorul de legături == 0)
{
eliberează blocurile disc ale fişierului (algoritm free);
setează tipul fişier la 0;
eliberează inod(algoritm ifree);
}
if (fişierul a fost accesat sau inodul modificat sau fişierul modificat)
actualizează conţinutul inodului disc;
pune inodul în FLI;
}
deblochează inodul;
}
Când nucleul eliberează un inod , el decrementează contorul referinţă. Dacă contorul ajunge la 0, nucleul scrie inodul pe disc dacã copia din memorie diferă de cea de pe disc. Ele diferă în cazul în care au fost modificate datele din fişier, timpul de acces la fişier, proprietarul sau permisiunile de acces. Nucleul plasează inodul în FLI pentru a putea fi realocat unui alt fişier. În cazul în care numărul de legături ale fişierului devine 0 (fişierul este şters), nucleul va elibera toate blocurile disc asociate fişierului

КАТЕГОРИИ:

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