Scopul unui sistem de fișiere este. Sisteme de fișiere în cluster. Structura sistemului de fișiere

Sistemul de fișiere este o parte a sistemului de operare, al cărui scop este de a organiza munca eficientă cu datele stocate în memoria externă și de a oferi utilizatorului o interfață convenabilă atunci când lucrează cu astfel de date. Organizarea stocării informațiilor pe un disc magnetic nu este ușoară. Acest lucru necesită, de exemplu, o bună cunoaștere a designului controlerului de disc și a caracteristicilor de lucru cu registrele acestuia. Interacțiunea directă cu discul este prerogativa unei componente a sistemului de intrare/ieșire al sistemului de operare numită driver de disc. Pentru a elibera utilizatorul de computer de complexitatea interacțiunii cu hardware-ul, a fost inventat un model clar, abstract al sistemului de fișiere. Operațiunile de scriere sau citire a fișierelor sunt conceptual mai simple decât operațiunile de nivel scăzut de dispozitiv.

Să facem o listă functii principale Sistemul de fișiere.

1. Identificarea dosarului. Asocierea unui nume de fișier cu spațiul de memorie extern alocat acestuia.

2. Distribuția memoriei externe între fișiere. Pentru a lucra cu un anumit fișier, utilizatorul nu trebuie să aibă informații despre locația acestui fișier pe un mediu de stocare extern. De exemplu, pentru a încărca un document în editor de pe un hard disk, nu trebuie să știm care parte a ce disc magnetic, pe ce cilindru și în ce sector se află documentul.

3. Asigurarea fiabilității și toleranței la erori. Costul informațiilor poate fi de multe ori mai mare decât costul unui computer.

4. Asigurarea protecției împotriva accesului neautorizat.

5. Asigurarea accesului partajat la fișiere astfel încât utilizatorul să nu fie nevoit să depună eforturi deosebite pentru a asigura sincronizarea accesului.

6. Asigurarea performantelor ridicate.

Un fișier se spune uneori a fi o colecție numită de informații conexe scrise în memoria secundară. Pentru majoritatea utilizatorilor, sistemul de fișiere este partea cea mai vizibilă a sistemului de operare. Acesta oferă un mecanism de stocare online și acces la date și programe pentru toți utilizatorii sistemului. Din punctul de vedere al utilizatorului, un fișier este o unitate de memorie externă, adică datele scrise pe disc trebuie să facă parte dintr-un fișier.

37. Cel mai simplu cuprins de volum și elementele sale

Sistemul de fișiere include CuprinsȘi zona de date - o colecție de blocuri de pe un disc, identificate prin numerele/adresele lor. Un exemplu de cel mai simplu (abstract) cuprins, cuprins al unui volum (disc, pachet de discuri), care are nume diferite în diferite sisteme de operare - VTOC - Volume Table of Content, FAT - File Allocation Table, FDT - Tabelul de definiție a fișierelor etc. este prezentat în Fig. 1.

Orez. 1. Cel mai simplu cuprins de volum

Este format din trei zone:

· zona de fișiere. Acesta este un tabel care are de obicei un număr limitat (în exemplu N=6) numărul de linii N(în MS-DOS, de exemplu, N=500, adică numărul de fișiere nu mai mult de 500). Numar de coloane M(în exemplu M= 5) este de obicei ales astfel încât 85 -95% din fișierele create de utilizator să nu conțină mai mult de M blocuri, care depinde atât de dimensiunea blocului și de tipul de utilizator, cât și de nivelul general de dezvoltare a informațiilor și software-ului. Prima coloană a tabelului din fiecare rând (Înregistrare de titlu) conține date despre fișier, în acest exemplu – numele fișierului;

· zona de preaplin- un tabel suplimentar cu o structură similară, în care sunt înregistrate numerele de bloc ale fișierelor deosebit de lungi (în exemplu - File_l). Organizarea tabelului de alocare sub forma unei zone de fișiere și a unei zone de overflow permite evident salvarea dimensiunii tabelului în ansamblu, fără a limita în același timp lungimea probabilă a fișierului;

· lista de blocuri gratuite- informatii necesare pentru plasarea fisierelor create sau extinse. Lista este creată în timpul inițializării și include toate blocurile, cu excepția celor deteriorate, și apoi este ajustată atunci când fișierele sunt create, șterse sau modificate;

· lista de blocuri proaste. Acesta este un tabel creat în timpul inițializării (partiționării) unui volum (disc), completat de programe de diagnosticare (un exemplu dintre care este NDD - Norton Disk Doctor, binecunoscut utilizatorilor) și previne distribuirea zonelor deteriorate pe un mediu magnetic către fișiere de date.

Să enumerăm caracteristicile situației înregistrate în Fig. 1. în cel mai simplu sistem de fișiere (artificial).

File_l ocupă 6 blocuri, acest număr este mai mare decât maximul, deci adresa blocului nr. 6 (23) este plasată în tabelul de overflow;

File_2 ocupă 2 blocuri, ceea ce este mai mic decât limita, astfel încât toate informațiile sunt concentrate în zona fișierului.

Există următoarele situații conflictuale:

· Fișier_3 nu conține un singur bloc (prin urmare, fișierul a fost șters, dar înregistrarea antetului a fost păstrată);

· File_4 și File_l se referă la blocul #3 Aceasta este o eroare deoarece fiecare bloc trebuie să fie atribuit unui singur fișier;

· lista de blocuri libere conține numerele de bloc Nr. 12 (marcate ca proaste) și Nr. 13 (alocate sub Fișier_1).

38. Structura logică a partițiilor de disc folosind exemplul sistemelor de fișiere compatibile cu IBM și MS


Unitățile logice D și E

Numărul maxim de partiții primare este 4. Partiția activă este locul unde se află încărcătorul de pornire a sistemului.

MBR- cod și date necesare pentru încărcarea ulterioară a sistemului de operare și situate în primele sectoare fizice (cel mai adesea chiar în primele) pe un hard disk sau alt dispozitiv de stocare a informațiilor.

Se apelează o intrare în secțiune extinsă SMBR (Înregistrare de pornire principală secundară)). Diferența cu această intrare este că nu are un bootloader, iar tabelul de partiții este format din două intrări: o partiție primară și o partiție extinsă.

39. Sistem de fișiere FAT. Structura volumului de grăsime

40. Sistem de fișiere NTFS. Structura volumului NTFS

41. Registrul sistemului de operare Windows

42. Sisteme de operare ale familiei Windows NT

43. Unele module arhitecturale ale Windows NT

44. Gestionarea hard disk-urilor în Windows NT

45. Sistemele de operare proiective, principiile lor, avantaje, dezavantaje

46. ​​​​Sisteme de operare procedurale, principiile lor, avantaje, dezavantaje

47. Istoria dezvoltării și ideologia construirii sistemului de operare Unix

48. Structura sistemului de operare Unix

49. Interfețe utilizator Unix

50. Procese de expediere (sarcini) în Unix

51. Sistemul de operare Linux și principalele sale avantaje

52. Implementarea modului grafic în sistemul de operare Linux

53. Principii de bază ale lucrului în sistemul de operare Linux

54. Fișiere de configurare de bază Linux OS

55. Lucrul cu unități de disc în sistemul de operare Linux

56. Aplicații pentru sistemul de operare Linux

Pentru majoritatea utilizatorilor, sistemul de fișiere este partea cea mai vizibilă sistem de operare - OS. Acesta oferă un mecanism de stocare și accesare atât a datelor, cât și a programelor pentru toți utilizatorii sistemului.

Sistemul de fișiere- asta face parte OS, al cărui scop este de a organiza munca eficientă cu datele stocate în memoria externă și de a oferi utilizatorului o interfață convenabilă atunci când lucrează cu astfel de date.

Interacțiunea directă cu discul este apanajul componentei sistemului I/O OS numit driver de disc.

Sistemul de fișiere pentru utilizator oferă următoarele opțiuni:

§ accesarea fișierelor prin nume simbolice (adică fără nume de dispozitive fizice) - i.e. asigurarea independenței fișierelor față de dispozitive;

§ crearea, modificarea și distrugerea fișierelor - i.e. Furnizarea de instrumente de manipulare a fișierelor;

§ stabilirea și utilizarea structurilor de fișiere convenabile pentru programele de aplicație și organizarea transferului de informații între fișiere;

§ salvarea și restaurarea informațiilor;

