Sistemul de fișiere al sistemului de operare ms-dos

Sistemul de fișiere MS-DOS este o versiune îmbunătățită și îmbunătățită a sistemului de fișiere SR / M. Funcționează numai pe platforme cu procesor Intel. nu acceptă multitasking și funcționează numai în modul real IBM PC. Sistemul de fișiere MS-DOS este similar cu sistemul de fișiere SR / M, inclusiv utilizarea numelor de fișiere alcătuite din caractere majuscule 8 + 3. În prima versiune a sistemului (MS-DOS 1.0) a existat un singur director, ca în SR / M. Cu toate acestea, începând cu versiunea sistemului de operare MS-DOS 2.0. funcționalitatea sistemului de fișiere sa extins semnificativ. Cea mai serioasă îmbunătățire a fost trecerea la un sistem de fișiere ierarhic, în care directoarele ar putea fi așezate unul în altul la o adâncime arbitrară. Acest lucru însemna că directorul rădăcină (a cărui dimensiune era încă limitată) ar putea conține subdirectoare care ar putea conține și subdirectoarele lor. Legături acceptate în UNIX. nu este permis, astfel încât sistemul de fișiere a reprezentat un arbore care a început în directorul rădăcină.







Programele de aplicații încep de obicei prin specificarea unui subdirector în directorul rădăcină în care își scriu fișierele, ceea ce le permite programelor să evite conflictul. Deoarece directoarele sunt ele însele stocate în fișiere MS-DOS ca fișiere, nu există nici o limită a numărului de directoare sau fișiere de pe disc. Cu toate acestea, spre deosebire de CP / M. în MS-DOS nu există niciun concept de utilizatori diferiți. În consecință, orice utilizator conectat primește acces la toate fișierele.

Pentru a citi fișierul, programul care rulează pe sistemul MS-DOS. trebuie să facă mai întâi apelul la sistem deschis. pentru a obține descriptorul fișierului [4]. Apelul de sistem deschis ca unul dintre argumentele de intrare ar trebui să specifice calea spre fișier, care poate fi fie absolută, fie relativă (față de directorul curent). Sistemul de fișiere deschide direct unul câte unul directoarele listate în cale, până când detectează ultimul director care este citit în memoria RAM. Apoi, în directorul de citire este căutat descriptorul de fișiere pe care doriți să îl deschideți.

Deși directoarele din sistemul de fișiere MS-DOS sunt de mărime variabilă, se utilizează intrări de director, ca și în SR / M. au o dimensiune fixă ​​de 32 octeți (Fig.1). Descriptorul de fișiere conține: numele fișierului, atributele acestuia, data și ora creării, numărul blocului inițial și dimensiunea exactă a fișierului. Numele de fișiere sunt mai scurte de 8 + 3 caractere sunt aliniate la stânga câmpurilor și sunt completate cu spații, fiecare câmp separat. Câmpul Atribute este un câmp nou care conține biți care indică tipul fișierului (arhivat, sistem sau ascuns) și acțiunile care sunt permise (citiți sau citiți și scrieți). Nu este permisă scrierea unui fișier care este numai pentru citire. Astfel, se efectuează protecția fișierelor de înregistrarea sau ștergerea accidentală.







Bitul arhivat (fișier de arhivare) nu este instalat și nu este verificat de sistemul de operare. Este rezervat în descriptor pentru programele de arhivare la nivel de utilizator care reseta acest bit atunci când creează o copie de siguranță a fișierului, în timp ce programele care modifică fișierul au setat acest bit. Astfel, programul de arhivare determină ce fișiere vor fi arhivate. Bitul ascuns (fișierul ascuns) vă permite să nu afișați fișierul în lista de directoare a directorului, ceea ce vă permite să ascundeți fișiere de la utilizatori neexperimentați a căror scop nu-l cunosc. Bitul de sistem (sistem) ascunde și fișierele și îi protejează de ștergerea accidentală cu comanda del. acesta este instalat în componentele principale ale sistemului MS-DOS.

Înregistrarea în catalog conține, de asemenea, data și ora la care fișierul a fost creat sau a fost modificat ultima dată. Timpul este stocat cu o precizie de ± 2 secunde, deoarece este alocat un câmp de 2 octeți, capabil să conțină numai 65536 valori unice, iar în timpul zilei 86400 secunde. Câmpul de timp este împărțit în sub-câmpuri: secunde (5 biți), minute (6 biți) și ore (5 biți). Câmpul datei de șaisprezece cifre este de asemenea împărțit în trei sub-câmpuri: zi (5 biți), lună (4 biți) și an - 1980 (7 biți). Cu 7 biți pentru anul de depozitare și 1980 ca punct de plecare, valoarea maximă a anului care poate fi obținută este 2107, astfel încât sistemul de fișiere MS-DOS are o problemă încorporată de 2108.

Fig. 2. Tabela de alocare a fisierelor

În funcție de numărul de blocuri de pe disc, sistemul MS-DOS utilizează trei versiuni ale sistemului de fișiere FAT. FAT-12. FAT-16 și FAT-32. În toate sistemele de fișiere FAT, dimensiunea blocului de disc în octeți poate fi setată egală cu un multiplu de 512 cu seturi de dimensiuni de blocuri (clustere) permise diferite pentru fiecare variantă FAT. Prima versiune a sistemului MS-DOS a folosit FAT-12 cu blocuri de 512 octeți, ceea ce a permis crearea de partiții pe disc până la 212 x 512 octeți. În același timp, dimensiunea maximă a partiției de disc ar putea fi de 2 MB, iar în RAM FAT, tabela ocupă 4.096 articole, fiecare câte doi octeți. Un astfel de sistem a funcționat bine pe dischete. Pentru a lucra pe hard discuri, Microsoft a decis să utilizeze blocuri de discuri (clustere) de 1,2 și 4 KB în dimensiune, care au salvat structura și dimensiunea tabelului FAT-12 și au mărit dimensiunea partiției de disc la 16 MB.

Din moment ce MS-DOS a suportat până la patru partiții de disc, sistemul de fișiere FAT-12 ar putea funcționa cu discuri de până la 64 MB. Pentru a susține discurile grele mai mari, a fost dezvoltat sistemul de fișiere FAT-16 cu indicatoare de disc pe 16 biți. În plus, a fost permisă utilizarea clusterelor de dimensiuni 8, 16 și 32 KB. Tabelul FAT-16 ocupat 128KB RAM, secțiunea maximă disc suportată de sistemul de fișiere este de 2 GB (64 K componente de 32 KB fiecare), dimensiunea maximă a discului a fost de 8 GB (4 GB 2 secțiuni din fiecare).







Articole similare

Trimiteți-le prietenilor: