Ce este un sistem de fișiere. Sisteme de fișiere. Structura sistemului de fișiere

Una dintre componentele sistemului de operare este sistemul de fișiere - principala stocare a informațiilor despre sistem și utilizator. Toate sistemele de operare moderne funcționează cu unul sau mai multe sisteme de fișiere, de exemplu, FAT (File Allocation Table), NTFS (NT File System), HPFS (High Performance File System), NFS (Network File System), AFS (Andrew File System) , Sistem de fișiere Internet.

Un sistem de fișiere este o parte a sistemului de operare, al cărui scop este de a oferi utilizatorului o interfață convenabilă atunci când lucrează cu date stocate în memoria externă și de a permite partajarea fișierelor între mai mulți utilizatori și procese.

Într-un sens larg, conceptul de „sistem de fișiere” include:

Colectarea tuturor fișierelor de pe disc;

Seturi de structuri de date utilizate pentru gestionarea fișierelor, cum ar fi directoare de fișiere, descriptori de fișiere, tabele de alocare a spațiului pe disc liber și folosit;

Un set de instrumente software de sistem care implementează gestionarea fișierelor, în special: crearea, distrugerea, citirea, scrierea, denumirea, căutarea și alte operațiuni asupra fișierelor.

Sistemul de fișiere este de obicei utilizat atât la încărcarea sistemului de operare după pornirea computerului, cât și în timpul funcționării. Sistemul de fișiere îndeplinește următoarele funcții principale:

Stabilește modalități posibile de organizare a fișierelor și a structurii fișierelor pe suport;

Implementează metode de accesare a conținutului fișierelor și oferă instrumente pentru lucrul cu fișierele și structura fișierelor. În acest caz, accesul la date poate fi organizat de sistemul de fișiere atât după nume, cât și după adresă (număr de sector, suprafață și traseu media);

Monitorizează spațiul liber pe mediile de stocare.

Când un program de aplicație accesează un fișier, nu are idee cum se află informațiile dintr-un anumit fișier și nici pe ce tip de suport fizic (CD, hard disk sau unitate de memorie flash) este stocată. Tot ce știe programul este numele fișierului, dimensiunea și atributele acestuia. Acesta primește aceste date de la driverul sistemului de fișiere. Este sistemul de fișiere care determină unde și cum va fi scris fișierul pe suport fizic (de exemplu, un hard disk).

Din punctul de vedere al sistemului de operare, întregul disc este un set de clustere (zone de memorie) cu dimensiunea de la 512 octeți sau mai mare. Driverele sistemului de fișiere organizează clustere în fișiere și directoare (care sunt de fapt fișiere care conțin o listă de fișiere din acel director). Acești drivere țin evidența clusterelor care sunt utilizate în prezent, care sunt gratuite și care sunt marcate ca defecte. Pentru a înțelege clar cum sunt stocate datele pe discuri și modul în care sistemul de operare oferă acces la acestea, este necesar să înțelegem, cel puțin în termeni generali, structura logică a discului.


3.1.5 Structura logică a discului

Pentru ca un computer să stocheze, să citească și să scrie informații, hard disk-ul trebuie mai întâi să fie partiționat. Partițiile sunt create pe acesta folosind programe adecvate - aceasta se numește „partiționarea hard diskului”. Fără această partiționare, nu va fi posibilă instalarea sistemului de operare pe hard disk (deși Windows XP și 2000 pot fi instalate pe un disc nepartiționat, ei fac singuri această partiționare în timpul procesului de instalare).

Hard disk-ul poate fi împărțit în mai multe partiții, fiecare dintre acestea fiind utilizată independent. Pentru ce e asta? Un disc poate conține mai multe sisteme de operare diferite situate pe partiții diferite. Structura internă a unei partiții alocate oricărui sistem de operare este complet determinată de acel sistem de operare.

În plus, există și alte motive pentru partiționarea unui disc, de exemplu:

Posibilitatea de a utiliza discuri cu o capacitate mai mare decât MS DOS
32 MB;

Dacă un disc este deteriorat, se pierde doar informațiile care se aflau pe acel disc;

Reorganizarea și descărcarea unui disc mic este mai ușoară și mai rapidă decât a unuia mare;

Fiecărui utilizator i se poate atribui propria unitate logică.

Operația de pregătire a unui disc pentru utilizare este numită formatare, sau initializare. Tot spațiul disponibil pe disc este împărțit în laturi, piese și sectoare, cu piese și laturi numerotate începând de la zero, iar sectoarele începând de la unu. Un set de piste situate la aceeași distanță de axa unui disc sau a unui pachet de discuri se numește cilindru. Astfel, adresa fizică a sectorului este determinată de următoarele coordonate: numărul pistei (cilindru - C), numărul laturii discului (capul - H), numărul sectorului - R, i.e. CHR.

Primul sector al hard disk-ului (C=0, H=0, R=1) conține înregistrarea de pornire principală Master Boot Record. Această intrare nu ocupă întregul sector, ci doar partea inițială a acestuia. Master Boot Record este un program de încărcare de încărcare non-sistem.

La sfârșitul primului sector al hard diskului se află tabelul de partiții ale discului - Tabel de partiții. Acest tabel conține patru rânduri care descriu maximum patru partiții. Fiecare rând din tabel descrie o secțiune:

1) secțiune activă sau nu;

2) numărul sectorului corespunzător începutului de secțiune;

3) numărul sectorului corespunzător capătului de secțiune;

4) dimensiunea partiției pe sectoare;

5) codul sistemului de operare, adică Cărui sistem de operare aparține această partiție?

O partiție este numită activă dacă conține programul de boot al sistemului de operare. Primul octet din elementul de secțiune este indicatorul de activitate al secțiunii (0 – inactiv, 128 (80H) – activ). Este folosit pentru a determina dacă partiția este de sistem (pornibilă) și dacă sistemul de operare trebuie să fie încărcat de pe acesta la pornirea computerului. O singură secțiune poate fi activă. Programele mici numite manageri de boot pot fi localizate în primele sectoare ale discului. Ei întreabă în mod interactiv utilizatorul de pe ce partiție să pornească și ajustează indicatoarele de activitate ale partiției în consecință. Deoarece tabelul de partiții are patru rânduri, pe disc pot exista până la patru sisteme de operare diferite, prin urmare, discul poate conține mai multe partiții primare aparținând unor sisteme de operare diferite.

Un exemplu de structură logică a unui hard disk format din trei partiții, dintre care două aparțin DOS și una aparține UNIX, este prezentat în Figura 3.2a.

Fiecare partiție activă are propria înregistrare de pornire - un program care încarcă un anumit sistem de operare.

În practică, discul este cel mai adesea împărțit în două partiții. Dimensiunile partițiilor, indiferent dacă sunt declarate active sau nu, sunt stabilite de utilizator în timpul procesului de pregătire a hard disk-ului pentru utilizare. Acest lucru se face folosind programe speciale. În DOS acest program se numește FDISK, în versiunile Windows-XX se numește Diskadministrator.

În DOS, partiția primară este Partiție primară, aceasta este secțiunea care conține încărcătorul sistemului de operare și sistemul de operare în sine. Astfel, partiția primară este partiția activă, folosită ca unitate logică numită C:.

Sistemul de operare WINDOWS (și anume WINDOWS 2000) a schimbat terminologia: partiția activă se numește partiția de sistem, iar partiția de boot este discul logic care conține fișierele de sistem WINDOWS. Unitatea logică de pornire poate fi aceeași cu partiția de sistem, dar poate fi localizată pe o partiție diferită a aceluiași hard disk sau pe un alt hard disk.

Secțiunea avansată Partiție extinsă poate fi împărțit în mai multe unități logice cu nume de la D: la Z:.

Figura 3.2b prezintă structura logică a unui hard disk, care are doar două partiții și patru unități logice.

General. În teoria informatică sunt definite următoarele trei tipuri principale de structuri de date: liniare, tabulare, ierarhice. Exemplu de carte: succesiunea de foi - structură liniară. Părți, secțiuni, capitole, paragrafe - ierarhie. Cuprins – tabel – conectează – ierarhic cu liniar. Datele structurate au un nou atribut - Adresa. Asa de:

      Structuri liniare (liste, vectori). Liste regulate. Adresa fiecărui element este determinată în mod unic de numărul său. Dacă toate elementele listei au lungime egală – vectori de date.

      Structuri tabulare (tabele, matrice). Diferența dintre un tabel și o listă - fiecare element - este determinată de o adresă, constând nu din unul, ci mai mulți parametri. Cel mai comun exemplu este o matrice - adresa - doi parametri - numărul rândului și numărul coloanei. Tabele multidimensionale.

      Structuri ierarhice. Folosit pentru a prezenta date neregulate. Adresa este determinată de traseu - din vârful copacului. Sistem de fișiere - computer. (Traseul poate depăși dimensiunea datelor, dihotomie - există întotdeauna două ramuri - stânga și dreapta).

Comandarea structurilor de date. Metoda principală este sortarea. ! La adăugarea unui nou element la o structură ordonată, este posibilă modificarea adresei celor existente. Pentru structurile ierarhice – indexare – fiecare element are un număr unic – care este apoi folosit în sortare și căutare.

    Elementele de bază ale unui sistem de fișiere

Primul pas istoric în stocarea și gestionarea datelor a fost utilizarea sistemelor de gestionare a fișierelor.

Un fișier este o zonă denumită a memoriei externe din care poate fi scrisă și citită. Trei parametri:

    secvența unui număr arbitrar de octeți,

    un nume propriu unic (de fapt o adresă).

    date de același tip – tip fișier.

Regulile pentru denumirea fișierelor, modul în care sunt accesate datele stocate într-un fișier și structura acelor date depind de sistemul particular de gestionare a fișierelor și, eventual, de tipul fișierului.

Primul sistem de fișiere dezvoltat, în sensul modern, a fost dezvoltat de IBM pentru seria sa 360 (1965-1966). Dar în sistemele actuale practic nu este folosit. Structuri de date de listă utilizate (EC-volum, secțiune, fișier).

Majoritatea dintre voi sunteți familiarizați cu sistemele de fișiere ale sistemelor de operare moderne. Acesta este în primul rând MS DOS, Windows și unele cu construcție de sistem de fișiere pentru diferite variante UNIX.

