clasificarea fișierelor
Vechi utilizator DOS / Windows, nu afundată complet în metafora fișiere, documente a apărut în MacOS (în cazul în care, este necesar să se plătească tribut pentru ei, o metafora, acest lucru este justificat) și puse în aplicare pe Windows, își amintește existența tipurilor de fișiere, care diferă prin extensiile lor - executabile (* .exe. * .com), pachetul (* .bat), text (* .txt), imagini în diferite formate (* .tiff acolo sau * .gif), și așa mai departe. Și așa voi fi foarte surprins când va afla că Unixuri nu sunt tastate în nici un fel. Și într-adevăr - modul în care sistemul de operare le pot distinge unele de altele, în cazul în care numele fișierului (și, în consecință, extensia) în atributele nu este la vedere? În acest sens, spun că în FreeBSD nici un concept de tastare fișier.
înseamnă, de fapt pentru a distinge tipuri de fișiere cu diferite tipuri de conținut există în FreeBSD, dar este de obicei apanajul aplicațiilor, nu sistemul de operare în sine, și despre ele acum vorbirea nu va.
Cu toate acestea, în conformitate cu conceptul unui fișier într-un platforme compatibile POSIX astfel de obiecte diverse toamna, acestea necesită în mod inevitabil de clasificare. Un alt lucru este faptul că această clasificare se bazează pe principii complet diferite. Și anume, următoarele tipuri de fișiere (tip și în acest caz - acest atribut este descris în câmpul relevant al fiecărui fișier inode):
- cataloage;
- link-uri simbolice;
- fișiere dispozitiv speciale;
- țevi și prize numite;
- fișiere obișnuite sau regulate.
Deci, cataloage (în limba engleză) - director tipul de fișiere, într-un sens, opozabil toate celelalte tipuri de adăugare. Acesta - fișiere speciale, care combină alte fișiere (și subdirectoare, de asemenea, numite directoare imbricate) într-unul separat de celălalt grup (cel puțin, astfel încât acestea sunt văzute la utilizator într-un programe speciale de gestionare a fișierelor - manageri de fișiere).
În literatura rusă pentru directoarele DOS / Windows sunt denumite în mod obișnuit ca directoare și, mai recent, termenul „dosar“ (în dosarul în limba engleză) a intrat în uz. În ciuda faptului că a reușit deja să se strecoare în propria noastră sferă (cel puțin în KDE, Xfce, și așa mai departe) pentru sistemele bazate pe Unix, termenul „directorul“ este de preferat, și voi încerca să explice de ce.
Adoptat în Windows (și merge din punct de vedere istoric MacOS), ca o metaforă pentru dosarul catalog cu documentele este capabil de a crea impresia (și, uneori, creează), directorul - este un fel de rezervor natural al fișierelor incluse în ea. Dar acest lucru nu este cazul. Cataloage - nu sunt nimic mai mult decât liste de nume incluse în aceste fișiere, și identificatorii mai numerice, pe care le-am discutat în secțiunea anterioară (și pentru care sunt amplasate date reale și a sistemului). Și, prin urmare, metafora unui catalog de bibliotecă (sau un tabel de conținutul cărții) reflectă perfect semnificația fizică a conceptelor relevante.
Rolul directorului nu poate fi supraestimată. Deoarece numele de fișier în sistemul de fișiere FreeBSD, există doar o parte a directorului, și nu invers - așa cum ne amintim, printre fișierul real nu este atributele sale. De fapt, conținutul fișierului este atribuit un nume prin inod său de identificare. așa cum se face în bazele de date. Mecanismul de corelare numele fișierului, datele și metadatele sale este numit un link tare (hardlink), pentru a se distinge de link-urile simbolice - un tip special de fișier, care vor fi discutate în secțiunea următoare. Numărul de link-uri hard, si este valoarea contorului de câmp din inode fișierului. Este evident că cel puțin posibil pentru cele mai multe tipuri de fișiere - unitate.
Rezultă o serie de proprietăți importante ale numelor de fișiere. ID-ul dispozitivului care transportă fișierul în directorul acolo. Și pentru că numele fișierului (adică, un element inclusiv directorul său) pot exista doar în același sistem de fișiere fizic (partiție) ca inode. este asociat cu legătura rigidă (și, desigur, la fel ca și zona de fișier de date reale).
Subliniez că cele două nume de fișiere asociate cu link-ul rigid la același inode. nu o copie a reciproc, deoarece noile metadate și fișiere de date sunt copiate, care va continua să existe complet independent unul de altul - adică, să modifice conținutul sau copia atributele sale nu va afecta fișierul original.
In timp ce orice fișier este deschis, adică, există procesul de referindu-se la ea, continuă să existe, chiar dacă numele său a fost exclus din toate directoarele, și pot fi stocate, copiate, redenumit, etc. Acesta este modul în care procesul deschis sau manipula fișierul - o garanție a existenței sale, cel puțin până la finalizarea procesului. De aceea am spus mai devreme că fișierul nu are neapărat un nume: dacă ștergeți un fișier deschis de la ea pentru o vreme acolo, așa cum au fost anonime, în vederea menținerii sale fiind destul de deschis descriptor asociat cu inode.
Dar, înapoi la directorul. După cum am văzut, orice fișier este disponibil pentru sistemele pe care numai atunci când este pornit, PARDON tautologia dublu în sistemul de fișiere. Acesta este numele el a atribuit un anumit director. Dar catalog - este, de asemenea, un fișier, și trebuie să fie, de asemenea, atribuită unui anumit director de un nivel mai ridicat, care se numește mamă. Și directorul părinte (acesta este denumit simbolic.) - unul dintre elementele de orice, nici măcar întrucât conține fișiere director. Și al doilea element indispensabil - el însuși, adică, directorul curent (care este simbolizat de așa -.). Aceasta este, cel puțin pentru catalogul de link-uri posibile (valoarea contorului câmpului în inode), spre deosebire de toate celelalte tipuri de fișiere este 2.
Astfel, fiecare fișier este inclus într-un director, care, la rândul său, este inclus în directorul de nivel superior, și așa mai departe. Până la cel mai înalt director, numit nu destul de logic rădăcină, care este rezervat pentru simbolul /. Toate această construcție se numește un copac sistem de fișiere (deși ilustrațiile din cele mai multe cărți de acest copac crește, de obicei, de sus în jos), sistemul de fișiere pur și simplu (așa cum va deveni clar în curând, este - una dintre cele mai multivalentă termeni în toate literatura de specialitate legate de calculator), sau, în cele din urmă, ierarhia de fișiere ( adică ierarhia de fișiere și directoare). ne concentrăm pe urmă termen, și la elucidarea esenței sale transforma într-una din următoarele capitole.