§ separarea fișierelor unele de altele în timpul lucrului general (cu control atent OS), în timp ce mecanismul de separare ar trebui să prevadă diferite opțiuni de control al accesului (citire, scriere, execuție);

§ protejarea informațiilor împotriva accesului neautorizat (sistemul de fișiere poate asigura chiar și criptarea datelor);

§ nu vă gândiți la numele dispozitivelor fizice, formatele de date sau mijloacele fizice de schimb de date cu aceste dispozitive, adică. sistemul de fișiere trebuie să aibă o „interfață prietenoasă” pentru utilizator.

Acea. sistemul de fișiere rezolvă problemele de structură, denumire și protecție a fișierelor; operațiuni care pot fi efectuate pe fișiere, precum și probleme de alocare a spațiului pe disc, asigurarea funcționării eficiente a sistemului de fișiere etc.

Un fișier se spune uneori a fi o colecție numită de informații conexe scrise în memoria secundară. Regulile de denumire a fișierelor depind de OS. Mulți OS acceptă nume din două părți (nume + extensie). Tipul de extensie de fișier permite OS să organizeze activitatea diferitelor programe cu acesta în conformitate cu acordurile prestabilite. De obicei OS impun restricții atât asupra caracterelor utilizate în nume, cât și asupra lungimii numelui fișierului.

Principalele tipuri de fișiere: fișiere obișnuite (obișnuite) și directoare (directoare, directoare). Fișierele obișnuite conțin informații despre utilizator. Directoarele sunt fișiere de sistem care acceptă structura sistemului de fișiere. Directorul conține o listă de fișiere incluse în el și stabilește o corespondență între fișiere și caracteristicile (atributele) acestora.


Toate fișierele au o structură internă. Modul în care sunt organizate informațiile dintr-un fișier poate avea un impact semnificativ asupra costului stocării, accesării și utilizării fișierului. Organizarea fișierelor se referă la modul în care înregistrările fișierelor sunt aranjate în memoria externă sau structura logică a înregistrărilor fișierelor și relațiile dintre acestea. OS acceptă mai multe opțiuni de structurare a fișierelor:

§ Fișier serial

§ Fișier de acces direct

OS nu efectuează nicio interpretare a conținutului fișierului. Acest design oferă flexibilitate și versatilitate maximă.

Pe langa nume OS asociate fiecărui fișier sunt caracteristicile fișierului - atribute. Lista de atribute în diferite OS poate varia, dar de obicei conține: informații de bază (nume, tip de fișier), informații despre adresă (dispozitiv, adresă de început, dimensiune), informații de control acces (proprietar, operațiuni permise) și informații de utilizare (date de creare, ultima citire, modificare etc. .). Lista de atribute este de obicei stocată într-o structură de directoare.

OS oferă un set de operații pentru lucrul cu fișierele. Când lucrați cu un fișier, nu se efectuează de obicei una, ci mai multe operații: găsiți datele fișierului și atributele acestuia după numele simbolic, citiți atributele necesare fișierului în zona alocată a RAM și analizați drepturile utilizatorului pentru a efectua operațiunile necesare. Operațiune. Apoi efectuați operația și apoi eliberați zona de memorie ocupată de datele fișierului.

Operații de bază pe fișiere:

§ Crearea fisierelor

§ Ștergerea unui fișier

§ Deschiderea unui fisier. Deschiderea unui fișier înainte de a-l utiliza este o procedură pentru crearea unui ghid de fișier sau a unui bloc de control.

§ Închiderea dosarului. Dacă lucrul cu fișierul este finalizat, atunci fișierul trebuie închis pentru a elibera spațiu în tabelele sistemului de fișiere.

§ Citirea datelor dintr-un fișier.

§ Scrierea datelor într-un fișier

Există și alte operațiuni, cum ar fi redenumirea unui fișier, obținerea atributelor fișierului etc.

OS De asemenea, oferă un set de operații pentru lucrul cu directoare și, deși directoarele sunt fișiere, logica de lucru cu ele este diferită:

§ Crearea unui director.

§ Ștergerea unui director.

§ Deschiderea unui director.

§ Închiderea directorului.

§ Căutați într-un director.

§ Obținerea unei liste de fișiere dintr-un director.

§ Redenumire.

§ Crearea fisierelor. Când creați un fișier nou, trebuie să adăugați elementul corespunzător în director.

§ Ștergerea unui fișier. Eliminarea articolului corespunzător din catalog.

Setarea căii fișierului pe unele sisteme de fișiere OS diferă de unde începe acest lanț de nume. În modern OS Este o practică comună împărțirea discurilor în unități logice numite partiții. Unele sisteme necesită ca fiecare arhivă de fișiere să fie localizată în întregime pe o unitate logică, iar apoi numele complet al fișierului începe cu litera unității.

Deci, un sistem de fișiere este o colecție de fișiere și relațiile dintre ele. Funcția principală a sistemului de fișiere este distribuirea spațiului de memorie extern și, prin urmare, alocarea și eliberarea spațiului în memoria discului, adică este responsabil nu numai pentru modalitățile de organizare a fișierelor, ci și pentru modalitățile de organizare a fișierelor. structurilor.

Algoritmii pentru alocarea spațiului pe disc și metodele de contabilizare a memoriei libere și utilizate sunt diferite în diferite sisteme de fișiere. Totuși, pentru fiecare dintre metode, intrarea de director corespunzătoare numelui simbolic de fișier conține întotdeauna un pointer, în urma căruia puteți găsi toate blocurile acestui fișier.

Există două strategii principale utilizate în sistemele de fișiere:

§ Distribuirea coerentă a memoriei externe.

§ Alocarea deconectată (blocată) a memoriei externe.

Există mai multe modalități comune de implementare a sistemelor de distribuție în bloc:

§ lanturi bloc;

§ lanţuri de blocuri index;

§ bloc de tabele de afișare.

Fiecare algoritm extern de alocare a memoriei generează necesitatea unor proceduri care să țină cont de caracteristicile algoritmului și să asigure că integritatea sistemului de fișiere este verificată și păstrată, precum și îmbunătățirea performanței.

În plus, pentru a asigura fiabilitatea, informațiile trebuie să fie protejat de accesul neautorizat, prin urmare OS Dacă în sistem sunt mulți utilizatori, se organizează controlul accesului la fișiere - operații: citire, scriere și execuție. Abordarea generală a protecției fișierelor se bazează pe accesul bazat pe ID-ul utilizatorului. Pentru a face acest lucru, sistemele creează clasificări ale utilizatorilor, de exemplu: Proprietar, Grup (utilizatori care au nevoie de o modalitate tipică de a accesa un fișier) și Alții.

Deci, sistemul de fișiere este un set de fișiere, directoare și operațiuni pe acestea. Numele fișierelor, structurile, cum să le accesați și atributele lor sunt aspecte importante ale organizării sistemului de fișiere. Sarcina principală a sistemului de fișiere este de a asocia numele simbol al fișierului cu datele de pe disc. Cel mai modern OS suportă un sistem de directoare ierarhice cu posibilă imbricare. Securitatea sistemului de fișiere se bazează pe menținerea listelor de drepturi de acces.

Sarcini de testare

Fișierele de pe un computer sunt create și plasate pe baza principiilor sistemului. Datorită implementării acestora, utilizatorul are posibilitatea de a accesa confortabil informațiile necesare fără a se gândi la algoritmi complexi pentru accesarea acestora. Cum sunt organizate sistemele de fișiere? Care sunt cele mai populare astăzi? Care sunt diferențele dintre sistemele de fișiere prietenoase cu computerul? Și cele folosite în dispozitivele mobile - smartphone-uri sau tablete?

Sisteme de fișiere: definiție

Conform unei definiții comune, un sistem de fișiere este un set de algoritmi și standarde utilizate pentru a organiza accesul efectiv al unui utilizator de computer la datele aflate pe computer. Unii experți îl consideră parte a Alți experți IT, recunoscând faptul că este direct legat de sistemul de operare, consideră că sistemul de fișiere este o componentă independentă a managementului datelor computerului.

Cum erau folosite computerele înainte de inventarea sistemului de fișiere? Informatica – ca disciplină științifică – a consemnat faptul că pentru o lungă perioadă de timp gestionarea datelor s-a realizat prin structurare în cadrul unor algoritmi încorporați în programe specifice. Astfel, unul dintre criteriile unui sistem de fișiere este acela de a avea standarde care să fie aceleași pentru majoritatea programelor care accesează date.