Structura fișierului. Un fișier reprezintă o colecție de blocuri de date situate pe medii externe. Pentru a schimba cu un disc magnetic la nivel hardware, trebuie să specificați numărul cilindrului, numărul suprafeței, numărul blocului pe pista corespunzătoare și numărul de octeți care trebuie să fie scrisi sau citiți de la începutul acestui bloc. Prin urmare, toate sistemele de fișiere alocă explicit sau implicit un nivel de bază care asigură lucrul cu fișiere care reprezintă un set de blocuri direct adresabile în spațiul de adrese.

Denumirea fișierelor. Toate sistemele de fișiere moderne acceptă denumirea fișierelor pe mai multe niveluri prin menținerea fișierelor suplimentare cu o structură specială - directoare - în memoria externă. Fiecare director conține numele directoarelor și/sau fișierelor conținute în acel director. Astfel, numele complet al unui fișier constă dintr-o listă de nume de directoare plus numele fișierului din directorul care conține imediat fișierul. Diferența dintre modul în care fișierele sunt denumite pe diferite sisteme de fișiere este locul în care începe lanțul de nume. (Unix, DOS-Windows)

Protecția fișierelor. Sistemele de gestionare a fișierelor trebuie să ofere autorizație pentru accesul la fișiere. În general, abordarea este că în raport cu fiecare utilizator înregistrat al unui anumit sistem informatic, pentru fiecare fișier existent, sunt indicate acțiuni care sunt permise sau interzise acestui utilizator. Au existat încercări de implementare integrală a acestei abordări. Dar acest lucru a cauzat o suprasarcină prea mare atât în ​​stocarea informațiilor redundante, cât și în utilizarea acestor informații pentru a controla eligibilitatea accesului. Prin urmare, majoritatea sistemelor moderne de gestionare a fișierelor folosesc abordarea de protecție a fișierelor implementată pentru prima dată în UNIX (1974). În acest sistem, fiecare utilizator înregistrat este asociat cu o pereche de identificatori întregi: identificatorul grupului căruia îi aparține acest utilizator și propriul său identificator în grup. În consecință, pentru fiecare fișier este stocat identificatorul complet al utilizatorului care a creat acest fișier și se notează ce acțiuni poate efectua el însuși cu fișierul, ce acțiuni cu fișierul sunt disponibile pentru alți utilizatori din același grup și ce utilizatorii altor grupuri pot face cu fișierul. Aceste informații sunt foarte compacte, necesită câțiva pași în timpul verificării, iar această metodă de control al accesului este satisfăcătoare în majoritatea cazurilor.

Mod de acces multi-utilizator. Dacă sistemul de operare acceptă modul multi-utilizator, este foarte posibil ca doi sau mai mulți utilizatori să încerce simultan să lucreze cu același fișier. Dacă toți acești utilizatori vor citi doar fișierul, nu se va întâmpla nimic rău. Dar dacă cel puțin unul dintre ei modifică fișierul, este necesară sincronizarea reciprocă pentru ca acest grup să funcționeze corect. Din punct de vedere istoric, sistemele de fișiere au adoptat următoarea abordare. În operațiunea de deschidere a unui fișier (prima și obligatorie operație cu care ar trebui să înceapă o sesiune de lucru cu un fișier), printre alți parametri, a fost indicat modul de funcționare (citire sau modificare). + există proceduri speciale pentru sincronizarea acțiunilor utilizatorului. Nu este permis de înregistrări!

    Jurnalizarea în sistemele de fișiere. Principii generale.

Rularea unei verificări de sistem (fsck) pe sisteme de fișiere mari poate dura mult timp, ceea ce este regretabil având în vedere sistemele de mare viteză actuale. Motivul pentru care nu există integritate în sistemul de fișiere poate fi demontarea incorectă, de exemplu, discul era scris în momentul încheierii. Aplicațiile ar putea actualiza datele conținute în fișiere, iar sistemul ar putea actualiza metadatele sistemului de fișiere, care sunt „date despre datele sistemului de fișiere”, cu alte cuvinte, informații despre ce blocuri sunt asociate cu ce fișiere, ce fișiere se află în ce directoare, și altele asemenea. . Erorile (lipsa integrității) din fișierele de date sunt proaste, dar mult mai grave sunt erorile din metadatele sistemului de fișiere, care pot duce la pierderea fișierelor și alte probleme grave.

Pentru a minimiza problemele de integritate și pentru a minimiza timpul de repornire a sistemului, un sistem de fișiere jurnal menține o listă a modificărilor pe care le va face sistemului de fișiere înainte de a scrie efectiv modificările. Aceste înregistrări sunt stocate într-o parte separată a sistemului de fișiere numită „jurnal” sau „jurnal”. Odată ce aceste intrări de jurnal (jurnal) sunt scrise în siguranță, sistemul de fișiere de jurnal face aceste modificări în sistemul de fișiere și apoi șterge aceste intrări din „jurnal” (jurnal). Intrările de jurnal sunt organizate în seturi de modificări aferente sistemului de fișiere, la fel ca și modul în care modificările adăugate la o bază de date sunt organizate în tranzacții.

Un sistem de fișiere jurnal crește probabilitatea de integritate, deoarece intrările de fișiere jurnal sunt făcute înainte ca modificările să fie aduse sistemului de fișiere și deoarece sistemul de fișiere păstrează acele intrări până când sunt aplicate complet și în siguranță la sistemul de fișiere. Când reporniți un computer care folosește un sistem de fișiere jurnalizat, programul de montare poate asigura integritatea sistemului de fișiere prin simpla verificare a fișierului jurnal pentru modificările care au fost așteptate, dar nefăcute și scriindu-le în sistemul de fișiere. În cele mai multe cazuri, sistemul nu trebuie să verifice integritatea sistemului de fișiere, ceea ce înseamnă că un computer care utilizează un sistem de fișiere jurnal va fi disponibil pentru utilizare aproape imediat după o repornire. În consecință, șansele de pierdere a datelor din cauza problemelor din sistemul de fișiere sunt reduse semnificativ.

Forma clasică a unui sistem de fișiere jurnal este de a stoca modificările în metadatele sistemului de fișiere într-un jurnal (jurnal) și de a stoca modificările la toate datele sistemului de fișiere, inclusiv modificările la fișierele în sine.

    Sistem de fișiere MS-DOS (FAT)

Sistemul de fișiere MS-DOS este un sistem de fișiere bazat pe arbore pentru discuri mici și structuri de directoare simple, rădăcina fiind directorul rădăcină, iar frunzele fiind fișiere și alte directoare, eventual goale. Fișierele gestionate de acest sistem de fișiere sunt plasate în clustere, a căror dimensiune poate varia de la 4 KB la 64 KB în multipli de 4, fără a utiliza proprietatea de adiacență într-un mod mixt pentru a aloca memorie pe disc. De exemplu, figura prezintă trei fișiere. Fișierul File1.txt este destul de mare: implică trei blocuri consecutive. Micul fișier File3.txt folosește spațiul unui singur bloc alocat. Al treilea fișier este File2.txt. este un fișier mare fragmentat. În fiecare caz, punctul de intrare indică primul bloc alocabil deținut de fișier. Dacă un fișier folosește mai multe blocuri alocate, blocul anterior indică următorul din lanț. Valoarea FFF este identificată cu sfârșitul secvenței.

Partiție de disc FAT

Pentru a accesa fișierele în mod eficient, utilizați tabelul de alocare a fișierelor– Tabelul de alocare a fișierelor, care se află la începutul partiției (sau al unității logice). Din numele tabelului de alocare provine numele acestui sistem de fișiere – FAT. Pentru a proteja partiția, două copii ale FAT sunt stocate pe ea în cazul în care una dintre ele devine coruptă. În plus, tabelele de alocare a fișierelor trebuie plasate la adrese strict fixe, astfel încât fișierele necesare pornirii sistemului să fie localizate corect.

Tabelul de alocare a fișierelor constă din elemente de 16 biți și conține următoarele informații despre fiecare cluster de disc logic:

    clusterul nu este utilizat;

    clusterul este folosit de fișier;

    cluster prost;

    ultimul cluster de fișiere;.

Deoarece fiecărui cluster trebuie să i se aloce un număr unic de 16 biți, FAT acceptă, prin urmare, maximum 216, sau 65.536 clustere pe un singur disc logic (și rezervă, de asemenea, unele dintre clustere pentru propriile nevoi). Astfel, obținem dimensiunea maximă a discului servită de MS-DOS la 4 GB. Dimensiunea clusterului poate fi mărită sau micșorată în funcție de dimensiunea discului. Cu toate acestea, atunci când dimensiunea discului depășește o anumită valoare, clusterele devin prea mari, ceea ce duce la defragmentarea discului intern. Pe lângă informațiile despre fișiere, tabelul de alocare a fișierelor poate conține și informații despre directoare. Aceasta tratează directoarele ca fișiere speciale cu intrări de 32 de octeți pentru fiecare fișier conținut în acel director. Directorul rădăcină are o dimensiune fixă ​​- 512 intrări pentru un hard disk, iar pentru dischete această dimensiune este determinată de dimensiunea dischetei. În plus, directorul rădăcină se află imediat după a doua copie a FAT, deoarece conține fișierele necesare încărctorului de boot MS-DOS.

Când caută un fișier pe un disc, MS-DOS este forțat să caute prin structura de directoare pentru a-l găsi. De exemplu, pentru a rula fișierul executabil C:\Program\NC4\nc.exe găsește fișierul executabil făcând următoarele:

    citește directorul rădăcină al unității C: și caută directorul Program în el;

    citește programul cluster inițial și caută în acest director o intrare despre subdirectorul NC4;

    citește clusterul inițial al subdirectorului NC4 și caută o intrare pentru fișierul nc.exe în el;

    citește toate clusterele fișierului nc.exe.

Această metodă de căutare nu este cea mai rapidă dintre sistemele de fișiere actuale. Mai mult, cu cât este mai mare adâncimea directoarelor, cu atât căutarea va fi mai lentă. Pentru a accelera operația de căutare, ar trebui să mențineți o structură echilibrată a fișierelor.

