7.12. File System Architecture
Astfel, sistemul de fișiere joacă rolul unui strat intermediar, filmat toate complexitatea organizării fizice de stocare a datelor pe termen lung și crearea unui program pentru un model logic simplu de depozit, și apoi le oferă un set de ușor de utilizat comenzi pentru manipularea fișierelor.
Schema clasică a sistemului de fișiere software-ul este prezentat în Fig. 7.6.
Fig. 7.6. Organizarea sistemului de fișiere de software
drivere de dispozitiv Nivelul inferior direct conectat la dispozitivele periferice sau controlerul sau canale. Driverul de dispozitiv este responsabil pentru dispozitivul inițial de operare de intrare-ieșire și pentru procesarea de finalizare cerere IO. Atunci când operațiunile de fișiere controlate de dispozitive sunt unități de disc și unitățile de bandă (stick-uri ML). Driverele de dispozitiv sunt considerate ca parte a sistemului de operare.
Stratul următor se numește sistemul de fișiere de bază, sau la un nivel fizic IO. Aceasta este interfața principală cu mediul (periferie) a sistemului informatic. Acesta funcționează pe blocuri de date, care comunică cu discuri, bandă magnetică și alte dispozitive. Prin urmare, acesta este asociat cu blocurile de plasare și de tamponare în memoria RAM. La acest nivel, nici o lucrare se face cu conținutul de blocuri de structură de date sau fișiere. Sistemul de fișiere de bază este în general considerată ca parte a sistemului de operare (DOS MS, aceste funcții sunt îndeplinite de către BIOS. Nu este legat de sistemul de operare).
bază Dispatcher IO este responsabil pentru începerea și finalizarea fișierului IO. La acest nivel, a sprijinit structurile de control asociate cu fișierele dispozitiv de intrare-ieșire, de planificare și de stare. Dispecer selectează dispozitivul pe care să ruleze fișierul de operare de intrare-ieșire, planificarea tratamentului la dispozitiv (disc, bandă), scopul tampoanele intrări-ieșiri și distribuția de memorie externă. Managerul de bază de intrare-ieșire este o parte a sistemului de operare.
Logică introductiv concluzie oferă aplicații și utilizatorilor de acces la înregistrările. Acesta oferă un scop general înregistrările de intrare-ieșire și păstrează informații despre fișiere. Cel mai aproape de nivelul sistemului de fișiere de utilizator este adesea numit o metodă de acces. Acesta oferă o interfață standard între aplicații și sisteme de fișiere și dispozitive care conțin date. Diferite metode de acces reflectă structura de fișiere diferite, și diverse modalități de accesare și prelucrare a datelor.
7.13. Organizați-vă fișierele și să le accesați
Tipuri, atribute de denumire și fișiere
Sisteme de fișiere acceptate de mai multe tipuri diferite funcțional de fișiere, care includ fișiere obișnuite care conțin informații caracter arbitrar (text, grafică. sunet, etc. ..), fișiere, directoare, fișiere speciale, canale denumite, fișiere de memorie mapate, și altele.
Cataloage - sunt fișiere de sistem care sprijină structura sistemului de fișiere. Acestea conțin informații de referință de sistem pe un set de fișiere grupate în funcție de utilizator pe orice bază informală (contracte, rezumate, proiecte de curs, etc.). În multe sisteme de operare din catalog pot include alte fișiere, inclusiv alte directoare, formând astfel o structură arborescentă, ușor pentru a găsi fișierul dorit. Cataloage definesc corespondența dintre numele de fișiere și caracteristicile acestora, utilizate pentru sistemul de fișiere de gestionare a fișierelor. Unele dintre aceste caracteristici includ tipul de fișier. dreptul de acces la dosar, ordinea sa de pe disc, dimensiunea, data si ora, si altele.
Fișierele speciale - aceste fișiere fictive asociate cu dispozitivele IO, care sunt utilizate pentru a unifica mecanismul de acces la serial dispozitive de intrare-ieșire, cum ar fi terminale, imprimante, etc. (de exemplu, MS- DOS luând în considerare atât monitor și tastatură fișierele cu numele standard de. con - consola si imprimanta -. ca fișier PRN). fișiere speciale Block sunt folosite pentru a modela discuri.
Named Pipes (canale) sunt ciclice tampoane pentru a permite imaginii de ieșire program audio pentru a combina cu un alt fișier de intrare de program.
Fișierele aparțin mecanismului abstract. Ele oferă o modalitate de a stoca informații pe dispozitivul de stocare și a citit-o din nou mai târziu. În acest caz, utilizatorul trebuie să ascundă detaliile, cum ar fi informațiile metoda și locul de depozitare, precum și detalii ale dispozitivului.
Cea mai importantă caracteristică a oricărui mecanism de abstractizare este denumirea obiectului gestionat. Fișierele Naming variază de la un sistem de operare la altul, dar, de regulă, toate sistemele de operare moderne susțin utilizarea numelui fișierului 8 caractere șirul text. Adesea numele li se permite să utilizeze numere și caractere speciale. Unele sisteme de fișiere distinge între caractere mari și mici, în timp ce altele, de exemplu, MS- DOS. - nr.
În multe sisteme de operare, numele fișierului este format din două părți, separate printr-un punct. O parte a numelui după punct se numește o extensie de fișier și, de obicei, indică tipul său. Astfel, în MS- DOS nume de fișier poate conține de la 1 la 8 caractere, iar extensia de la 0 (absent) la 3.
În unele sisteme, de exemplu, Windows. extensie indică programul care a creat fișierul. Alte sisteme de operare, de exemplu, UNIX. nu forțează utilizatorul să respecte cu strictețe extensiile. Unele extensii de fișiere comune sunt prezentate mai jos.
Sistemele de fișiere organizate ierarhic, de obicei, sunt folosite trei tipuri de nume de fișiere: simplu, calibrat, și relativă.
Simplu (scurt) numele simbolic identifică fișierul în același director. Mai multe fișiere pot avea același nume simplu. în cazul în care aparțin diferitelor directoare.
Compozit (complet) numele personajului este un șir de caractere care conține numele discului și numele tuturor directoarele prin care calea de la rădăcină la dosar.
Numele fișierului relativă este determinată de directorul curent. și anume directorul în care utilizatorul este în prezent timpul de lucru. Astfel, numele relative din fișier poate fi destul de mult, și toate acestea fac parte din numele complet.
Conceptul de fișier include nu numai datele pe care le stocate, precum și numele, dar, de asemenea, informații care descriu proprietățile unui fișier. Această informație face ca atributele de fișier. Lista de atribute pot fi diferite pentru diferite sisteme de operare. Exemplu de atribute posibile este prezentată mai jos.
Valorile atributelor fișierelor pot fi conținute în cataloagele, așa cum se face, de exemplu, MS- DOS (fig. 7.7). O altă opțiune este de a plasa în atributele speciale ale mesei, în acest caz, directoarele conțin link-uri la tabele.
Fig. 7.7. atribute de fișier MS DOS
Organizarea fișier logic
În general, datele conținute în fișierul au o structură logică. Acest fișier structură (organizație) este baza programului de dezvoltare pentru prelucrarea acestor date. Menținerea unei structuri de date poate fi în întregime responsabilitatea cererii sau în grade diferite, lucrarea poate prelua sistemul de fișiere.
În primul caz, atunci când toate activitățile asociate cu structurarea și interpretarea conținutului unui fișier, întregul sunt responsabilitatea dosarului de candidatură este sistemul de fișiere de secvență de date nestructurate. Aplicația generează o cerere către sistemul de fișiere privind încheierea introductivă. Utilizarea comune tuturor aplicațiilor, instrumente de sistem, de exemplu, ceea ce indică abaterea de la începutul fișierului și numărul de octeți. care trebuie să fie citit sau scrie. Primit fluxul de aplicare octet este interpretat în conformitate cu logica încorporat în program. Ar trebui subliniat faptul că interpretarea datelor nu este legată de modul concret de stocare a acestora în sistemul de fișiere.
model de fișier, prin care conținutul fișierului apare secvența octet nestructurate. A devenit popular cu sistemul de operare UNIX. și este acum utilizat pe scară largă în sistemele de operare moderne. model de fișier nestructurat permite partajarea de fișiere ușor între mai multe aplicații, deoarece diferite aplicații pot -Custom structura și să interpreteze datele conținute în fișierul.
Alte fișiere model - fișier structurat. În acest caz, menținând structura fișierului este încredințată sistemul de fișiere. Sistemul de fișiere vede fișierul ca o secvență ordonată de înregistrări logice. FS oferă aplicației acces la înregistrările și toate prelucrarea ulterioară a datelor conținute în această înregistrare, cererile!
Cunoscut cinci moduri fundamentale de organizare dosare [10]:
- fișier mixt
- un fișier secvențial,
- fișier secvențial indeksno-,
- fișier indexat
- fișier de acces direct.
Atunci când alegeți o metodă de organizare trebuie să ia în considerare mai multe criterii fișier:
- viteza de acces,
- Actualizări ușurință
- magazin cumpătare,
- ușurința de întreținere,
- fiabilitate.
fișier mixt. Aceasta este cea mai puțin complicată forma de organizare de fișiere. Datele sunt colectate în ordinea primirii. Înregistrarea constă într-un pachet de date. Înregistrările pot avea diferite sau aceleași câmpuri aranjate într-o ordine diferită (fig. 7.8). Fiecare câmp se descrie, incluzând atât numele și valoarea. Lungimea fiecărui câmp trebuie să fie specificat în mod explicit sau prin utilizarea unui separator.
Fig. 7.8. fișier mixt
Deoarece fișierul mixt are nici o structura, accesul la înregistrarea este o listă completă a tuturor intrărilor de fișiere. Fișierele mixte sunt utilizate atunci când datele sunt colectate și depozitate înainte de a fi prelucrate, sau în cazul în care datele sunt incomod pentru organizație. Fișierele de acest tip folosesc eficient spațiu pe disc. bine adaptate pentru un set complet. înregistrări de actualizare este dificilă, precum și introducerea unei înregistrări.
fișier secvențial. format fix utilizat pentru înregistrări. Toate intrările au aceeași lungime (dar uneori nu la fel) și constau din același număr de câmpuri cu lungime fixă, aranjate într-o anumită ordine (fig. 7.9). Deoarece lungimea și poziția fiecărui câmp este cunoscut, sunt supuse conservării numai valorile câmpului. Atributele este numele structurii de fișiere și lungimea fiecărui câmp.
Fig. 7.9. fișier secvențial
Un domeniu particular (sau câmpuri) este cheia. Acesta identifică în mod unic înregistrarea. deoarece acest domeniu este diferit pentru fiecare înregistrare. Mai mult decât atât, înregistrările sunt salvate în secvența „de bază“, în ordine alfabetică pentru text și tasta numerică - pentru numerică. Fișierele secvențiale sunt adesea folosite aplicații ambalate și sunt, de obicei cea mai bună opțiune, în cazul în care aceste cereri, procesarea tuturor înregistrărilor. În mod convenabil, că un astfel de fișier poate fi stocat pe bandă, și un disc magnetic.
Pentru aplicații interactive, un fișier secvențial este ineficient, deoarece, în scopul de a găsi elementul dorit pe care doriți să itera fișierul. Cu toate acestea, în cazul în care memoria principală pentru a încărca întregul dosar. posibilă metodă de căutare mai eficientă. Adăugări sau modificări în fișierul creează probleme în înregistrările.
De obicei, un fișier secvențial este salvat cu o organizare secvențială a înregistrărilor într-un bloc, care este, organizare fișier fizic corespunde exact logic. Noile intrări sunt plasate într-un fișier separat mixt numit un fișier jurnal, sau o tranzacție fișier. Periodic, în modul de lot, fuziunea dintre principalele și fișierul log într-un fișier nou cu secvența corectă a cheii.
fișier secvențial Indeksno-. O metodă de a depăși deficiențele din fișierul secvențial este indexată organizație fișier secvențial. În acest caz, fișierul este format din trei părți (fișier) fișierul principal. conține intrări cu chei consecutive, fișierul index. care conține câmpul index. și un pointer la tastele principale, un fișier de preaplin (fig. 7.10).
Fig. 7.10. fișier secvențial indexată
Pentru a căuta înregistrarea în primul său cheie este căutat în fișierul index. După ce a găsit cea mai mare valoare cheie care nu depășește necesară, căutarea continuă în fișierul principal. De exemplu, să presupunem că un fișier secvențial (principal) conține 1 milion de înregistrări. Pentru a căuta valori-cheie specifice ar trebui să fie o medie de 0,5 milioane de accese la înregistrări. Dacă creați un fișier index. conținând 1000 de articole, va lua o medie de 500 de operațiuni, accesul la fișierul index, iar apoi au încă o medie de 500 de operațiuni, accesați fișierul principal. Ca urmare, durata medie de căutare a scăzut de la 0,5 milioane la 1000. Chiar și rezultate mai bune pot fi realizate cu ajutorul unui indexare multi-nivel. Nivelul inferior al fișierului index este tratat ca un fișier secvențial. pentru care creați un fișier index de nivel superior.
adăugiri la dosar sunt prelucrate după cum urmează. În fiecare înregistrare a fișierului de master conține câmp suplimentar. invizibil pentru aplicația, și este un pointer la fișierul preaplin. Dacă fișierul pe care îl introduce un nou record, se adaugă într-un fișier de preaplin. Intrarea în fișierul principal, care precede imediat o nouă intrare într-o succesiune logică, este actualizată și puncte pentru un nou record în fișierul de preaplin. Din când în când îmbinați fișier secvențial indeksno- cu fișierul preaplin.
fișier indexată. fișier secvențial Indeksno- păstrează un fișier de limitare secvențială. funcționarea eficientă a operațiunii de fișiere este limitat la câmpul cheie. Dacă doriți să căutați înregistrări de orice altă caracteristică, care este diferit de câmpul cheie, cele două organizații sunt fișiere secvențiale nepotrivite. în timp ce în unele aplicații, această flexibilitate este foarte de dorit.
Pentru a realiza flexibilitatea necesară pentru a utiliza un număr mare de indici, câte unul pentru fiecare tip de câmp care pot fi supuse percheziției. Pe scurt, accesul la înregistrările de fișiere indexate se efectuează numai de către indexurile lor. Ca urmare, în plasarea de intrări nu există restricții atâta timp cât indicele în cel puțin o referință indicele această intrare pe blog. Mai mult decât atât, un astfel de fișier este ușor de realizat înregistrări de lungime variabilă.
Două tipuri de indici. Indexul complet conține o intrare pentru fiecare tip de înregistrare a dosarului. Prin ea însăși, indicele este organizat sub forma unui fișier secvențial, pentru regăsirea ușoară. Indexul privat conține elementele necesare pentru înregistrări în care utilizatorul are un interes în domeniu. Când adăugați un nou record la fișierul principal, trebuie să actualizați toate fișierele index.
Fișierele indexate utilizate de aplicații care accesul la informație este un timp caracteristic critic și rareori necesită tratamentul tuturor înregistrărilor din dosar.