Cum funcționează sistemele de fișiere

Sistemul de fișiere este, în primul rând, un mecanism care implică utilizarea resurselor hardware ale computerului. De regulă, vorbim aici despre medii magnetice sau laser - hard disk-uri, CD-uri, DVD-uri, unități flash, dischete care nu au devenit încă învechite. Pentru a înțelege cum funcționează sistemul corespunzător, să definim care este fișierul în sine.

Conform definiției general acceptate în rândul experților IT, aceasta este o zonă de date de o dimensiune fixă, exprimată în unități de bază de informații - octeți. Fișierul este localizat pe un suport de disc, de obicei sub forma mai multor blocuri interconectate care au o „adresă” specifică de acces. Sistemul de fișiere determină aceleași coordonate și le „raportează”, la rândul său, către sistemul de operare. Care transmite în mod clar utilizatorului datele relevante. Datele sunt accesate pentru a le citi, a le modifica sau a crea altele noi. Algoritmul specific pentru lucrul cu „coordonatele” fișierelor poate varia. Depinde de tipul de computer, sistemul de operare, specificul datelor stocate și alte condiții. Prin urmare, există diferite tipuri de sisteme de fișiere. Fiecare dintre ele este optimizat pentru utilizare pe un anumit sistem de operare sau pentru lucrul cu anumite tipuri de date.

Adaptarea suportului de disc pentru utilizarea prin algoritmi ai unui anumit sistem de fișiere se numește formatare. Elementele hardware corespunzătoare ale discului - clustere - sunt pregătite pentru scrierea ulterioară a fișierelor pe ele, precum și pentru citirea acestora în conformitate cu standardele stabilite într-un anumit sistem de gestionare a datelor. Cum se schimbă sistemul de fișiere? În cele mai multe cazuri, acest lucru se poate face doar reformatând mediul de stocare. De regulă, fișierele sunt șterse. Cu toate acestea, există o opțiune în care, folosind programe speciale, este încă posibil, deși acest lucru necesită de obicei mult timp, să se schimbe sistemul de gestionare a datelor, lăsându-l neatins pe acesta din urmă.

Sistemele de fișiere nu funcționează fără erori. Pot exista unele erori în organizarea muncii cu blocuri de date. Dar în cele mai multe cazuri nu sunt critice. De regulă, nu există probleme cu cum să remediați sistemul de fișiere sau să eliminați erorile. În sistemul de operare Windows, în special, există soluții software încorporate pentru aceasta, disponibile oricărui utilizator. Cum ar fi, de exemplu, programul Check Disk.

Soiuri

Ce tipuri de sisteme de fișiere sunt cele mai comune? Probabil, în primul rând, cele folosite de cel mai popular sistem de operare PC din lume - Windows. Principalele sisteme de fișiere Windows sunt FAT, FAT32, NTFS și diferitele modificări ale acestora. Odată cu computerele, smartphone-urile și tabletele au câștigat popularitate. Majoritatea acestora, dacă vorbim despre piața globală și nu ținem cont de diferențele dintre platformele tehnologice, sunt controlate de sistemul de operare Android și iOS. Aceste sisteme de operare folosesc proprii algoritmi pentru a lucra cu date care sunt diferite de cele care caracterizează sistemele de fișiere Windows.

Standarde deschise tuturor

Rețineți că recent a existat o anumită unificare a standardelor pe piața globală de electronice în ceea ce privește sistemele de operare care funcționează cu diferite tipuri de date. Acest lucru poate fi văzut în două aspecte. În primul rând, dispozitivele diferite care rulează două tipuri diferite de sisteme de operare folosesc adesea același sistem de fișiere, care este la fel compatibil cu fiecare sistem de operare. În al doilea rând, versiunile moderne ale sistemului de operare, de regulă, sunt capabile să recunoască nu numai sistemele lor tipice de fișiere, ci și pe cele care sunt utilizate în mod tradițional în alte sisteme de operare - atât prin algoritmi încorporați, cât și prin intermediul software-ului terță parte. De exemplu, versiunile moderne de Linux recunosc, în general, sistemele de fișiere marcate pentru Windows fără probleme.

Structura sistemului de fișiere

În ciuda faptului că tipurile de sisteme de fișiere sunt prezentate într-un număr destul de mare, ele funcționează în general după principii foarte asemănătoare (am subliniat schema generală de mai sus) și în cadrul unor elemente sau obiecte structurale similare. Să ne uităm la ele. Care sunt obiectele principale ale unui sistem de fișiere?

Una dintre cele cheie este - Este o zonă de date izolată în care pot fi plasate fișiere. Structura directoarelor este ierarhică. Ce înseamnă? Unul sau mai multe directoare pot locui în altul. Care, la rândul său, face parte din cel „superior”. Cel mai important lucru este directorul rădăcină. Dacă vorbim despre principiile pe care funcționează sistemul de fișiere Windows - 7, 8, XP sau altă versiune - directorul rădăcină este o unitate logică, desemnată printr-o literă - de obicei C, D, E (dar puteți configura orice care este în alfabetul englez). În ceea ce privește, de exemplu, sistemul de operare Linux, directorul rădăcină este mediul magnetic în ansamblu. În acest și în alte sisteme de operare bazate pe principiile sale - cum ar fi Android - nu sunt folosite unități logice. Este posibil să stocați fișiere fără directoare? Da. Dar acest lucru nu este foarte convenabil. De fapt, confortul în utilizarea unui PC este unul dintre motivele pentru introducerea principiului distribuirii datelor în directoare din sistemele de fișiere. Apropo, ele pot fi numite diferit. În Windows, directoarele se numesc foldere, în Linux sunt practic aceleași. Dar numele tradițional pentru directoare în acest sistem de operare, folosit de mulți ani, este „directoare”. Ca și în sistemele de operare Windows și Linux anterioare - DOS, Unix.

În rândul specialiștilor IT, nu există o opinie clară dacă un dosar ar trebui considerat un element structural al sistemului corespunzător. Cei care cred că acest lucru nu este în întregime corect își argumentează punctul de vedere spunând că sistemul poate exista cu ușurință fără fișiere. Chiar dacă acesta este un fenomen inutil din punct de vedere practic. Chiar dacă nu sunt scrise fișiere pe disc, sistemul corespunzător poate fi în continuare prezent. De obicei, mediile magnetice vândute în magazine nu conțin niciun fișier. Dar au deja un sistem corespunzător. Un alt punct de vedere este că fișierele ar trebui să fie considerate parte integrantă a sistemelor de care sunt gestionate. De ce? Dar pentru că, potrivit experților, algoritmii de utilizare a acestora sunt adaptați în primul rând pentru a lucra cu fișiere în cadrul anumitor standarde. Sistemele în cauză nu sunt destinate altceva.

Un alt element prezent în majoritatea sistemelor de fișiere este o zonă de date care conține informații despre plasarea unui anumit fișier într-o anumită locație. Adică, puteți plasa o comandă rapidă într-un loc de pe disc, dar este, de asemenea, posibil să oferiți acces la zona de date dorită, care se află într-o altă parte a media. Puteți considera că comenzile rapide sunt obiecte cu drepturi depline ale sistemului de fișiere dacă sunteți de acord că și fișierele sunt astfel.

Într-un fel sau altul, nu va fi o greșeală să spunem că toate cele trei tipuri de date - fișiere, comenzi rapide și directoare - sunt elemente ale sistemelor lor respective. Cel puțin această teză va corespunde unuia dintre punctele de vedere comune. Cel mai important aspect care caracterizează modul în care funcționează un sistem de fișiere este principiile denumirii fișierelor și directoarelor.

Nume de fișiere și directoare pe diferite sisteme

Dacă suntem de acord că fișierele sunt încă componente ale sistemelor care le corespund, atunci merită să luăm în considerare structura lor de bază. Care este primul lucru de remarcat? Pentru a facilita accesul la acestea, majoritatea sistemelor moderne de gestionare a datelor oferă o structură de denumire a fișierelor pe două niveluri. Primul nivel este numele. Al doilea este expansiunea. Să luăm ca exemplu fișierul muzical Dance.mp3. Dansul este numele. Mp3 - extensie. Primul este destinat să dezvăluie utilizatorului esența conținutului fișierului (și ca programul să fie un ghid pentru acces rapid). Al doilea indică tipul fișierului. Dacă este Mp3, atunci este ușor de ghicit că vorbim despre muzică. Fișierele cu extensia Doc sunt, de regulă, documente, Jpg sunt imagini, Html sunt pagini web.