Avantajele FAT

    Este cea mai bună alegere pentru unitățile logice mici, deoarece... începe cu un cost minim. Pe discurile a căror dimensiune nu depășește 500 MB, funcționează cu performanțe acceptabile.

Dezavantajele FAT

    Deoarece dimensiunea unei intrări de fișier este limitată la 32 de octeți, iar informațiile trebuie să includă dimensiunea fișierului, data, atributele etc., dimensiunea numelui fișierului este, de asemenea, limitată și nu poate depăși 8+3 caractere pentru fiecare fișier. Utilizarea așa-numitelor nume scurte de fișiere face ca FAT să fie mai puțin atractiv de utilizat decât alte sisteme de fișiere.

    Utilizarea FAT pe discuri mai mari de 500 MB este irațională din cauza defragmentării discului.

    Sistemul de fișiere FAT nu are caracteristici de securitate și acceptă capabilități minime de securitate a informațiilor.

    Viteza operațiunilor în FAT este invers proporțională cu adâncimea imbricației directoarelor și spațiului pe disc.

    Sistem de fișiere UNIX - sisteme (ext3)

Sistemul de operare Linux modern, puternic și gratuit oferă o zonă largă pentru dezvoltarea de sisteme moderne și software personalizat. Unele dintre cele mai interesante dezvoltări ale nucleelor ​​Linux recente sunt tehnologii noi, de înaltă performanță, pentru gestionarea stocării, plasării și actualizării datelor de pe disc. Unul dintre cele mai interesante mecanisme este sistemul de fișiere ext3, care a fost integrat în nucleul Linux încă din versiunea 2.4.16 și este deja disponibil implicit în distribuțiile Linux de la Red Hat și SuSE.

Sistemul de fișiere ext3 este un sistem de fișiere de jurnal, 100% compatibil cu toate utilitățile create pentru a crea, gestiona și ajusta sistemul de fișiere ext2, care a fost folosit pe sistemele Linux în ultimii ani. Înainte de a descrie în detaliu diferențele dintre sistemele de fișiere ext2 și ext3, să clarificăm terminologia sistemelor de fișiere și a stocării fișierelor.

La nivel de sistem, toate datele de pe un computer există ca blocuri de date pe un dispozitiv de stocare, organizate folosind structuri speciale de date în partiții (seturi logice pe un dispozitiv de stocare), care la rândul lor sunt organizate în fișiere, directoare și neutilizate (gratuite). spaţiu.

Sistemele de fișiere sunt create pe partiții de disc pentru a simplifica stocarea și organizarea datelor sub formă de fișiere și directoare. Linux, ca și sistemul Unix, folosește un sistem de fișiere ierarhic format din fișiere și directoare, care conțin fie fișiere, fie directoare. Fișierele și directoarele dintr-un sistem de fișiere Linux sunt puse la dispoziție utilizatorului prin montarea lor (comanda „mount”), care este de obicei parte a procesului de pornire a sistemului. Lista sistemelor de fișiere disponibile pentru utilizare este stocată în fișierul /etc/fstab (FileSystem TABle). Lista sistemelor de fișiere care nu sunt montate în prezent de sistem este stocată în fișierul /etc/mtab (Mount TABle).

Când un sistem de fișiere este montat în timpul pornirii, un bit din antet („bitul curat”) este șters, indicând faptul că sistemul de fișiere este în uz și că structurile de date utilizate pentru a controla plasarea și organizarea fișierelor și directoarelor în acel sistem de fișiere. poate fi schimbat.

Un sistem de fișiere este considerat complet dacă toate blocurile de date din el sunt fie în uz, fie libere; fiecare bloc de date alocat este ocupat de un singur fișier sau director; toate fișierele și directoarele pot fi accesate după procesarea unei serii de alte directoare din sistemul de fișiere. Când un sistem Linux este oprit în mod deliberat folosind comenzile operatorului, toate sistemele de fișiere sunt demontate. Demontarea unui sistem de fișiere în timpul închiderii setează un „bit curat” în antetul sistemului de fișiere, indicând faptul că sistemul de fișiere a fost demontat corect și, prin urmare, poate fi considerat intact.

Ani de depanare și reproiectare a sistemului de fișiere și utilizarea algoritmilor îmbunătățiți pentru scrierea datelor pe disc au redus considerabil corupția datelor cauzată de aplicații sau de kernel-ul Linux în sine, dar eliminarea corupției și pierderii de date din cauza întreruperilor de curent și a altor probleme de sistem este încă o provocare. . În cazul unui accident sau al unei simple opriri a unui sistem Linux fără a utiliza procedurile standard de oprire, „bitul curat” nu este setat în antetul sistemului de fișiere. Data viitoare când sistemul pornește, procesul de montare detectează că sistemul nu este marcat ca „curat” și își verifică fizic integritatea utilizând utilitarul de verificare a sistemului de fișiere Linux/Unix „fsck” (File System CheckK).

Există mai multe sisteme de fișiere de jurnal disponibile pentru Linux. Cele mai cunoscute dintre ele sunt: ​​XFS, un sistem de fișiere de jurnal dezvoltat de Silicon Graphics, dar acum lansat ca sursă deschisă; RaiserFS, un sistem de fișiere de jurnal conceput special pentru Linux; JFS, un sistem de fișiere de jurnalizare dezvoltat inițial de IBM, dar acum lansat ca sursă deschisă; ext3 este un sistem de fișiere dezvoltat de Dr. Stephan Tweedie de la Red Hat și de alte câteva sisteme.

Sistemul de fișiere ext3 este o versiune Linux jurnalizată a sistemului de fișiere ext2. Sistemul de fișiere ext3 are un avantaj semnificativ față de alte sisteme de fișiere de jurnalizare - este pe deplin compatibil cu sistemul de fișiere ext2. Acest lucru face posibilă utilizarea tuturor aplicațiilor existente concepute pentru a manipula și personaliza sistemul de fișiere ext2.

Sistemul de fișiere ext3 este acceptat de nucleele Linux versiunea 2.4.16 și ulterioară și trebuie activat folosind dialogul Configurare sisteme de fișiere la construirea nucleului. Distribuțiile Linux precum Red Hat 7.2 și SuSE 7.3 includ deja suport nativ pentru sistemul de fișiere ext3. Puteți utiliza sistemul de fișiere ext3 numai dacă suportul ext3 este încorporat în nucleul dumneavoastră și aveți cele mai recente versiuni ale utilitarelor „mount” și „e2fsprogs”.

În majoritatea cazurilor, conversia sistemelor de fișiere dintr-un format în altul implică realizarea de copii de siguranță a tuturor datelor conținute, reformatarea partițiilor sau volumele logice care conțin sistemul de fișiere și apoi restaurarea tuturor datelor în acel sistem de fișiere. Datorită compatibilității sistemelor de fișiere ext2 și ext3, toți acești pași nu trebuie să fie efectuati, iar traducerea se poate face folosind o singură comandă (rulată cu privilegii root):

# /sbin/tune2fs -j<имя-раздела >

De exemplu, conversia unui sistem de fișiere ext2 situat pe partiția /dev/hda5 într-un sistem de fișiere ext3 se poate face folosind următoarea comandă:

# /sbin/tune2fs -j /dev/hda5

Opțiunea „-j” a comenzii „tune2fs” creează un jurnal ext3 pe un sistem de fișiere ext2 existent. După convertirea sistemului de fișiere ext2 în ext3, trebuie să faceți și modificări la intrările fișierului /etc/fstab pentru a indica faptul că partiția este acum un sistem de fișiere „ext3”. De asemenea, puteți utiliza detectarea automată a tipului de partiție (opțiunea „auto”), dar este totuși recomandat să specificați în mod explicit tipul sistemului de fișiere. Următorul exemplu de fișier /etc/fstab arată modificările înainte și după transferul unui sistem de fișiere pentru partiția /dev/hda5:

/dev/ hda5 /opt ext2 implicite 1 2

/dev/ hda5 /opt ext3 implicite 1 0

Ultimul câmp din /etc/fstab specifică pasul din procesul de pornire în timpul căruia integritatea sistemului de fișiere ar trebui verificată folosind utilitarul „fsck”. Când utilizați sistemul de fișiere ext3, puteți seta această valoare la „0”, așa cum se arată în exemplul anterior. Aceasta înseamnă că programul „fsck” nu va verifica niciodată integritatea sistemului de fișiere, datorită faptului că integritatea sistemului de fișiere este garantată prin derularea jurnalului.

Convertirea sistemului de fișiere rădăcină la ext3 necesită o abordare specială și se face cel mai bine în modul utilizator unic după crearea unui disc RAM care acceptă sistemul de fișiere ext3.

Pe lângă faptul că este compatibil cu utilitățile sistemului de fișiere ext2 și traducerea ușoară a sistemului de fișiere de la ext2 la ext3, sistemul de fișiere ext3 oferă și mai multe tipuri diferite de jurnalizare.

Sistemul de fișiere ext3 acceptă trei moduri de jurnalizare diferite care pot fi activate din fișierul /etc/fstab. Aceste moduri de înregistrare sunt după cum urmează:

    Jurnal / jurnal – înregistrează toate modificările datelor și metadatelor sistemului de fișiere. Cel mai lent dintre toate cele trei moduri de înregistrare. Acest mod minimizează șansa de a pierde modificările de fișiere pe care le faceți sistemului de fișiere.

    Secvențial/ordonat – Scrie modificări numai în metadatele sistemului de fișiere, dar scrie actualizările datelor fișierelor pe disc înainte de modificările metadatelor sistemului de fișiere asociate. Acest mod de înregistrare ext3 este instalat implicit.

    Scriere inversă - sunt scrise numai modificările aduse metadatelor sistemului de fișiere, pe baza procesului standard de scriere a modificărilor la datele fișierului. Aceasta este cea mai rapidă metodă de înregistrare.

Diferențele dintre aceste moduri de înregistrare sunt atât subtile, cât și profunde. Utilizarea modului jurnal necesită ca sistemul de fișiere ext3 să scrie fiecare modificare în sistemul de fișiere de două ori - mai întâi în jurnal și apoi în sistemul de fișiere însuși. Acest lucru poate reduce performanța generală a sistemului dvs. de fișiere, dar acest mod este cel mai îndrăgit de utilizatori, deoarece minimizează șansa de a pierde modificările datelor din fișierele dvs., deoarece atât modificările metadatelor, cât și modificările datelor fișierului sunt scrise în jurnalul ext3 și pot fi repetat la repornirea sistemului.

