шпаргалка

d.Apel.sis.close

[ Назад ]
Un proces închide un fişier atunci când nu mai doreşte să îl acceseze. Sintaxa aplelui sistem close este: close(fd);
unde fd este descriptorul fişierului returnat de open.Apelul modifică intrările din GFT şi IT corespunzătoare descriptorului fd. Aceste intrări nu sunt şterse, ci doar eliberate (când contoarele ajung la 0 se invalidează legăturile între tabele). Ele pot fi utilizate de acelaşi fişier (dacă se redeschide imediat) sau realocate altui fişier ce va fi deschis.
Dacă contorul de referinŢă din GFT este mai mare ca 1 (datorită apelurilor sistem dup sau fork), înseamnă că alŢi descriptori de fişier referă intrarea din GFT. ïn acest caz nucleul va decrementa contorul din GFT şi cu aceasta operaŢia de închidere ia sfârşit. Dacă contorul din GFT este egal cu 1, nucleul eliberează intrarea şi decrementează contorul de referinŢă corespunzător intrării din IT. Dacă contorul este egal cu 0 (nici un proces nu mai referă inodul), nucleul eliberează inodul din memoria internă (algoritmul iput) pentru a putea fi realocat. ïnaintea încheierii apelului close, nucleul eliberează intrarea corespunzătoare descriptorului din UFDT. Dacă procesul va încerca să acceseze descriptorul înainte ca acesta să fie reasociat unui fişier, nucleul va returna o eroare. Când un proces se încheie (exit) nucleul închide fişierele corespunzătoare descriptorilor activi din UFDT.
după încheierea procesului B. Astfel, sunt eliberate intrările pentru descriptorii de fişier 3 şi 4 din UFDT, şi intrările corespunzătoare din GFT (contoarele fiind 0). Sunt decrementate şi contoarele referinŢă din IT corespunzătoare fişierelor ?/etc/passwd? şi ?private?. Cum contorul pentru ?private? este 0, inodul său este pus în lista inodurilor libere, însă intrarea sa din IT nu este ştearsă. Dacă un alt proces accesează fişierul ?private? cât timp inodul se mai află în lista liberă, el va fi utilizat de către nucleu.

КАТЕГОРИИ:

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