Directoarele, la rândul lor, au o structură cu un singur nivel. Au doar un nume, fără extensie. Dacă vorbim despre diferențele dintre diferitele tipuri de sisteme de gestionare a datelor, atunci primul lucru la care ar trebui să acordați atenție este principiile de denumire a fișierelor și directoarelor implementate în acestea. În ceea ce privește sistemul de operare Windows, detaliile sunt următoarele. În cel mai popular sistem de operare din lume, fișierele pot fi denumite în orice limbă. Lungimea maximă este însă limitată. Intervalul exact depinde de sistemul de management al datelor utilizat. De obicei, aceste valori variază de la 200 la 260 de caractere.

O regulă generală pentru toate sistemele de operare și sistemele lor de gestionare a datelor corespunzătoare este că fișierele cu aceleași nume nu pot fi localizate în același director. În Linux, există o anumită „liberalizare” a acestei reguli. Pot exista fișiere în același director cu aceleași litere, dar în cazuri diferite. De exemplu, Dance.mp3 și DANCE.mp3. Acest lucru nu este posibil pe sistemul de operare Windows. Aceleași reguli sunt stabilite și în ceea ce privește plasarea directoarelor în altele.

Adresarea fișierelor și directoarelor

Adresarea fișierelor și directoarelor este cel mai important element al sistemului corespunzător. Pe Windows, formatul său personalizat ar putea arăta astfel: C:/Documents/Music/ - acesta este accesul la directorul Muzică. Dacă suntem interesați de un anumit fișier, atunci adresa poate arăta astfel: C:/Documents/Music/Dance.mp3. De ce „personalizat”? Cert este că la nivelul interacțiunii hardware și software între componentele computerului, structura accesului la fișiere este mult mai complexă. Sistemul de fișiere determină locația blocurilor de fișiere și interacționează cu sistemul de operare în operațiuni în mare măsură ascunse. Cu toate acestea, este extrem de rar ca un utilizator de PC să fie nevoie să folosească alte formate de „adresă”. Aproape întotdeauna, fișierele sunt accesate în standardul specificat.

Comparația sistemelor de fișiere pentru Windows

Am studiat principiile generale de funcționare a sistemelor de fișiere. Să luăm acum în considerare caracteristicile celor mai comune tipuri ale acestora. Cele mai frecvent utilizate sisteme de fișiere în Windows sunt FAT, FAT32, NTFS și exFAT. Primul din această serie este considerat învechit. În același timp, pentru o lungă perioadă de timp a fost un fel de flagship al industriei, dar pe măsură ce tehnologia PC-ului a crescut, capacitățile sale nu mai răspundeau nevoilor utilizatorilor și nevoilor de resurse ale software-ului.

Sistemul de fișiere conceput pentru a înlocui FAT este FAT32. Potrivit multor experți IT, este acum cel mai popular atunci când vine vorba de piața PC-urilor care rulează Windows. Este folosit cel mai des atunci când stocați fișiere pe hard disk și unități flash. De asemenea, se poate observa că acest sistem de gestionare a datelor este folosit destul de regulat în modulele de memorie ale diferitelor dispozitive digitale - telefoane, camere. Principalul avantaj al FAT32, care este evidențiat de experții IT, este astfel, în ciuda faptului că acest sistem de fișiere a fost creat de Microsoft, majoritatea sistemelor de operare moderne, inclusiv cele instalate pe tipurile specificate de echipamente digitale, pot lucra cu date în cadrul cadrul algoritmilor încorporați în acesta.

Sistemul FAT32 are și o serie de dezavantaje. În primul rând, putem observa limitarea dimensiunii unui fișier preluat - nu poate fi mai mare de 4 GB. De asemenea, într-un sistem FAT32, nu puteți utiliza instrumentele Windows încorporate pentru a specifica o unitate logică a cărei dimensiune ar fi mai mare de 32 GB. Dar acest lucru se poate face prin instalarea de software specializat suplimentar.

Un alt sistem popular de gestionare a fișierelor dezvoltat de Microsoft este NTFS. Potrivit unor experți IT, este superior FAT32 în majoritatea parametrilor. Dar această teză este adevărată atunci când vorbim despre un computer care rulează Windows. NTFS nu este la fel de versatil ca FAT32. Particularitățile funcționării sale fac ca utilizarea acestui sistem de fișiere să nu fie întotdeauna confortabilă, în special pe dispozitivele mobile. Unul dintre avantajele cheie ale NFTS este fiabilitatea. De exemplu, în cazurile în care hard disk-ul își pierde brusc puterea, probabilitatea ca fișierele să fie deteriorate este redusă la minimum datorită algoritmilor de duplicare a datelor furnizați în NTFS.

Unul dintre cele mai noi sisteme de fișiere de la Microsoft este exFAT. Este cel mai bine adaptat pentru unități flash. Principiile de bază de funcționare sunt aceleași ca în FAT32, dar există și modernizări semnificative în unele aspecte: de exemplu, nu există restricții privind dimensiunea unui singur fișier. În același timp, sistemul exFAT, după cum notează mulți experți IT, se numără printre cele care au o versatilitate scăzută. Pe computerele non-Windows, gestionarea fișierelor poate fi dificilă atunci când utilizați exFAT. Mai mult, chiar și în unele versiuni ale Windows în sine, cum ar fi XP, este posibil ca datele de pe discuri formatate folosind algoritmi exFAT să nu fie citite. Va trebui să instalați un driver suplimentar.

Rețineți că, datorită utilizării unei game destul de largi de sisteme de fișiere în sistemul de operare Windows, utilizatorul poate întâmpina dificultăți periodice în ceea ce privește compatibilitatea diferitelor dispozitive cu computerul. În unele cazuri, de exemplu, este necesar să instalați driverul sistemului de fișiere WPD (Windows Portable Devices - tehnologie folosită atunci când lucrați cu dispozitive portabile). Uneori este posibil ca utilizatorul să nu-l aibă la îndemână, drept urmare mediul extern al sistemului de operare nu îl poate recunoaște. Sistemul de fișiere WPD poate necesita adaptare software suplimentară la mediul de operare pe un anumit computer. În unele cazuri, utilizatorul va fi obligat să contacteze specialiști IT pentru a rezolva problema.

Cum să determinați ce sistem de fișiere - exFAT sau NTFS, sau poate FAT32 - este optim pentru utilizare în cazuri specifice? Recomandările specialiștilor IT în general sunt următoarele. Pot fi utilizate două abordări principale. Potrivit primei, ar trebui făcută o distincție între sistemele de fișiere tipice pentru hard disk, precum și cele care sunt mai bine adaptate la unitățile flash. FAT și FAT32, potrivit multor experți, sunt mai potrivite pentru unități flash, NTFS - pentru hard disk (datorită caracteristicilor tehnologice de lucru cu date).

În a doua abordare, dimensiunea transportatorului contează. Dacă vorbim despre utilizarea unui volum relativ mic de disc sau unitate flash, îl puteți formata în sistemul FAT32. Dacă discul este mai mare, puteți încerca exFAT. Dar numai dacă media nu este destinată a fi utilizată pe alte computere, în special pe cele care nu au cele mai recente versiuni de Windows. Dacă vorbim de hard disk-uri mari, inclusiv de cele externe, atunci este indicat să le formatăm în NTFS. Acestea sunt aproximativ criteriile după care poate fi selectat sistemul de fișiere optim - exFAT sau NTFS, FAT32. Adică, ar trebui să utilizați oricare dintre ele, ținând cont de dimensiunea suportului, de tipul acestuia, precum și de versiunea sistemului de operare pe care este utilizată în principal unitatea.

Sisteme de fișiere pentru Mac

O altă platformă software și hardware populară pe piața globală de calculatoare este Macintosh de la Apple. PC-urile din această linie rulează sistemul de operare Mac OS. Care sunt caracteristicile organizării muncii cu fișiere pe computerele Mac? Majoritatea PC-urilor Apple moderne folosesc sistemul de fișiere Mac OS Extended. Anterior, computerele Mac gestionau datele folosind standardele HFS.

Principalul lucru care poate fi remarcat în ceea ce privește caracteristicile sale este că un disc gestionat de sistemul de fișiere Mac OS Extended poate găzdui fișiere foarte mari - putem vorbi despre câteva milioane de terabytes.