Folosind modul „secvențial”, sunt înregistrate doar modificările aduse metadatelor sistemului de fișiere, ceea ce reduce redundanța dintre scrierea în sistemul de fișiere și în jurnal, motiv pentru care această metodă este mai rapidă. Deși modificările la datele fișierului nu sunt scrise în jurnal, acestea trebuie făcute înainte ca demonul de jurnalizare ext3 să facă modificări la metadatele sistemului de fișiere asociate, ceea ce poate reduce ușor performanța sistemului dumneavoastră. Utilizarea acestei metode de jurnalizare asigură că fișierele din sistemul de fișiere nu sunt niciodată desincronizate cu metadatele asociate sistemului de fișiere.

Metoda writeback este mai rapidă decât celelalte două metode de jurnalizare, deoarece stochează doar modificările aduse metadatelor sistemului de fișiere și nu așteaptă ca datele asociate fișierului să se modifice la scriere (înainte de a actualiza lucruri precum dimensiunea fișierului și informațiile despre director). Deoarece datele fișierelor sunt actualizate asincron în raport cu modificările jurnalizate ale metadatelor sistemului de fișiere, fișierele din sistemul de fișiere pot prezenta erori în metadate, de exemplu, o eroare în indicarea proprietarului blocurilor de date (a căror actualizare nu a fost finalizată la momentul în care sistemul a fost repornit). Acest lucru nu este fatal, dar poate interfera cu experiența utilizatorului.

Specificarea modului de jurnalizare utilizat pe un sistem de fișiere ext3 se face în fișierul /etc/fstab pentru acel sistem de fișiere. Modul „Secvenţial” este implicit, dar puteţi specifica diferite moduri de înregistrare prin modificarea opţiunilor pentru partiţia dorită din fişierul /etc/fstab. De exemplu, o intrare în /etc/fstab care indică utilizarea modului de înregistrare a returului ar arăta astfel:

/dev/hda5 /opt ext3 data=writeback 1 0

    Sistemul de fișiere de familie Windows NT (NTFS)

      Structura fizică a NTFS

Să începem cu faptele generale. O partiție NTFS, în teorie, poate avea aproape orice dimensiune. Desigur, există o limită, dar nici nu o voi indica, deoarece va fi suficientă pentru următoarea sută de ani de dezvoltare a tehnologiei informatice - cu orice ritm de creștere. Cum funcționează acest lucru în practică? Aproape la fel. Dimensiunea maximă a unei partiții NTFS este limitată în prezent doar de dimensiunea hard disk-urilor. Cu toate acestea, NT4 va întâmpina probleme atunci când încearcă să se instaleze pe o partiție dacă orice parte a acesteia este mai mare de 8 GB de la începutul fizic al discului, dar această problemă afectează doar partiția de pornire.

Digresiune lirică. Metoda de instalare a NT4.0 pe un disc gol este destul de originală și poate duce la gânduri greșite despre capacitățile NTFS. Dacă îi spuneți instalatorului că doriți să formatați unitatea în NTFS, dimensiunea maximă pe care vi o va oferi este de doar 4 GB. De ce atât de mic dacă dimensiunea unei partiții NTFS este practic nelimitată? Faptul este că secțiunea de instalare pur și simplu nu cunoaște acest sistem de fișiere :) Programul de instalare formatează acest disc într-un FAT obișnuit, a cărui dimensiune maximă în NT este de 4 GB (folosind un cluster imens de 64 KB nu tocmai standard) și NT se instalează pe acest FAT. Dar deja în timpul primei porniri a sistemului de operare în sine (încă în faza de instalare), partiția este rapid convertită în NTFS; astfel încât utilizatorul nu observă nimic în afară de ciudata „limitare” a dimensiunii NTFS în timpul instalării. :)

      Structura secțiunii - vedere generală

Ca orice alt sistem, NTFS împarte tot spațiul util în clustere - blocuri de date utilizate la un moment dat. NTFS acceptă aproape orice dimensiune de cluster - de la 512 octeți la 64 KB, în timp ce un cluster de 4 KB este considerat un anumit standard. NTFS nu are anomalii în structura clusterului, așa că nu sunt multe de spus despre acest subiect, în general, destul de banal.

Un disc NTFS este împărțit în mod convențional în două părți. Primele 12% din disc sunt alocate așa-numitei zone MFT - spațiul în care crește metafișierul MFT (mai multe despre asta mai jos). Nu este posibil să scrieți date în această zonă. Zona MFT este întotdeauna păstrată goală - acest lucru se face astfel încât cel mai important fișier de serviciu (MFT) să nu devină fragmentat pe măsură ce crește. Restul de 88% din disc este spațiu normal de stocare a fișierelor.

Totuși, spațiul liber pe disc include tot spațiul liber fizic - bucăți neumplute din zona MFT sunt incluse și acolo. Mecanismul de utilizare a zonei MFT este următorul: atunci când fișierele nu mai pot fi scrise în spațiul obișnuit, zona MFT este pur și simplu redusă (în versiunile actuale ale sistemelor de operare exact la jumătate), eliberând astfel spațiu pentru scrierea fișierelor. Când spațiul este eliberat în zona MFT obișnuită, zona se poate extinde din nou. În același timp, nu poate fi exclusă o situație când fișierele obișnuite rămân în această zonă: nu există nicio anomalie aici. Ei bine, sistemul a încercat să o mențină liberă, dar nimic nu a funcționat. Viața continuă... Metafișierul MFT poate deveni în continuare fragmentat, deși acest lucru ar fi de nedorit.

      MFT și structura sa

Sistemul de fișiere NTFS este o realizare remarcabilă a structurii: fiecare element al sistemului este un fișier - chiar și informații de serviciu. Cel mai important fișier de pe NTFS se numește MFT sau Master File Table - un tabel general de fișiere. Este situat în zona MFT și este un director centralizat al tuturor celorlalte fișiere de disc și, paradoxal, el însuși. MFT este împărțit în intrări de dimensiune fixă ​​(de obicei 1 KB), iar fiecare intrare corespunde unui fișier (în sensul general al cuvântului). Primele 16 fișiere sunt de natură de serviciu și sunt inaccesibile sistemului de operare - se numesc metafișiere, primul metafișier fiind MFT însuși. Aceste primele 16 elemente MFT sunt singura parte a discului care are o poziție fixă. Interesant este că a doua copie a primelor trei înregistrări, pentru fiabilitate (sunt foarte importante), este stocată exact în mijlocul discului. Restul fișierului MFT poate fi localizat, ca orice alt fișier, în locuri arbitrare de pe disc - îi puteți restabili poziția folosind fișierul însuși, „agățându-se” pe bază - primul element MFT.

        Metafișiere

Primele 16 fișiere NTFS (metafișiere) sunt de natură de serviciu. Fiecare dintre ei este responsabil pentru un anumit aspect al funcționării sistemului. Avantajul unei astfel de abordări modulare este flexibilitatea sa uimitoare - de exemplu, pe FAT, deteriorarea fizică în zona FAT în sine este fatală pentru funcționarea întregului disc, iar NTFS poate muta, chiar fragmenta pe disc, toate serviciile sale. zone, ocolind orice defecțiuni de suprafață - cu excepția primelor 16 elemente MFT.

Metafișierele sunt situate în directorul rădăcină al unui disc NTFS - ele încep cu simbolul numelui „$”, deși este dificil să obțineți informații despre ele folosind mijloace standard. Este curios că aceste fișiere au și o dimensiune foarte reală indicată - puteți afla, de exemplu, cât cheltuiește sistemul de operare pentru catalogarea întregului disc, uitându-vă la dimensiunea fișierului $MFT. Următorul tabel arată metafișierele utilizate în prezent și scopul lor.

o copie a primelor 16 înregistrări MFT plasate în mijlocul discului

fișier de suport pentru înregistrare (vezi mai jos)

informații despre serviciu - etichetă de volum, versiunea sistemului de fișiere etc.

lista de atribute standard ale fișierului de pe volum

directorul rădăcină

hartă spațiu liber volum

sector de boot (dacă partiția este bootabilă)

un fișier care înregistrează drepturile utilizatorului de a utiliza spațiul pe disc (a început să funcționeze numai în NT5)

fișier - un tabel de corespondență între literele mari și mici din numele fișierelor de pe volumul curent. Este necesar în principal pentru că în NTFS numele fișierelor sunt scrise în Unicode, care se ridică la 65 de mii de caractere diferite, căutarea de echivalente mari și mici, a căror căutare este foarte netrivială.

        Fișiere și fluxuri

Deci, sistemul are fișiere - și nimic altceva decât fișiere. Ce include acest concept pe NTFS?

    În primul rând, un element obligatoriu este înregistrarea în MFT, deoarece, după cum am menționat mai devreme, toate fișierele de disc sunt menționate în MFT. Toate informațiile despre fișier sunt stocate în acest loc, cu excepția datelor în sine. Numele fișierului, dimensiunea, locația pe disc a fragmentelor individuale etc. Dacă o înregistrare MFT nu este suficientă pentru informații, atunci sunt utilizate mai multe, și nu neapărat la rând.

    Element opțional - fluxuri de date fișier. Definiția „opțional” poate părea ciudată, dar, cu toate acestea, nu este nimic ciudat aici. În primul rând, este posibil ca fișierul să nu aibă date - în acest caz, nu consumă spațiul liber al discului în sine. În al doilea rând, fișierul poate să nu fie foarte mare. Apoi intră în joc o soluție destul de reușită: datele fișierului sunt stocate direct în MFT, în spațiul rămas din datele principale într-o înregistrare MFT. Fișierele care ocupă sute de octeți, de obicei, nu au întruchiparea lor „fizică” în zona principală a fișierului - toate datele unui astfel de fișier sunt stocate într-un singur loc - în MFT.

