шпаргалка

Alocarea blocurilor de date

[ Назад ]
Cвnd un proces scrie date оntr-un fi?ier nucleul trebuie sг aloce blocuri disc din sistemul de fi?iere (folosite ca blocuri directe de date sau ca blocuri de indirectare). Superblocul din sistemul de fi?iere conюine un ?ir оn care se pгstrazг numere de blocuri disc libere din sistemul de fi?iere. Programul utilitar mkfs (make file system) organizeazг blocurile de date ale sistemului de fi?iere оntr-o listг оnlгnюuitг, fiecare element fiind un bloc disc conюine un ?ir de numere de blocuri disc libere, iar o intrare din acest ?ir reprezintг numгrul urmгtorului bloc din lista оnlгnюuitг. Figura 4.18 prezintг un exemplu de listг оnlгnюuitг, unde primul bloc este lista liberг din superbloc, iar celгlalte blocuri din lista оnlгnюuitг conюin numere de blocuri libere.
Cвnd nucleul intenюioneazг sг aloce un bloc dintr-un sistem de fi?iere (algoritmul alloc, figura 4.19), alocг urmгtorul bloc disponibil din lista aflatг оn superbloc. Odatг alocat, blocul nu poate fi realocat pвnг cвnd el nu devine liber. Dacг blocul alocat este ultimul bloc disponibil din listг, nucleul оl trateazг ca un pointer la un bloc care conюine un ?ir de blocuri libere. El cite?te blocul, completeazг lista din superbloc cu noul ?ir de numere de blocuri, ?i apoi permite utilizarea numгrului blocului (ce a fost tratat ca pointer). El alocг un buffer pentru bloc ?i sterge datele din buffer (sunt puse pe 0). Blocul disc a fost asignat ?i nucleul are acum la dispoziюie un buffer cu care lucreazг. Dacг sistemul de fi?iere nu conюine blocuri libere, procesul apelator recepюioneazг o eroare.
Dacг un proces scrie mai multe date оntr-un fi?ier, el cere repetat sistemului blocuri pentru a stoca datele, оnsг nucleul i le alocг bloc cu bloc (nu se alocг mai multe blocuri deoadatг). Programul mkfs оncearcг sг organizeze lista оnlгnюuitг iniюialг cu numere de blocuri libere, astfel оncвt numerele de blocuri distribuite unui fi?ier sг fie unul lвngг celгlalt. Aceasta duce la mгrirea performanюelor sistemului deoarece se reduce timpul de cгutare pe disc ?i perioada оn care un proces a?teaptг citirea unui fiзier secvenюial.

КАТЕГОРИИ:

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