Sistem de fișiere pe dispozitivele Android

Cel mai popular sistem de operare pentru dispozitive mobile - o formă de tehnologie electronică care nu este inferioară ca popularitate față de computere - este Android. Cum sunt gestionate fișierele pe dispozitivele de tipul corespunzător? Să remarcăm în primul rând că acest sistem de operare este de fapt o adaptare „mobilă” a sistemului de operare Linux, care, datorită codului open source, poate fi modificat cu perspectiva utilizării pe o gamă largă de dispozitive. Prin urmare, gestionarea fișierelor în dispozitivele mobile care rulează Android se realizează în general conform acelorași principii ca și în Linux. Pe unele dintre ele le-am notat mai sus. În special, gestionarea fișierelor în Linux se realizează fără a împărți mediile în unități logice, așa cum se întâmplă în Windows. Ce altceva este interesant despre sistemul de fișiere Android?

Directorul rădăcină din Android este de obicei o zonă de date numită /mnt. În consecință, adresa fișierului solicitat poate arăta cam așa: /mnt/sd/photo.jpg. În plus, există o altă caracteristică a sistemului de gestionare a datelor care este implementată în acest sistem de operare mobil. Faptul este că memoria flash a unui dispozitiv este de obicei clasificată în mai multe secțiuni, cum ar fi, de exemplu, Sistem sau Date. Cu toate acestea, dimensiunea specificată inițial pentru fiecare dintre ele nu poate fi modificată. O analogie aproximativă în ceea ce privește acest aspect tehnologic poate fi găsită amintindu-ne că nu puteți (cu excepția cazului în care utilizați software special) să modificați dimensiunea unităților logice în Windows. Trebuie reparat.

O altă caracteristică interesantă a organizării muncii cu fișiere în Android este că sistemul de operare corespunzător, de regulă, scrie date noi într-o anumită zonă a discului - Date. Lucrul, de exemplu, cu secțiunea Sistem nu este efectuat. Prin urmare, atunci când utilizatorul folosește funcția de resetare a setărilor software ale unui smartphone sau tabletă la nivelul „fabrică”, în practică, aceasta înseamnă că acele fișiere scrise în zona de date sunt pur și simplu șterse. Secțiunea Sistem, de regulă, rămâne neschimbată. Mai mult, utilizatorul, fără a dispune de software specializat, nu poate face nicio ajustare la conținutul Sistemului. Procedura asociată cu actualizarea zonei de stocare a sistemului într-un dispozitiv Android se numește intermitent. Aceasta nu este formatare, deși ambele operațiuni sunt adesea efectuate simultan. De regulă, intermiterea este utilizată pentru a instala o versiune mai nouă a sistemului de operare Android pe un dispozitiv mobil.

Astfel, principiile cheie pe care funcționează sistemul de fișiere Android sunt absența unităților logice, precum și diferențierea strictă a accesului la datele de sistem și de utilizator. Nu se poate spune că această abordare este fundamental diferită de cea implementată în Windows, totuși, conform multor experți IT, utilizatorii din sistemul de operare Microsoft au o libertate ceva mai mare în lucrul cu fișierele. Cu toate acestea, după cum cred unii experți, acest lucru nu poate fi considerat un avantaj clar al Windows. Modul „liberal” în ceea ce privește gestionarea fișierelor este folosit, desigur, nu numai de utilizatori, ci și de virușii informatici, la care Windows este foarte susceptibil (spre deosebire de Linux și implementarea sa „mobilă” sub formă de Android). Acesta, potrivit experților, este unul dintre motivele pentru care există atât de puțini viruși pentru dispozitivele Android - din punct de vedere pur tehnologic, aceștia nu pot funcționa pe deplin într-un mediu de operare care funcționează pe principiile controlului strict al accesului la fișiere.

Sistemul de fișiere este un set de instrumente și reguli pentru plasarea și mutarea fișierelor pe medii externe.

Deoarece un fișier este o colecție de date, atunci Sistemul de fișiere este un sistem de management al datelor.

Locația fișierelor pe hard disk

Hard disk-ul este împărțit în sectoare. Capacitatea unei piese într-un sector este de obicei de 512 octeți.

Unitatea contabilă minimă pentru volumul de date dintr-un sistem de fișiere este cluster , constând din unul sau mai multe sectoare adiacente. Un fișier de pe disc ocupă în mod necesar un număr întreg de clustere. Dacă un fișier conține chiar și 1 octet de date, va ocupa totuși un cluster complet.

Există sisteme de fișiere cu fragmentat Și nu fragmentat locația fișierului.

Locația fișierului nefragmentat

Fișierul se află în grupuri adiacente

Locația fișierului fragmentat

Fișierul poate fi localizat în clustere necontigue.

Într-un sistem de fișiere cu o locație de fișier nefragmentată, citirea/scrierea datelor este mai rapidă, deoarece capul magnetic al discului este poziționat o singură dată - la primul cluster al fișierului.

Un sistem cu o locație de fișier fragmentată utilizează spațiul pe disc mai eficient, deoarece o zonă adiacentă de dimensiunea necesară nu poate fi întotdeauna găsită, dar acest lucru vine cu prețul vitezei de citire/scriere a datelor, precum și, mai neplăcut, a unei uzări mai rapide. a mecanismului de mișcare a brațului culbutorului hard diskului.

Utilitarele includ un program Disk Defragmenter care reconstruiește fișierele fragmentate, astfel încât acestea să ocupe clustere învecinate.

Sistemele de fișiere Windows OS sunt sisteme cu locații de fișiere fragmentate.

Discuri, foldere, fișiere. Structura sistemului de fișiere logic

Sistemele de contabilitate de fișiere din sistemele de fișiere moderne sunt de obicei construite pe un principiu ierarhic: disc (dispozitiv de memorie) – folder – fișier. Discurilor (dispozitivelor) din sistem li se dau nume logice. De exemplu, la formatare, un hard disk fizic este de obicei împărțit în mai multe logice cu nume C, D, E..., un dispozitiv cu unitate optică primește numele logic F etc.

Un folder poate conține foldere și fișiere. Datele sunt stocate numai în fișiere.

Un folder nu poate conține două sau mai multe foldere (fișiere) cu aceleași nume, dar folderele (fișiere) cu aceleași nume pot fi localizate în foldere diferite.

Calea către fișier este secvența de foldere în care se află fișierul. Numele folderelor din calea fișierului sunt separate prin caracterul „\” - „slash”.

Numele complet al fișierului constă din calea către fișier și numele propriu-zis al fișierului. De exemplu:

    D:\Facultatea\Grupul\Ivanov\abstract.doc;

    C:\WINDOWS\MEDIA\ringin.wav.

Deci, în primul exemplu, calea către fișier este: D:\Faculty\Group\Ivanov, nume fișier: abstract.doc.

23. Opțiuni pentru fișiere

Opțiunile pentru fișiere includ:

    nume de fișier;

    tip fișier;

  • data creării;

    data ultimei modificări;

    atribute.

Nume de fișier servește la identificarea dosarului. În sistemul de operare Windows, numele poate conține până la 255 de caractere, inclusiv caractere din alfabetul rus, numere și caractere speciale (cu excepția unora). De exemplu:

Dosarul meu 25

Caracterele de după ultimul punct formează așa-numitul extensia de nume și determinați tipul fișierului. Extensia este de obicei atribuită de programul care creează fișierul. De exemplu: .doc – atribuie MS Word;

Xls – atribuie Excel;

Bmp – atribuit de editorul grafic Paint.

Tip fișier indică natura datelor stocate. De exemplu:

document MS Word;

registru de lucru Excel;

bitmap bmp;

inregistrare sunet in format mp3.

Operații pe foldere și fișiere

Aici ne referim doar la acele operațiuni care sunt efectuate de sistemul de fișiere. Și instrumentele sistemului de fișiere funcționează cu fișierele ca un întreg, fără a încerca să le influențeze conținutul. Deci asta este:

    crearea unui folder nou;

    ștergerea unui folder (fișier);

    copierea unui folder (fișier);

    mutarea unui folder (fișier);

    redenumirea unui folder (fișier).

Toate operațiunile, cu excepția operațiunii de creare, sunt efectuate folosind aceleași instrumente (instrumente de sistem de fișiere). Foldere noi sunt create și folosind sistemul de fișiere. Fișierele, de regulă, sunt create de programe de aplicație.