Situația cu datele fișierului este destul de interesantă. Fiecare fișier pe NTFS, în general, are o structură oarecum abstractă - nu are date ca atare, dar există fluxuri. Unul dintre fluxuri are sensul cu care suntem familiarizați - date fișier. Dar majoritatea atributelor fișierelor sunt și fluxuri! Astfel, se dovedește că fișierul are o singură entitate de bază - numărul în MFT, iar orice altceva este opțional. Această abstracție poate fi folosită pentru a crea lucruri destul de convenabile - de exemplu, puteți „atașa” un alt flux la un fișier scriind orice date în el - de exemplu, informații despre autor și conținutul fișierului, așa cum se face în Windows 2000 (fila cea mai din dreapta din proprietățile fișierului, vizualizată din Explorer). Interesant este că aceste fluxuri suplimentare nu sunt vizibile prin mijloace standard: dimensiunea fișierului observat este doar dimensiunea fluxului principal care conține datele tradiționale. Puteți, de exemplu, să aveți un fișier de lungime zero, care, atunci când este șters, va elibera 1 GB de spațiu liber - pur și simplu pentru că un program sau o tehnologie vicleană a blocat un flux suplimentar de dimensiunea unui gigabyte (date alternative) în el. Dar de fapt, în momentul de față, firele practic nu sunt folosite, așa că nu trebuie să se teamă de astfel de situații, deși ipotetic sunt posibile. Rețineți că un fișier pe NTFS este un concept mai profund și mai global decât s-ar putea imagina prin simpla răsfoire în directoarele discului. Și în sfârșit: numele fișierului poate conține orice caractere, inclusiv întregul set de alfabete naționale, deoarece datele sunt prezentate în Unicode - o reprezentare pe 16 biți care oferă 65535 de caractere diferite. Lungimea maximă a numelui fișierului este de 255 de caractere.

      Cataloagele

Un director NTFS este un fișier specific care stochează link-uri către alte fișiere și directoare, creând o structură ierarhică a datelor de pe disc. Fișierul de catalog este împărțit în blocuri, fiecare dintre ele conține numele fișierului, atributele de bază și un link către elementul MFT, care oferă deja informații complete despre elementul de catalog. Structura directorului intern este un arbore binar. Iată ce înseamnă asta: pentru a găsi un fișier cu un nume dat într-un director liniar, cum ar fi un FAT, sistemul de operare trebuie să caute prin toate elementele directorului până îl găsește pe cel potrivit. Un arbore binar aranjează numele fișierelor în așa fel încât căutarea unui fișier să fie efectuată într-un mod mai rapid - prin obținerea de răspunsuri din două cifre la întrebările despre locația fișierului. Întrebarea la care poate răspunde un arbore binar este: în ce grup, în raport cu un anumit element, se află numele pe care îl căutați - deasupra sau dedesubt? Începem cu o astfel de întrebare la elementul din mijloc și fiecare răspuns restrânge zona de căutare în medie de două ori. Fișierele sunt, să zicem, pur și simplu sortate alfabetic, iar la întrebare se răspunde într-un mod evident - prin compararea literelor inițiale. Zona de căutare, restrânsă la jumătate, începe să fie explorată într-un mod similar, pornind din nou de la elementul din mijloc.

Concluzie - pentru a căuta un fișier dintre 1000, de exemplu, FAT va trebui să facă o medie de 500 de comparații (cel mai probabil fișierul va fi găsit la mijlocul căutării), iar un sistem bazat pe arbore va avea pentru a face doar aproximativ 10 (2^10 = 1024). Economiile de timp de căutare sunt evidente. Cu toate acestea, nu ar trebui să vă gândiți că în sistemele tradiționale (FAT) totul este atât de neglijat: în primul rând, menținerea unei liste de fișiere sub forma unui arbore binar este destul de laborioasă, iar în al doilea rând, chiar și FAT realizat de un sistem modern (Windows2000). sau Windows98) utilizează căutare de optimizare similară. Acesta este doar un alt fapt de adăugat la baza ta de cunoștințe. De asemenea, aș dori să elimin ideea greșită comună (pe care eu însumi am împărtășit-o destul de recent) că adăugarea unui fișier într-un director sub formă de arbore este mai dificilă decât într-un director liniar: acestea sunt operațiuni destul de comparabile în timp - faptul este că, pentru a adăuga un fișier în director, trebuie mai întâi să vă asigurați că un fișier cu acel nume nu este încă acolo :) - și aici într-un sistem liniar vom avea dificultăți în găsirea unui fișier, descris mai sus, care mai mult decât să compenseze pentru simplitatea adăugării unui fișier în director.

Ce informații pot fi obținute prin simpla citire a unui fișier de catalog? Exact ceea ce produce comanda dir. Pentru a efectua o navigare simplă pe disc, nu trebuie să intrați în MFT pentru fiecare fișier, trebuie doar să citiți cele mai generale informații despre fișierele din fișierele directoare. Directorul principal al discului - rădăcina - nu este diferit de directoarele obișnuite, cu excepția unei legături speciale către acesta de la începutul metafișierului MFT.

      Logare

NTFS este un sistem tolerant la erori care se poate restabili cu ușurință la o stare corectă în cazul aproape oricărei defecțiuni reale. Orice sistem de fișiere modern se bazează pe conceptul de tranzacție - o acțiune efectuată în întregime și corect sau deloc efectuată. NTFS pur și simplu nu are stări intermediare (eronate sau incorecte) - cantitatea de modificare a datelor nu poate fi împărțită în înainte și după eșec, aducând distrugere și confuzie - este fie comisă, fie anulată.

Exemplul 1: datele sunt scrise pe disc. Dintr-o dată se dovedește că nu a fost posibil să scriem în locul în care tocmai ne-am hotărât să scriem următoarea porțiune de date - deteriorarea fizică a suprafeței. Comportamentul NTFS în acest caz este destul de logic: tranzacția de scriere este anulată în întregime - sistemul realizează că scrierea nu a fost efectuată. Locația este marcată ca eșuată, iar datele sunt scrise într-o altă locație - începe o nouă tranzacție.

Exemplul 2: un caz mai complex - datele sunt scrise pe disc. Brusc, bang - alimentarea este oprită și sistemul repornește. În ce fază s-a oprit înregistrarea, unde sunt datele și unde sunt prostii? Un alt mecanism de sistem vine în ajutor - jurnalul de tranzacții. Faptul este că sistemul, realizându-și dorința de a scrie pe disc, a marcat această stare în metafișierul $LogFile. La repornire, acest fișier este examinat pentru prezența tranzacțiilor neterminate care au fost întrerupte de un accident și al căror rezultat este imprevizibil - toate aceste tranzacții sunt anulate: locul în care s-a făcut scrierea este marcat din nou ca liber, indici și elemente MFT. sunt readuse la starea în care se aflau înainte de eșec, iar sistemul în ansamblu rămâne stabil. Ei bine, ce se întâmplă dacă a apărut o eroare în timpul scrierii în jurnal? De asemenea, este în regulă: tranzacția fie nu a început încă (există doar o încercare de a înregistra intențiile de a o efectua), fie s-a încheiat deja - adică există o încercare de a înregistra că tranzacția a fost deja deja efectuat. În acest din urmă caz, la următoarea pornire, sistemul însuși va înțelege pe deplin că, de fapt, totul a fost scris corect oricum și nu va acorda atenție tranzacției „nefinalizate”.

Totuși, rețineți că înregistrarea în jurnal nu este un panaceu absolut, ci doar un mijloc de a reduce semnificativ numărul de erori și defecțiuni ale sistemului. Este puțin probabil ca utilizatorul mediu NTFS să observe vreodată o eroare de sistem sau să fie forțat să ruleze chkdsk - experiența arată că NTFS este restabilit la o stare complet corectă chiar și în cazul unor defecțiuni în momente foarte ocupate cu activitatea discului. Puteți chiar să optimizați discul și să apăsați pe resetare în mijlocul acestui proces - probabilitatea de pierdere a datelor chiar și în acest caz va fi foarte mică. Este important să înțelegeți, totuși, că sistemul de recuperare NTFS garantează corectitudinea sistemului de fișiere, nu datele dvs. Dacă ați scris pe un disc și ați avut un accident, este posibil ca datele dvs. să nu fie scrise. Nu există miracole.

Fișierele NTFS au un atribut destul de util - „comprimat”. Faptul este că NTFS are suport încorporat pentru compresia discului - ceva pentru care anterior trebuia să folosești Stacker sau DoubleSpace. Orice fișier sau director poate fi stocat individual pe disc sub formă comprimată - acest proces este complet transparent pentru aplicații. Comprimarea fișierelor are o viteză foarte mare și o singură proprietate negativă mare - uriașa fragmentare virtuală a fișierelor comprimate, care, totuși, nu deranjează pe nimeni. Comprimarea se realizează în blocuri de 16 clustere și utilizează așa-numitele „clustere virtuale” - din nou o soluție extrem de flexibilă care vă permite să obțineți efecte interesante - de exemplu, jumătate din fișier poate fi comprimat, iar jumătate nu. Acest lucru se realizează datorită faptului că stocarea informațiilor despre comprimarea anumitor fragmente este foarte similară cu fragmentarea obișnuită a fișierelor: de exemplu, o înregistrare tipică a aspectului fizic pentru un fișier real, necomprimat:

clusterele de fișiere de la 1 la 43 sunt stocate în clustere de discuri începând de la 400, clusterele de fișiere de la 44 la 52 sunt stocate în clustere de discuri începând de la 8530...

Aspectul fizic al unui fișier comprimat tipic:

clusterele de fișiere de la 1 la 9 sunt stocate în clustere de discuri începând de la 400 clustere de fișiere de la 10 la 16 nu sunt stocate nicăieri clusterele de fișiere de la 17 la 18 sunt stocate în clustere de discuri începând de la 409 clustere de fișiere de la 19 la 36-lea nu este stocat nicăieri. ...

Se poate observa că fișierul comprimat are clustere „virtuale”, în care nu există informații reale. De îndată ce sistemul vede astfel de clustere virtuale, înțelege imediat că datele din blocul anterior, un multiplu de 16, trebuie decomprimate, iar datele rezultate vor umple doar clusterele virtuale - acesta este, de fapt, întregul algoritm. .

      Siguranță