24. Virus informatic este un program conceput pentru a efectua acțiuni distructive. Se poate multiplica prin infiltrarea altor programe. când un program infectat este lansat pentru execuție. Efectele virușilor se manifestă în următoarele: funcționarea sistemului de calcul este foarte încetinită, dimensiunea conținutului se modifică fără un motiv aparent. și numărul de fișiere, cantitatea de memorie operațională disponibilă scade

memorie, tastatura funcționează neobișnuit, discul este formatat fără o comandă de utilizator etc.

Auto-propagare– virusul își creează copii, introducându-le în alte programe sau fișiere.

Protectie SP:

    scanarea mediilor folosind programe antivirus

    refuzul de a lucra cu mass-media de origine dubioasă

    Eliminarea imediată a programelor dubioase inutile primite pe Internet.

Tipuri de programe antivirus: scanere și auditori.

Scanerul conține o bază de date cu coduri de virus și detectează prezența codurilor din baza de date în fișierele examinate. Auditorul stochează informațiile din fișierele de pe disc și reacționează la modificările informațiilor.

Măsuri de protecție:

1) prevenirea

2) diagnosticare

3) tratament.

Tipuri de antivirus programe:

1) Detectoare – asigură căutarea și detectarea virușilor în RAM și medii externe. dezavantaje: găsesc doar viruși care sunt cunoscuți dezvoltatorilor de astfel de programe.

2) Medici sau fagi, programe de vaccinare - detectează și neutralizează virușii, i.e. eliminați corpul programului virus din fișier, readucerea fișierelor la starea inițială. stat. Sunt necesare actualizări regulate.

3) Inspector - își amintesc starea inițială a programelor, directoarelor și zonelor de sistem ale discului atunci când computerul este infectat cu un virus, apoi compară periodic sau la cererea utilizatorului starea actuală cu cea originală.

4) Filtre sau paznici - controlează acțiunile periculoase caracteristice programelor virus și solicită confirmarea executării acestora.

5) Vaccinuri sau imunizatoare - previne infectarea cu o serie de virusuri cunoscute prin vaccinarea acestora.

Sisteme de fișiere. Tipuri de sisteme de fișiere. Operațiuni cu fișiere. Cataloagele. Operații cu directoare.

Fişier este o zonă numită a memoriei externe care poate fi scrisă și citită din.

Principalele scopuri ale utilizării fișierului.

    Stocarea pe termen lung și fiabilă a informațiilor . Durabilitatea se realizează prin utilizarea dispozitivelor de stocare care nu depind de putere, iar fiabilitatea ridicată este determinată prin protejarea accesului la fișiere și prin organizarea generală a codului programului OS, în care defecțiunile hardware de cele mai multe ori nu distrug informațiile stocate. în dosare.

    Partajarea informațiilor . Fișierele oferă o modalitate naturală și ușoară de a partaja informații între aplicații și utilizatori, având un nume simbolic care poate fi citit de om și consistență în informațiile stocate și locația fișierului. Utilizatorul trebuie să aibă instrumente convenabile pentru lucrul cu fișierele, inclusiv directoare care combină fișierele în grupuri, instrumente pentru căutarea fișierelor după caracteristici, un set de comenzi pentru crearea, modificarea și ștergerea fișierelor. Un fișier poate fi creat de un utilizator și apoi utilizat de un utilizator complet diferit, iar creatorul sau administratorul fișierului poate determina drepturile de acces ale altor utilizatori. Aceste obiective sunt implementate în sistemul de operare de către sistemul de fișiere.

Sistem de fișiere (FS) este o parte a sistemului de operare care 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ă diverse operațiuni asupra fișierelor, cum ar fi crearea, distrugerea, citirea, scrierea, denumirea și căutarea fișierelor.

Astfel, sistemul de fișiere joacă rolul unui strat intermediar care evaluează toate complexitățile organizării fizice a stocării de date pe termen lung și creează un model logic mai simplu pentru această stocare pentru programe, precum și le oferă un set de comenzi ușor de utilizat pentru manipularea fișierelor.

Următoarele sisteme de fișiere sunt cunoscute pe scară largă:

    Sistemul de fișiere sistem de operare DOMNIȘOARĂ - DOS , care se bazează pe tabelul de alocare a fișierelor - GRAS ( Fişier Alocare Masa ).

Tabelul conține informații despre locația tuturor fișierelor (fiecare fișier este împărțit în clustere Clusterele aceluiași fișier nu sunt neapărat situate unul lângă celălalt, în funcție de disponibilitatea spațiului pe disc). Sistemul de fișiere MS-DOS are limitări și dezavantaje semnificative, de exemplu, sub Nume Fișierului i se alocă 12 octeți lucrul cu un hard disk mare duce la o fragmentare semnificativă a fișierului;

Principalele funcții dintr-un astfel de FS au ca scop rezolvarea următoarelor sarcini:

    denumirea fișierelor;

    interfața de programare a aplicației;

    maparea modelului logic al sistemului de fișiere pe organizarea fizică a stocării datelor;

    Rezistenta sistemului de fișiere la întreruperile de curent, erorile hardware și software.

    OS /2 , numit HPFS ( Înalt - Performanţă Fişier Sistem - sistem de fișiere rapid).

Oferă posibilitatea de a avea un nume de fișier de până la 254 de caractere. Fișierele scrise pe disc au o fragmentare minimă. Poate lucra cu fișiere scrise în MS DOS;

O nouă sarcină este adăugată la sarcinile enumerate mai sus partajarea unui fișier din mai multe procese. În acest caz, fișierul este o resursă partajată, ceea ce înseamnă că sistemul de fișiere trebuie să rezolve întreaga gamă de probleme asociate cu astfel de resurse. În special, FS trebuie să ofere mijloace pentru blocarea unui fișier și a părților sale, prevenirea curselor, eliminarea blocajelor, reconcilierea copiilor etc.

În sistemele cu mai mulți utilizatori, apare o altă sarcină: protejarea fișierelor unui utilizator împotriva accesului neautorizat de către alt utilizator.

    sistem de fișiere al sistemului de operare Windows 95

Are o structură de nivel, care vă permite să susțineți mai multe sisteme de fișiere simultan. Vechiul sistem de fișiere MS-DOS este suportat direct, iar sistemele de fișiere nu sunt dezvoltate de companie Microsoft, sunt suportate folosind special module. Este posibil să utilizați nume de fișiere lungi (până la 254 de caractere).

    sistemele de fișiere ale sistemului de operare Unix

Ele oferă o modalitate unificată de a accesa sistemele de fișiere I/O.

Permisiunile fișierelor determină practic drepturile de acces la sistem (proprietarul fișierului este utilizatorul care l-a creat).

Tipuri de fisiere

Sistemele de fișiere acceptă mai multe tipuri de fișiere funcțional diferite, care includ de obicei fișiere obișnuite, fișiere directoare, fișiere speciale, conducte numite, fișiere mapate în memorie și altele.

Fișiere obișnuite , sau pur și simplu fișierele, conțin informații arbitrare care sunt introduse în ele de utilizator sau care sunt generate ca urmare a funcționării sistemului și a programelor utilizatorului. Majoritatea sistemelor de operare moderne (de exemplu, UNIX, Windows, OS/2) nu limitează sau controlează în niciun fel conținutul și structura unui fișier obișnuit. Conținutul unui fișier obișnuit este determinat de aplicația care funcționează cu acesta. De exemplu, un editor de text creează fișiere text constând din șiruri de caractere reprezentate într-un anumit cod. Acestea pot fi documente, coduri sursă de programe etc. Fișierele text pot fi citite pe ecran și tipărite pe o imprimantă. Fișierele binare nu folosesc coduri de caractere și au adesea structuri interne complexe, cum ar fi codul de program executabil sau un fișier de arhivă. Toate sistemele de operare trebuie să fie capabile să recunoască cel puțin un tip de fișier - propriile fișiere executabile.

Cataloagele - acesta este un tip special de fișiere care conțin informații de referință de sistem despre un set de fișiere grupate de utilizatori în funcție de un criteriu informal (de exemplu, fișierele care conțin documente ale aceluiași contract sau fișierele care alcătuiesc un pachet software sunt combinate într-un singur pachet software). grup). Pe multe sisteme de operare, un director poate conține orice tip de fișier, inclusiv alte directoare, creând o structură arborescentă care este ușor de căutat. Directoarele stabilesc o mapare între numele fișierelor și caracteristicile fișierelor care sunt utilizate de sistemul de fișiere pentru a gestiona fișierele. Astfel de caracteristici includ, în special, informații (sau un indicator către o altă structură care conține aceste date) despre tipul de fișier și locația acestuia pe disc, drepturile de acces la fișier și datele creării și modificării acestuia. În toate celelalte privințe, directoarele sunt tratate de sistemul de fișiere ca fișiere obișnuite.

Fișiere speciale - Acestea sunt fișiere fictive asociate cu dispozitivele I/O, care sunt folosite pentru a unifica mecanismul de accesare a fișierelor și a dispozitivelor externe. Fișierele speciale permit utilizatorului să efectueze operațiuni I/O folosind comenzi normale pentru scrierea într-un fișier sau citirea dintr-un fișier. Aceste comenzi sunt procesate mai întâi de programele sistemului de fișiere, iar apoi, la o anumită etapă a executării cererii, sunt convertite de sistemul de operare în comenzi de control pentru dispozitivul corespunzător.

Sistemele de fișiere moderne acceptă alte tipuri de fișiere, cum ar fi legăturile simbolice, conductele numite și fișierele mapate în memorie.

Structura ierarhică a sistemului de fișiere

Utilizatorii accesează fișierele prin nume simbolice. Cu toate acestea, memoria umană limitează numărul de nume de obiecte la care un utilizator se poate referi după nume. Organizarea ierarhică a spațiului de nume ne permite să extindem semnificativ aceste limite. Acesta este motivul pentru care majoritatea sistemelor de fișiere au o structură ierarhică, în care nivelurile sunt create permițând ca un director de nivel inferior să fie conținut într-un director de nivel superior (Figura 7.3).

Graficul care descrie ierarhia directoarelor poate fi un arbore sau o rețea. Directoarele formează un arbore dacă un fișier este permis să fie inclus într-un singur director (Fig. 7.3, b) și o rețea - dacă fișierul poate fi inclus în mai multe directoare simultan (Fig. 7.3, c). De exemplu, în MS-DOS și Windows, directoarele formează o structură arborescentă, în timp ce în UNIX formează o structură de rețea. Într-o structură arborescentă, fiecare fișier este o frunză. Directorul de nivel superior este numit directorul rădăcină sau rădăcină ( rădăcină ).

Cu această organizare, utilizatorul este eliberat de a-și aminti numele tuturor fișierelor, trebuie doar să aibă o idee aproximativă despre grupul căruia îi poate fi atribuit un anumit fișier pentru a-l găsi prin răsfoirea secvențială în directoare. Structura ierarhică este convenabilă pentru lucrul cu mai mulți utilizatori: fiecare utilizator cu fișierele sale este localizat în propriul director sau subarbore de directoare și, în același timp, toate fișierele din sistem sunt conectate logic.

Un caz special al unei structuri ierarhice este o organizare cu un singur nivel, când toate fișierele sunt incluse într-un singur director (Fig. 7.3, a).

Nume de fișiere

Toate tipurile de fișiere au nume simbolice. Sistemele de fișiere organizate ierarhic folosesc de obicei trei tipuri de nume de fișiere: simple, compuse și relative.

Un nume simbolic simplu sau scurt identifică un fișier dintr-un singur director. Numele simple sunt atribuite fișierelor de către utilizatori și programatori și trebuie să țină cont de restricțiile sistemului de operare atât cu privire la intervalul de caractere, cât și la lungimea numelui. Până relativ recent, aceste granițe erau foarte înguste. Astfel, în popularul sistem de fișiere FAT, lungimea numelor a fost limitată la schema 8.3 (8 caractere - numele în sine, 3 caractere - extensia numelui), iar în sistemul de fișiere s5, susținut de multe versiuni ale sistemului de operare UNIX, un nume simbolic simplu 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ă dați fișierelor nume ușor de reținut, care indică clar ceea ce este conținut în fișier. Prin urmare, sistemele de fișiere moderne, precum și versiunile îmbunătățite ale sistemelor de fișiere preexistente, tind să accepte nume de fișiere simbolice lungi și simple. De exemplu, pe sistemele de fișiere NTFS și FAT32 incluse în sistemul de operare Windows NT, un nume de fișier poate conține până la 255 de caractere.

În sistemele de fișiere ierarhice, fișierele diferite pot avea aceleași nume simbolice simple, cu condiția să aparțină unor directoare diferite. Adică, schema „multe fișiere - un nume simplu” funcționează aici. Pentru a identifica unic un fișier în astfel de sisteme, se folosește așa-numitul nume complet.

Numele complet este un lanț de nume simbolice simple ale tuturor directoarelor prin care trece calea de la rădăcină la fișierul dat. Astfel, numele complet este un nume compus, în care numele simple sunt separate între ele prin separatorul adoptat în OS. Adesea o bară oblică înainte sau inversă este folosită ca delimitator și se obișnuiește să nu se specifice numele directorului rădăcină. În fig. 7.3, b două fișiere au numele simplu main.exe, dar numele lor compuse /depart/main.exe și /user/anna/main.exe sunt diferite.

Într-un sistem de fișiere arbore, există o corespondență unu-la-unu între un fișier și numele complet, „un fișier - un nume complet”. În sistemele de fișiere care au o structură de rețea, un fișier poate fi inclus în mai multe directoare și, prin urmare, are mai multe nume complete; aici este valabilă corespondența „un fișier - multe nume complete”. În ambele cazuri, fișierul este identificat în mod unic prin numele complet.

Un fișier poate fi identificat și printr-un nume relativ. Numele relativ al fișierului este determinat prin conceptul de „director curent”. Pentru fiecare utilizator, la un moment dat, unul dintre directoarele sistemului de fișiere este directorul curent, iar acest director este selectat de utilizator însuși printr-o comandă a 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. Când folosește nume relative, utilizatorul identifică un fișier prin lanțul de nume de directoare prin care trece ruta de la directorul curent la fișierul dat. De exemplu, dacă directorul curent este /user, atunci numele de fișier relativ /user/anna/main.exe este anna/main.exe.

Unele sisteme de operare vă permit să atribuiți mai multe nume simple aceluiași fișier, care pot fi interpretate ca aliasuri. În acest caz, la fel ca într-un sistem cu structură de rețea, se stabilește corespondența „un fișier - multe nume complete”, deoarece fiecare nume de fișier simplu corespunde cel puțin unui nume complet.

Și, deși numele complet identifică în mod unic fișierul, este mai ușor pentru sistemul de operare să lucreze cu fișierul dacă există o corespondență unu-la-unu între fișiere și numele acestora. În acest scop, atribuie un nume unic fișierului, astfel încât relația „un fișier - un nume unic” să fie valabilă. Numele unic există împreună cu unul sau mai multe nume simbolice atribuite fișierului de către utilizatori sau aplicații. Numele unic este un identificator numeric și este destinat numai sistemului de operare. Un exemplu de nume de fișier unic este un număr de inod pe un sistem UNIX.

Atributele fișierului

Conceptul de „fișier” include nu numai datele și numele pe care le stochează, ci și atributele acestuia. Atribute - Acestea sunt informații care descriu proprietățile fișierului. Exemple de atribute posibile de fișier:

    tip de fișier (fișier obișnuit, director, fișier special etc.);

    proprietarul fișierului;

    creator de fișiere;

    parola pentru accesarea fișierului;

    informații despre operațiunile permise de acces la fișiere;

    timpii de creare, ultimul acces și ultima modificare;

    dimensiunea actuală a fișierului;

    dimensiunea maximă a fișierului;

    semn numai pentru citire;

    semnul „fișier ascuns”;

    semnează „fișier de sistem”;

    semnează „fișier arhivă”;

    atributul „binar/caracter”;

    atributul „temporar” (eliminați după finalizarea procesului);

    semn de blocare;

    lungimea înregistrării fișierului;

    indicatorul către câmpul cheie din înregistrare;

    lungimea cheii.

Setul de atribute ale fișierelor este determinat de specificul sistemului de fișiere: diferite tipuri de sisteme de fișiere pot folosi diferite seturi de atribute pentru a caracteriza fișierele. De exemplu, pe sistemele de fișiere care acceptă fișiere plate, nu este nevoie să folosiți ultimele trei atribute din listă care sunt legate de structurarea fișierelor. Într-un sistem de operare cu un singur utilizator, setului de atribute vor lipsi caracteristici relevante pentru utilizatori și securitate, cum ar fi proprietarul fișierului, creatorul fișierului, parola pentru accesarea fișierului, informații despre accesul autorizat la fișier.