NTFS conține multe mijloace de delimitare a drepturilor obiectelor - se crede că acesta este cel mai avansat sistem de fișiere dintre toate existente în prezent. În teorie, acest lucru este fără îndoială adevărat, dar în implementările actuale, din păcate, sistemul de drepturi este destul de departe de ideal și, deși rigid, nu este întotdeauna un set logic de caracteristici. Drepturile atribuite oricărui obiect și respectate în mod clar de sistem evoluează - modificări majore și completări la drepturi au fost deja făcute de mai multe ori, iar prin Windows 2000 au ajuns în sfârșit la un set destul de rezonabil.

Drepturile sistemului de fișiere NTFS sunt indisolubil legate de sistemul în sine - adică, în general, nu trebuie să fie respectate de un alt sistem dacă i se acordă acces fizic la disc. Pentru a preveni accesul fizic, Windows 2000 (NT5) a introdus în continuare o caracteristică standard - vedeți mai jos pentru mai multe despre aceasta. Sistemul de drepturi în starea sa actuală este destul de complex și mă îndoiesc că pot spune cititorului general ceva interesant și util pentru el în viața de zi cu zi. Dacă sunteți interesat de acest subiect, veți găsi multe cărți despre arhitectura de rețea NT care descriu acest lucru mai detaliat.

În acest moment, descrierea structurii sistemului de fișiere poate fi finalizată; rămâne să descriem doar un anumit număr de lucruri pur și simplu practice sau originale.

Acest lucru a fost în NTFS din timpuri imemoriale, dar a fost folosit foarte rar - și totuși: Hard Link este atunci când același fișier are două nume (mai multe indicatori de director de fișiere sau directoare diferite indică aceeași înregistrare MFT). Să presupunem că același fișier are numele 1.txt și 2.txt: dacă utilizatorul șterge fișierul 1, va rămâne fișierul 2. Dacă șterge 2, va rămâne fișierul 1, adică ambele nume, din momentul creării, sunt complet egali. Fișierul este șters fizic numai atunci când numele său de familie este șters.

      Legături simbolice (NT5)

O caracteristică mult mai practică, care vă permite să creați directoare virtuale - exact la fel ca discurile virtuale folosind comanda subst în DOS. Aplicațiile sunt destul de variate: în primul rând, simplificarea sistemului de catalog. Dacă nu vă place directorul Documente și setări\Administrator\Documente, îl puteți conecta la directorul rădăcină - sistemul va comunica în continuare cu directorul cu o cale sălbatică și veți avea un nume mult mai scurt, care este complet echivalent la el. Pentru a crea astfel de conexiuni, puteți folosi programul de joncțiune (junction.zip(15 Kb), 36 kb), scris de celebrul specialist Mark Russinovich (http://www.sysinternals.com). Programul funcționează numai în NT5 (Windows 2000), la fel ca și caracteristica în sine. Pentru a elimina o conexiune, puteți utiliza comanda standard rd. AVERTISMENT: Încercarea de a șterge o legătură folosind Explorer sau alți manageri de fișiere care nu înțeleg natura virtuală a unui director (cum ar fi FAR) va șterge datele la care face referire link-ul! Atenție.

      Criptare (NT5)

O caracteristică utilă pentru persoanele care sunt preocupate de secretele lor - fiecare fișier sau director poate fi, de asemenea, criptat, făcând imposibilă citirea acesteia de către o altă instalare NT. Combinată cu o parolă standard și practic indestructibilă pentru pornirea sistemului în sine, această caracteristică oferă suficientă securitate pentru majoritatea aplicațiilor pentru datele importante pe care le selectați.

Sistemul de operare, care stă la baza funcționării oricărui echipament informatic, organizează lucrul cu date electronice, urmând un anumit algoritm, în lanțul căruia sistemul de fișiere nu este nerevendicat. Ce este un sistem de fișiere în general și ce tipuri de acesta sunt aplicabile în vremurile moderne, vom încerca să explicăm în acest articol.

Descrierea caracteristicilor generale ale sistemului de fișiere

FS- aceasta, după cum s-a indicat mai sus, face parte din sistemul de operare, care este direct legată de plasarea, ștergerea, deplasarea informațiilor electronice pe un anumit mediu, precum și de securitatea utilizării ulterioare a acestora în viitor. Această resursă este aplicabilă și în cazurile în care este necesară restaurarea informațiilor pierdute din cauza unei defecțiuni software ca atare. Adică, este instrumentul principal pentru lucrul cu fișiere electronice.

Tipuri de sisteme de fișiere

Fiecare dispozitiv de calculator folosește un tip special de sistem de fișiere. Următoarele tipuri sunt deosebit de comune:

Proiectat pentru hard disk-uri;
- destinat benzilor magnetice;
- destinat mediilor optice;
- virtuale;
- rețea.

Desigur, principala unitate logică a lucrului cu date electronice este un fișier, adică un document cu informații de o anumită natură sistematizate în el, care are propriul nume, ceea ce face mai ușor pentru utilizator să lucreze cu un flux mare de electronice. documente.
Așadar, absolut tot ceea ce folosește sistemul de operare este transformat în fișiere, indiferent dacă este vorba de text sau imagini, sau sunet, sau video, sau fotografii. Printre altele, driverele și bibliotecile de software au și transcripții ale acestora.

Fiecare unitate de informații are un nume, o extensie specifică, dimensiune, caracteristici inerente și tip. Dar FS este totalitatea lor, precum și principiile de lucru cu toți.

În funcție de ce caracteristici specifice sunt inerente sistemului, acesta va funcționa eficient cu astfel de date. Și aceasta este o condiție prealabilă pentru a-l clasifica în tipuri și tipuri.

O privire asupra sistemului de fișiere din perspectiva programării

Când studiați conceptul de sistem de fișiere, ar trebui să înțelegeți că aceasta este o componentă cu mai multe niveluri, primul dintre care este dominat de un transformator de sistem de fișiere, care asigură interacțiunea eficientă între sistemul în sine și o aplicație software specifică. El este cel care este responsabil pentru conversia cererii de date electronice într-un format specific, care este recunoscut de șoferi, ceea ce presupune o muncă eficientă cu fișierele, adică acestea sunt accesibile.

Aplicațiile moderne care au un standard client-server au cerințe FS foarte ridicate. La urma urmei, sistemele moderne trebuie pur și simplu să ofere cel mai eficient acces la toate tipurile de unități electronice disponibile, precum și să ofere un suport extraordinar pentru mediile de volum mare, precum și să protejeze toate datele de accesul nedorit al altor utilizatori, precum și să asigure integritatea informațiilor stocate în format electronic.

Mai jos vom analiza toate FS-urile existente și avantajele și dezavantajele acestora.

GRAS
Acesta este cel mai vechi tip de sistem de fișiere, care a fost dezvoltat în 1977. A funcționat cu OS 86-DOS și nu este capabil să funcționeze cu medii de stocare hard și este proiectat pentru tipuri flexibile și stocare de informații de până la un megaoctet. Dacă limitarea dimensiunii informațiilor nu este relevantă astăzi, atunci alți indicatori rămân neschimbați la cerere.

Acest sistem de fișiere a fost folosit de compania lider în dezvoltarea de aplicații software, Microsoft, pentru sisteme de operare precum MS-DOS 1.0.
Fișierele acestui sistem au o serie de proprietăți caracteristice:

Numele unității de informații trebuie să conțină o literă sau un număr la început, iar conținutul suplimentar al numelui poate include diferite simboluri de la tastatura computerului;
- numele fișierului nu trebuie să depășească opt caractere; la sfârșitul numelui este plasat un punct, urmat de o extensie de trei litere;
- orice registru de aspect al tastaturii poate fi folosit pentru a crea un nume de fișier.

Încă de la începutul dezvoltării sale, sistemul de fișiere FAT a avut ca scop lucrarea cu sistemul de operare DOS; nu a fost interesat să salveze date despre utilizatorul sau proprietarul informațiilor.

Datorită diferitelor modificări ale acestui FS, acesta a devenit cel mai popular în vremurile moderne și pe baza lui funcționează cele mai inovatoare sisteme de operare.

Acest sistem de fișiere este capabil să salveze fișierele neschimbate dacă echipamentul computerizat este oprit incorect din cauza, de exemplu, că bateria nu este încărcată sau luminile sunt stinse.

Multe sisteme de operare cu care funcționează FAT conțin anumite utilitare software care corectează și verifică arborele de conținut al sistemului de fișiere și fișierele în sine.

NTFS
Sistemul modern de fișiere NTFS funcționează cu sistemul de operare Windows NT; în principiu, acesta a fost vizat. Include utilitarul de conversie, care este responsabil pentru conversia volumelor din formatul HPFS sau FAT în formatul de volum NTFS.

Este mai modernizat în comparație cu prima opțiune descrisă mai sus. Această versiune a extins capacitățile în ceea ce privește controlul accesului direct la toate unitățile de informații. Aici puteți utiliza multe atribute utile, compresia dinamică a fișierelor și toleranța la erori. Unul dintre avantajele sale este suportul pentru cerințele standardului POSIX.

Acest sistem de fișiere vă permite să creați fișiere de informații cu nume de până la 255 de caractere.

Dacă sistemul de operare care funcționează cu acest sistem de fișiere eșuează, atunci nu este nevoie să vă faceți griji cu privire la siguranța tuturor fișierelor. Ele rămân intacte și nevătămate, deoarece acest tip de sistem de fișiere are proprietatea de auto-vindecare.

O caracteristică a sistemului de fișiere NTFS este structura sa, care este prezentată sub forma unui tabel specific. Primele șaisprezece intrări din registru sunt conținutul sistemului de fișiere însuși. Fiecare unitate electronică individuală are, de asemenea, forma unui tabel, care conține informații despre tabel, un fișier oglindă în format MFT, un fișier de înregistrare utilizat atunci când este necesar să restabiliți informațiile și datele ulterioare - acestea sunt informații despre fișierul în sine și datele sale care au fost salvate direct pe hard disk.

Toate comenzile executate cu fișiere tind să fie salvate, ceea ce ajută sistemul ulterior să se recupereze singur după o defecțiune a sistemului de operare cu care lucrează.

EFS
Un sistem de fișiere foarte comun este EFS, care este considerat criptat. Funcționează cu sistemul de operare Windows. Acest sistem face ca fișierele să fie stocate pe hard disk în formă criptată. Aceasta este cea mai eficientă protecție pentru toate fișierele.
Criptarea este setată în proprietățile fișierului folosind o casetă de selectare de lângă fila care indică posibilitatea de criptare. Folosind această funcție, puteți specifica cine poate vizualiza fișierele, adică cine are permisiunea de a lucra cu ele.

BRUT
Elementele fișierelor sunt cele mai vulnerabile unități de programare. La urma urmei, acestea sunt informațiile care sunt stocate pe discurile computerelor. Ele pot fi deteriorate, îndepărtate, ascunse. În general, munca utilizatorului vizează exclusiv crearea, salvarea și mutarea acestora.
Sistemul de operare nu arată întotdeauna proprietățile ideale ale funcționării sale și are tendința de a eșua. Acest lucru se întâmplă din mai multe motive. Dar acum nu este vorba despre asta.

Mulți utilizatori se confruntă cu o notificare că sistemul RAW este deteriorat. Este cu adevărat FS sau nu? Mulți oameni își pun această întrebare. Se pare că acest lucru nu este în întregime adevărat. Dacă o explicăm la nivelul unui limbaj de programare, atunci RAW este o eroare, și anume o eroare logică care a fost deja introdusă în sistemul de operare Windows pentru a-l proteja de eșec. Dacă echipamentul oferă mesaje despre RAW, atunci trebuie să rețineți că structura sistemului de fișiere este în pericol, nu funcționează corect sau este în pericol de distrugere treptată.

Dacă o astfel de problemă este evidentă, atunci nu veți putea accesa un singur fișier de pe computer și, de asemenea, va refuza să execute alte comenzi operaționale.

UDF
Acesta este un sistem de fișiere pentru discuri optice, care are propriile sale caracteristici:

Numele fișierelor nu trebuie să depășească 255 de caractere;
- cazul nominal poate fi fie inferior, fie superior.

Funcționează cu sistemul de operare Windows XP.

EXFAT
Și un alt sistem de fișiere modern este EXFAT, care este un fel de intermediar între Windows și Linux, asigurând transformarea efectivă a fișierelor de la un sistem la altul, deoarece serviciile lor de găzduire de fișiere sunt diferite. Este utilizat pe dispozitive portabile de stocare, cum ar fi unitățile flash.

Sistemul de fișiere este sistemul utilizat de sistemul de operare Windows. Este necesar pentru organizarea și stocarea datelor pe orice disc. Ea este cea care este responsabilă pentru stocarea datelor pe hard disk. Să ne uităm la ce este un sistem de fișiere și ce tipuri de astfel de sisteme există.

De ce avem nevoie de un sistem de fișiere?

Puteți înțelege ce sistem de fișiere este utilizat pe computer, accesând folderul numit „Computerul meu”. Apoi trebuie să faceți clic dreapta și să selectați „Proprietăți”. În fereastra de informații care apare, puteți citi următoarea inscripție: Sistem de fișiere: (nume).

Nu este deloc necesar ca fiecare disc să aibă același sistem de fișiere. Pentru a afla, trebuie să te uiți la fiecare disc.

Securitatea computerului personal va depinde de alegerea corectă a sistemului de fișiere, iar sistemul de operare nu se va bloca și nu va pierde date. Să ne uităm la ce sisteme de fișiere pot fi găsite în Windows.

Tipuri de sisteme de fișiere

GRAS

Primul lucru la care ne vom uita este un sistem de fișiere numit FAT. Astăzi este extrem de rar, așa că nu merită să ne oprim în detaliu. Cel mai mare dezavantaj al său este capacitatea maximă a discului, care este de doar 2 GB, care nu se găsește practic niciodată în hardware-ul modern. Astfel, dacă discul tău are o capacitate mai mare, atunci nu mai funcționează. Acum câțiva ani, 2 GB era capacitatea standard de hard disk, iar acest sistem de fișiere era folosit perfect acolo. Dar astăzi și-a depășit utilitatea și a ocupat un loc onorabil în coșul de gunoi al istoriei.

Următorul sistem de fișiere este faimosul FAT 32. 32 este dimensiunea biților sistemului. Această versiune este o versiune actualizată a sistemului de fișiere anterior. Dacă utilizați o versiune anterioară de Windows, este posibil să aveți unele probleme la formatarea unității. Cu toate acestea, acest sistem este mult mai stabil decât predecesorul său, iar lucrul cu fișiere va continua mult mai rapid.

NTFS

Acum să ne uităm la ce este sistemul de fișiere NTFS. Acest sistem de stocare a fișierelor a apărut relativ recent și este mai modern decât precedentele două. Cu toate acestea, în ciuda numărului mare de avantaje, nu este lipsită de dezavantajele sale. Majoritatea discurilor produse de companiile comerciale astăzi au doar un astfel de sistem de fișiere. Stochează datele mult mai bine, dar este destul de solicitant pentru resursele computerului dvs.

În plus, în cazul în care discul logic are o încărcare completă de până la 90 la sută, performanța sistemului de fișiere este redusă drastic. De asemenea, dacă sistemul de operare este mai vechi decât Windows XP, atunci un astfel de sistem de fișiere va refuza pur și simplu să lucreze pe el. Odată ce introduceți un disc în unitate, computerul pur și simplu nu îl va putea recunoaște sau va fi marcat ca o partiție necunoscută. Vorbind despre avantaje, se poate observa că munca unui astfel de sistem de fișiere cu fișiere mici este mult mai rapidă și de o calitate mai bună. Cea mai mare dimensiune pe care o poate avea un disc este de 18 TB. Există, de asemenea, fragmentarea fișierelor. Cu el, sistemul de fișiere nu va încetini, dar va continua să funcționeze ca de obicei. De asemenea, atunci când utilizați NTFS, puteți fi complet și complet sigur că nu va avea loc corupția fișierelor. Sistemul folosește spațiul pe disc foarte economic și vă permite să comprimați fișierele la o dimensiune minimă fără a le deteriora deloc. Apropo, datorită acestui sistem a devenit posibilă restaurarea datelor în caz de pierdere. În consecință, dacă comparăm acest sistem cu FAT, atunci toate avantajele sunt evidente. Cel mai important lucru pe care ți-l poate oferi este siguranța.

UDF

Acum este timpul să ne uităm la ce este sistemul de fișiere UDF. Acesta este un sistem de fișiere care este independent de sistemul de operare al computerului și este utilizat pentru a salva datele stocate pe medii optice. Spre deosebire de sistemele anterioare, UDF permite ca informații suplimentare să fie scrise pe o dischetă deja plină. De asemenea, acest sistem de fișiere poate șterge selectiv anumite fișiere de pe disc fără a deteriora alte informații. Metadatele, cum ar fi teritoriul rădăcină, sunt situate haotic în interiorul discului, dar baza acestor date are trei locuri: sectorul 256, 257 și N-1, în acest caz N este dimensiunea pistei.

Pentru discurile DVD, UDF este cel mai de succes sistem de fișiere, deoarece nu are absolut nicio restricție privind dimensiunile fișierelor. Puteți înregistra atât videoclipuri mari, cât și mici.

Datorită UDF, am aflat care este sistemul de fișiere final și cum să-l alegem corect pentru computerul dvs.

Bună ziua, dragă utilizator, în acest articol vom vorbi despre un subiect precum fișierele. Și anume, ne vom uita la: Gestionarea fișierelor, tipuri de fisiere, structura fișierului, atributele fișierului.

Sistemul de fișiere

Una dintre sarcinile principale ale sistemului de operare este de a oferi confort utilizatorului atunci când lucrează cu date stocate pe discuri. Pentru a face acest lucru, sistemul de operare înlocuiește structura fizică a datelor stocate cu un model logic ușor de utilizat, care este implementat sub forma unui arbore de directoare afișat pe ecran de utilități precum Norton Commander, Far Manager sau Windows Explorer. Elementul de bază al acestui model este fişier, care este la fel ca Sistemul de fișiereîn general, poate fi caracterizat atât prin structură logică cât și fizică.

Gestionarea fișierelor

Fişier– o zonă denumită a memoriei externe destinată citirii și scrierii datelor.

Fișierele sunt stocate în memorie independentă de energie. O excepție este un disc electronic, atunci când în OP este creată o structură care imită un sistem de fișiere.

Sistemul de fișiere(FS) este o componentă a sistemului de operare care asigură organizarea pentru crearea, stocarea și accesul la seturi de date numite - fișiere.

Sistemul de fișiere include: Sistemul de fișiere include:

  • Colecția tuturor fișierelor de pe disc.
  • Seturi de structuri de date utilizate pentru gestionarea fișierelor (directoare de fișiere, descriptori de fișiere, tabele de alocare a spațiului liber și folosit).
  • Un set de instrumente software de sistem care implementează diverse operații asupra fișierelor: crearea, distrugerea, citirea, scrierea, denumirea, căutarea.

Problemele rezolvate de FS depind de modul în care procesul de calcul este organizat în ansamblu. Cel mai simplu tip este un sistem de fișiere în sistemele de operare cu un singur utilizator și cu un singur program. Principalele funcții dintr-un astfel de FS au ca scop rezolvarea următoarelor sarcini:

  • Denumirea fișierelor.
  • Interfață software pentru aplicații.
  • Maparea modelului de sistem de fișiere logic pe organizarea fizică a depozitului de date.
  • Rezistență FS la întreruperi de curent, erori hardware și software.

Sarcinile FS devin mai complicate în sistemele de operare multitasking cu un singur utilizator, care sunt concepute pentru munca unui utilizator, dar fac posibilă rularea mai multor procese simultan. La sarcinile enumerate mai sus, se adaugă o nouă sarcină - acces partajat la un fișier din mai multe procese.

În acest caz, fișierul este o resursă partajată, ceea ce înseamnă că FS trebuie să rezolve întreaga gamă de probleme asociate cu astfel de resurse. În special: trebuie să existe mijloace pentru blocarea unui fișier și a părților sale, reconcilierea copiilor, prevenirea curselor și eliminarea blocajelor. În sistemele cu mai mulți utilizatori, apare o altă sarcină: Protejarea fișierelor unui utilizator împotriva accesului neautorizat de către alt utilizator.

Funcțiile FS, care funcționează ca parte a unui sistem de operare de rețea, devin și mai complexe; trebuie să organizeze protecția fișiere un utilizator de la accesul neautorizat al altui utilizator.

Scop principal Sistemul de fișiere si corespunzatoare acestuia sisteme de gestionare a fișierelor– organizarea unei gestionări convenabile a fișierelor organizate ca fișiere: în loc de acces la nivel scăzut la date care indică adresele fizice specifice ale înregistrării de care avem nevoie, se folosește accesul logic indicând numele fișierului și înregistrarea din acesta.

Trebuie să se distingă termenii „sistem de fișiere” și „sistem de gestionare a fișierelor”: sistemul de fișiere definește, în primul rând, principiile accesului la datele organizate ca fișiere. Iar termenul „sistem de gestionare a fișierelor” ar trebui folosit în legătură cu o implementare specifică a sistemului de fișiere, de exemplu. Acesta este un set de module software care asigură lucrul cu fișiere într-un anumit sistem de operare.

Exemplu

Sistemul de fișiere FAT (tabel de alocare a fișierelor) are multe implementări ca sistem de gestionare a fișierelor

  • Sistemul dezvoltat pentru primele PC-uri se numea simplu FAT (acum numit simplu FAT-12). A fost proiectat să funcționeze cu dischete și de ceva timp a fost folosit pentru a funcționa cu hard disk-uri.
  • Apoi a fost îmbunătățit pentru a funcționa cu hard disk-uri mai mari, iar această nouă implementare a fost numită FAT-16. acest nume este folosit și în relație cu SUF-ul MS-DOS în sine.
  • Implementarea SUF pentru OS/2 se numește super-FAT (diferența principală este capacitatea de a accepta atribute extinse pentru fiecare fișier).
  • Există o versiune de SUF pentru Windows 9x/NT etc. (FAT-32).

Tipuri de fisiere

Fișiere obișnuite: conțin informații de natură arbitrară care sunt introduse în ele de către utilizator sau care sunt generate ca urmare a funcționării sistemului și a programelor utilizatorului. Conținutul unui fișier obișnuit este determinat de aplicația care funcționează cu acesta.

Fișierele obișnuite pot fi de două tipuri:

  1. Software(executable) – sunt programe scrise în limbajul de comandă al sistemului de operare și îndeplinesc unele funcții de sistem (au extensii .exe, .com, .bat).
  2. Fișiere de date– toate celelalte tipuri de fișiere: documente text și grafice, foi de calcul, baze de date etc.

Cataloagele- acesta este, pe de o parte, un grup de fișiere combinate de utilizator pe baza anumitor considerații (de exemplu, fișiere care conțin programe de joc sau fișiere care alcătuiesc un pachet de software), iar pe de altă parte, acesta este un tip de fișiere care conțin informații de ajutor de sistem despre un set de fișiere grupate de utilizatori după niște criterii informale (tipul fișierului, locația pe disc, drepturi de acces, data creării și modificării).

Fișiere speciale– acestea sunt fișiere fictive asociate dispozitivelor de intrare/ieșire, care sunt folosite pentru a unifica mecanismul de accesare a fișierelor și dispozitivelor externe. Fișierele speciale permit utilizatorului să efectueze operațiuni I/O utilizând comenzi normale de scriere sau citire a fișierelor. Aceste comenzi sunt procesate mai întâi de programele FS, iar apoi, la o anumită etapă a executării cererii, sunt convertite de către OS în comenzi de control pentru dispozitivul corespunzător (PRN, LPT1 - pentru portul imprimantei (nume simbolice, pentru OS - acestea sunt fișiere). ), CON - pentru tastatură).