Utilizatorul poate accesa atribute folosind facilitățile oferite în acest scop de sistemul de fișiere. De obicei, puteți citi valorile oricărui atribut, dar doar schimbați unele. De exemplu, un utilizator poate modifica permisiunile unui fișier (cu condiția să aibă permisiunile necesare pentru a face acest lucru), dar nu poate modifica data creării sau dimensiunea curentă a fișierului.

Valorile atributelor fișierelor pot fi conținute direct în directoare, așa cum se face în sistemul de fișiere MS-DOS (Fig. 7.6a). Figura prezintă structura unei intrări de director care conține un nume simbolic simplu și atribute de fișier. Aici literele indică caracteristicile fișierului: R - doar pentru citire, A - arhivat, H - ascuns, S - sistem.

Orez. 7.6. Structura directorului: a - Structura de intrare a directorului MS-DOS (32 de octeți), b - Structura de intrare a directoarelor UNIX OS

O altă opțiune este plasarea atributelor în tabele speciale, când cataloagele conțin doar link-uri către aceste tabele. Această abordare este implementată, de exemplu, în sistemul de fișiere ufs al sistemului de operare UNIX. În acest sistem de fișiere, structura directoarelor este foarte simplă. Înregistrarea pentru fiecare fișier conține un scurt nume de fișier simbolic și un indicator către descriptorul de index al fișierului, acesta este numele în ufs pentru tabelul în care sunt concentrate valorile atributelor fișierului (Fig. 7.6, b).

În ambele versiuni, directoarele oferă o legătură între numele fișierelor și fișierele în sine. Cu toate acestea, abordarea separării numelui fișierului de atributele sale face sistemul mai flexibil. De exemplu, un fișier poate fi inclus cu ușurință în mai multe directoare simultan. Intrările pentru acest fișier din directoare diferite pot avea nume simple diferite, dar câmpul de link va avea același număr de inod.

Operații cu fișiere

Majoritatea sistemelor de operare moderne tratează un fișier ca pe o secvență nestructurată de octeți de lungime variabilă. Standard POSIX Următoarele operațiuni sunt definite în fișier:

    int deschis ( char * fname , int steaguri , modul _ t modul )

Această operație „deschide” un fișier, stabilind o conexiune între program și fișier. În acest caz programul primește descriptor de fișier- un număr întreg care identifică această conexiune. De fapt, acesta este un index în tabelul de sistem al fișierelor deschise pentru o anumită sarcină. Toate celelalte operațiuni folosesc acest index pentru a face referire la fișier.

Parametrul char * fname specifică numele fișierului int flags este o mască de biți care determină modul de deschidere al fișierului. în plus, puteți deschide un fișier existent sau puteți încerca să creați un fișier nou de lungime zero. Modul opțional al treilea parametru este utilizat numai la crearea unui fișier și specifică atributele acestui fișier.

    oprit _ t lseek ( int mâner , oprit _ t decalaj , int de unde )

Această operație mută indicatorul de citire/scriere în fișier. Parametrul offset specifică numărul de octeți cu care să se decaleze indicatorul, iar parametrul de unde să înceapă offset-ul începutul fișierului (SEEK_SET), de la sfârșitul acestuia (SEEK_END) și din poziția curentă a indicatorului (SEEK_CUR). Operația returnează poziția pointerului măsurată de la începutul fișierului. Astfel, apelarea lseek(handle, 0, SEEK_CUR) va returna poziția curentă a indicatorului fără a-l muta.

    int read(int handle, char * unde, size_t how_much)

Operațiune de citire dintr-un fișier. Indicatorul unde specifică bufferul în care ar trebui să fie plasate datele citite; al treilea parametru specifică câte date trebuie citite Sistemul citește numărul necesar de octeți din fișier, începând de la indicatorul de citire/scriere către acel fișier și mută indicatorul la sfârșitul secvenței de citire. Dacă fișierul se termină mai devreme, se citesc atâtea date câte au rămas până la sfârșit. Operația returnează numărul de octeți citiți. Dacă fișierul a fost deschis doar pentru scriere, apelarea read va returna o eroare.

    int write(int handle, char * what, size_t how_much)

O operație de scriere într-un fișier. Indicatorul what specifică începutul buffer-ului de date al treilea parametru specifică câte date trebuie scrise. locație și deplasarea indicatorului la sfârșitul blocului scris. Dacă fișierul se termină mai devreme, lungimea acestuia crește. Operația returnează numărul de octeți scriși.

Dacă fișierul a fost deschis doar în citire, apelarea scrierii va returna o eroare.

    int ioctl(int handle, int cmd, ...) ; int fcntl ( int mâner , int cmd , ...)

Operații suplimentare asupra fișierului. Inițial, se pare că ioctl a fost intenționat să fie o operație pe fișierul în sine, iar fcntl a fost o operație pe un handle de fișier deschis, dar apoi evoluțiile istorice au amestecat oarecum funcțiile acestor apeluri de sistem. Standard POSIX definește unele operații atât pe mâner, de exemplu duplicarea (în urma acestei operațiuni obținem două mânere asociate aceluiași fișier), cât și pe fișierul în sine, de exemplu, operația de trunchiere - tăiați fișierul la o lungime dată. În majoritatea versiunilor Unix Operația de trunchiere poate fi folosită și pentru a tăia date din mijlocul unui fișier. La citirea datelor dintr-o astfel de zonă tăiată, se citesc zerouri, iar această zonă în sine nu ocupă spațiu fizic pe disc.

O operațiune importantă este blocarea secțiunilor fișierului.Standard POSIX oferă o funcție de bibliotecă în acest scop, dar în sistemele familiei Unix Această funcție este implementată prin apelul fcntl.

Cele mai multe implementări ale standardului POSIX oferă propriile operațiuni suplimentare. Deci, în Unix SVR4 Cu aceste operațiuni puteți seta înregistrarea sincronă sau întârziată etc.

    caddr_t mmap(caddr_t addr, size_t len, int prot, int flags, int handle, off_t offset)

Maparea unei secțiuni a unui fișier în spațiul de adrese virtuale al procesului Parametrul prot specifică drepturile de acces la secțiunea mapată: citire, scriere și execuție. Maparea poate avea loc la o adresă virtuală specificată sau sistemul poate selecta adresa pentru a se mapa singur.

Încă două operațiuni sunt efectuate nu asupra fișierului, ci asupra numelui acestuia: acestea sunt operațiunile de redenumire și ștergere a fișierului. În unele sisteme, de exemplu în sistemele familiei Unix, un fișier poate avea mai multe nume și există doar un apel de sistem pentru a șterge un nume. Fișierul este șters atunci când numele de familie este șters.

Se poate observa că setul de operațiuni pe un fișier din acest standard este foarte asemănător cu setul de operațiuni pe un dispozitiv extern. Ambele sunt considerate ca un flux de octeți nestructurat. Pentru a completa imaginea, trebuie spus că principalul mijloc de comunicare între procese în sistemele familiei Unix (teava) este, de asemenea, un flux de date nestructurat. Ideea că majoritatea transferurilor de date pot fi reduse la un flux de octeți este destul de veche, dar Unix a fost unul dintre primele sisteme în care această idee a fost adusă la concluzia ei logică.

Aproximativ același model de lucru cu fișierele este adoptat în C.P./ M, și un set de apeluri de sistem de fișiere MS DOS copiat de fapt din apeluri Unix v7 . La randul lui, OS/2 Și Windows NT a moștenit principiile de lucru cu fișiere direct de la MS DOS.

Dimpotrivă, în sistemele fără Unixîntr-un pedigree, poate fi utilizată o interpretare ușor diferită a conceptului de fișier Cel mai adesea, un fișier este tratat ca un set de înregistrări. De obicei, sistemul acceptă atât înregistrări cu lungime constantă, cât și cu lungime variabilă. De exemplu, un fișier text este interpretat ca un fișier cu înregistrări de lungime variabilă și fiecare linie de text corespunde unei înregistrări. Acesta este modelul pentru lucrul cu fișiere în VMSși în linia OS OS/360 -MVS de la IBM.