Exemplu. Copiați con text1 (lucruți cu tastatura).

Structura fișierului

Structura fișierului– întregul set de fișiere de pe disc și relațiile dintre ele (ordinea în care fișierele sunt stocate pe disc).

Tipuri de structuri de fișiere:

  • simplu, sau cu un singur nivel: Un director este o secvență liniară de fișiere.
  • ierarhic sau pe mai multe niveluri: Un director în sine poate face parte dintr-un alt director și poate conține multe fișiere și subdirectoare în el. Structura ierarhică poate fi de două tipuri: „Arborele” și „Rețea”. Directoarele formează un „Arbore” dacă fișierul poate fi inclus într-un singur director (OS MS-DOS, Windows) și „Rețea” - dacă fișierul poate fi inclus în mai multe directoare simultan (UNIX).
  • Structura fișierelor poate fi reprezentată ca un grafic care descrie ierarhia directoarelor și fișierelor:



Tipuri de nume de fișiere

Fișierele sunt identificate prin nume. Utilizatorii dau fișiere nume simbolice, aceasta ține cont de restricțiile sistemului de operare atât pentru caracterele utilizate, cât și pentru lungimea numelui. În primele sisteme de fișiere, aceste limite erau destul de înguste. Deci în popular Sistem de fișiere FAT Lungimea numelor este limitată de binecunoscuta schemă 8.3 (8 caractere - numele în sine, 3 caractere - extensia numelui), iar în UNIX System V numele nu poate conține mai mult de 14 caractere.

Cu toate acestea, este mult mai convenabil pentru utilizator să lucreze cu nume lungi, deoarece acestea vă permit să acordați fișierului un nume cu adevărat mnemonic, prin care, chiar și după o perioadă destul de lungă de timp, vă puteți aminti ce conține acest fișier. Prin urmare, sistemele de fișiere moderne tind să accepte nume lungi de fișiere simbolice.

De exemplu, Windows NT specifică în sistemul său de fișiere NTFS că un nume de fișier poate avea până la 255 de caractere, fără a lua în considerare caracterul nul final.

Trecerea la nume lungi creează o problemă de compatibilitate cu aplicațiile create anterior care folosesc nume scurte. Pentru ca aplicațiile să acceseze fișiere conform convențiilor acceptate anterior, sistemul de fișiere trebuie să fie capabil să furnizeze nume scurte (alias-uri) echivalente fișierelor care au nume lungi. Astfel, una dintre sarcinile importante devine problema generării unor nume scurte adecvate.

Numele simbolice pot fi de trei tipuri: simple, compuse și relative:

  1. Nume simplu identifică un fișier într-un singur director, atribuit fișierelor ținând cont de nomenclatura simbolului și lungimea numelui.
  2. Numele complet este un lanț de nume simbolice simple ale tuturor directoarelor prin care trece calea de la rădăcină la un anumit fișier, nume de disc, nume de fișier. Deci numele complet este compozit, în care numele simple sunt separate între ele printr-un separator acceptat în sistemul de operare.
  3. Dosarul poate fi de asemenea identificat nume relativ. Numele relativ al fișierului este determinat prin conceptul de „director curent”. În orice moment, unul dintre directoare este curent, iar acest director este selectat de utilizator însuși la comanda sistemului de operare. Sistemul de fișiere captează numele directorului curent, astfel încât să îl poată utiliza apoi ca o completare a numelor relative pentru a forma numele de fișier complet calificat.

Într-o structură de fișiere de tip arbore, există o corespondență unu-la-unu între un fișier și numele complet - „un fișier - un nume complet”. Într-o structură de fișiere de rețea, un fișier poate fi inclus în mai multe directoare, ceea ce înseamnă că poate avea mai multe nume complete; Corespondența aici este „un fișier - multe nume complete”.

Pentru fișierul 2.doc, definiți toate cele trei tipuri de nume, cu condiția ca directorul curent să fie directorul 2008_year.

  • Nume simplu: 2.doc
  • Nume complet: C:\2008_year\Documents\2.doc
  • Nume relativ: Documents\2.doc

Atributele fișierului

O caracteristică importantă a unui fișier sunt atributele acestuia. Atribute– acestea sunt informații care descriu proprietățile fișierelor. Exemple de atribute posibile de fișier:

  • Atribut numai citire;
  • Semnează „fișier ascuns” (Hidden);
  • Semnează „fișier de sistem” (Sistem);
  • Semnează „fișier de arhivă” (Arhivă);
  • Tipul fișierului (fișier obișnuit, director, fișier special);
  • Proprietarul dosarului;
  • Creator de fișiere;
  • Parola pentru accesarea fișierului;
  • Informații despre operațiunile permise de acces la fișiere;
  • Momentul creării, ultimul acces și ultima modificare;
  • Dimensiunea curentă a fișierului;
  • Dimensiunea maximă a fișierului;
  • Semnează „temporar (elimină după finalizarea procesului)”;
  • Semn de blocare.

În diferite tipuri de sisteme de fișiere, se pot utiliza diferite seturi de atribute pentru a caracteriza fișierele (de exemplu, într-un sistem de operare cu un singur utilizator, setul de atribute nu va conține caracteristici legate de utilizator și securitate (creatorul fișierului, parola pentru accesarea fișierului etc.).

Utilizatorul poate accesa atribute folosind facilitățile oferite în acest scop de sistemul de fișiere. De obicei, puteți citi valorile oricăror atribute, dar modificați doar unele, de exemplu, puteți modifica drepturile de acces ale unui fișier, dar nu puteți modifica data creării sau dimensiunea curentă a fișierului.

Permisiuni pentru fișiere

Definirea drepturilor de acces la un fișier înseamnă definirea pentru fiecare utilizator a unui set de operații pe care le poate aplica unui anumit fișier. Diferite sisteme de fișiere pot avea propria listă de operațiuni de acces diferențiate. Această listă poate include următoarele operațiuni:

  • crearea de fișiere.
  • distrugerea fișierului.
  • scrierea într-un fișier.
  • deschiderea unui dosar.
  • închiderea dosarului.
  • citind din fisier.
  • adăugare de fișiere.
  • cauta in fisier.
  • obținerea atributelor fișierului.
  • stabilirea de noi valori de atribut.
  • redenumire.
  • execuția fișierului.
  • citirea unui catalog etc.

În cazul cel mai general drepturi de acces poate fi descris printr-o matrice de drepturi de acces, în care coloanele corespund tuturor fișierelor din sistem, rândurile corespund tuturor utilizatorilor, iar la intersecția rândurilor și coloanelor sunt indicate operațiunile permise:

În unele sisteme, utilizatorii pot fi împărțiți în categorii separate. Pentru toți utilizatorii din aceeași categorie, sunt definite drepturi de acces uniforme, de exemplu, în sistemul UNIX, toți utilizatorii sunt împărțiți în trei categorii: proprietarul fișierului, membrii grupului său și toți ceilalți.