Sisteme de fișiere: comparație, secrete și caracteristici unice. Tipuri de sisteme de fișiere

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


Descrierea caracteristicilor generale ale sistemului de fișiere

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

Tipuri de sisteme de fișiere

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

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

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

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

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

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

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

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

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

FS - FAT

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

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

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

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

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

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

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

FS - NTFS

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

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

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

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

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

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

FS - EFS

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

FS – RAW

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

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

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

FS – UDF

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

— numele fișierelor nu trebuie să depășească 255 de caractere;
— cazul nominal poate fi inferior sau superior.

Funcționează cu sistemul de operare Windows XP.

FS - EXFAT

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

Din cele scrise mai sus, putem trage concluzia corectă. Fiecare sistem de fișiere caracterizat are propriile sale caracteristici și creează anumite formate de fișiere. Acesta este motivul pentru care uneori nu poți accesa unele fișiere, ceea ce înseamnă că au fost create într-un sistem de fișiere complet diferit pe care al tău nu îl poate recunoaște.
Sperăm că informațiile prezentate în acest articol vă vor ajuta să evitați multe probleme atunci când lucrați cu fișiere de informații. Acum puteți determina independent cu ce FS funcționează sistemul de operare al computerului dvs. și cu ce date trebuie să lucrați zilnic în fluxul procesării lor operaționale sistematice.

Clasificarea, structura, caracteristicile sistemelor de fisiere!!!

1. Conceptul, structura și funcționarea sistemului de fișiere.

Un sistem de fișiere este un set (ordine, structură și conținut) de organizare a stocării datelor pe medii de stocare, care oferă direct acces la datele stocate la nivel de zi cu zi, este un set de toate fișierele și folderele de pe un disc; Principalele „unități” ale unui sistem de fișiere sunt considerate a fi un cluster, un fișier, un director, o partiție, un volum și un disc.
O colecție de zerouri și unu pe un mediu de stocare alcătuiește un cluster (dimensiunea minimă a spațiului pentru stocarea informațiilor, ele sunt de obicei numite și conceptul de sector, dimensiunea lor este un multiplu de 512 octeți).
Fișiere - o colecție numită de octeți împărțiți în sectoare. În funcție de sistemul de fișiere, un fișier poate avea un set diferit de proprietăți. Pentru comoditate în lucrul cu fișierele, sunt folosite numele acestora (identificatori simbolici).
Pentru a organiza structura sistemului de fișiere, fișierele sunt grupate în cataloage .
Capitol - o zonă a unui disc creată la partiționarea acestuia și care conține unul sau mai multe volume formatate.
Volum - zonă de partiție cu sistem de fișiere, tabel de fișiere și zonă de date. Una sau mai multe secțiuni alcătuiesc disc .
Toate informațiile despre fișiere sunt stocate într-o zonă specială a partiției - tabelul de fișiere. Tabelul de fișiere vă permite să asociați identificatori numerici de fișiere și informații suplimentare despre acestea (data modificată, drepturi de acces, nume etc.) cu conținutul real al fișierului stocat într-o altă zonă de partiție.

MBR (Master Boot Record) o zonă specială situată la începutul discului - care conține informațiile necesare pentru ca BIOS-ul să pornească sistemul de operare de pe hard disk.
Tabelul de partiții este, de asemenea, situat la începutul discului, sarcina sa este de a stoca informații despre partiții: început, lungime, încărcare. Partiția de pornire conține sectorul de boot, care stochează programul de boot al sistemului de operare.

Numărătoarea inversă începe de la MBR (din sectorul numărul 0) pentru toate partițiile primare, atât obișnuite, cât și extinse, și numai pentru cele primare.
Toate secțiunile logice obișnuite (nu logice extinse) sunt specificate printr-un decalaj relativ la începutul secțiunii extinse în care sunt descrise.
Toate partițiile logice extinse sunt specificate printr-un decalaj relativ la începutul partiției primare extinse.

Procesul de pornire a sistemului de operare este următorul:
Când porniți computerul, BIOS-ul preia controlul asupra procesorului, pornește de pe hard disk, încarcă primul sector al discului (MBR) în memoria RAM a computerului și îi transferă controlul).

MBR-ul poate fi scris ca un bootloader „standard”,

și bootloadere precum LILO/GRUB.

Încărcătorul de pornire standard găsește prima partiție cu indicatorul de pornire în tabelul principal de partiții, citește primul ei sector (sector de pornire) și transferă controlul către codul scris în acest sector de pornire. Dacă în loc de încărcătorul standard MBR există altul, atunci acesta nu se uită la steag-ul de pornire și poate porni de pe orice partiție (prescris în setările sale).

De exemplu, pentru a încărca sistemul de operare Windows NT/2k/XP/2003, codul este scris în sectorul de pornire care încarcă încărcătorul principal (ntloader) din partiția curentă în memorie.
Fiecare sistem de fișiere FAT16/FAT32/NTFS utilizează propriul său bootloader. Rădăcina partiției trebuie să conțină fișierul ntldr. Dacă vedeți mesajul „NTLDR is missing” când încercați să porniți Windows, atunci acesta este exact cazul când fișierul ntldr lipsește. De asemenea, pentru funcționarea normală a ntldr, este posibil să aveți nevoie de fișierele bootfont.bin, ntbootdd.sys, ntdetect.com și de un boot.ini scris corect.

Exemplu boot.ini

C:\boot.ini

timeout=8
implicit=C:\gentoo.bin

C:\gentoo.bin="Gentoo Linux"
multi(0)disk(0)rdisk(0)partiție(1)\WINDOWS="Windows XP (32-bit)" /fastdetect /NoExecute=OptIn
multi(0)disc(0)rdisk(0)partiție(3)\WINDOWS="Windows XP (64-bit)" /fastdetect /usepmtimer

Exemplu de fișier de configurare grub.conf

#grub.conf generat de anaconda
#
#Rețineți că nu trebuie să rulați din nou grub după ce faceți modificări la acest fișier
#
#OBSERVAȚIE: aveți o partiție /boot. Aceasta înseamnă că
#toate căile nucleului și initrd sunt relative la /boot/, de ex.
#rădăcină (hdO.O)
#kernel /vmlinuz-version ro root=/dev/sda2
#initrd/initrd-version.img
#boot=/dev/sda default=0 timeout=5
splashimage=(hdO,0)/grub/splash.xpm.gz
meniu ascuns
titlu Server Red Hat Enterprise Linux (2.6.18-53.el 5)
rădăcină (hdO.O)
kernel /vmlinuz-2.6.18-53.el5 ro root=LABEL=/ rhgb quiet-
initrd /initrd-2.6.18-53.el5.img

Structura fișierului lilo.conf

# Fișierul de configurare LILO generat de „liloconfig”
//Secțiune pentru descrierea parametrilor globali
# Porniți secțiunea globală LILO
//Locația în care este înregistrată Lilo. În acest caz este vorba de MBR
boot = /dev/hda
//Mesaj care este afișat la încărcare
mesaj = /boot/boot_message.txt
//Afișează o invitație
prompt
//Time Out pentru a selecta sistemul de operare
timeout = 1200
# Ignorați valorile implicite periculoase care rescriu tabelul de partiții:
reguli de schimbare
resetare
Consolă framebuffer #VESA @ 800x600x256
//Se selectează modul video pentru afișarea meniului
vga = 771
# Încheiați secțiunea globală LILO
//Secțiune pentru descrierea parametrilor de boot Windows
# Începe configurarea partiției bootabile DOS
altele = /dev/hda1
etichetă = Windows98
tabel = /dev/hda
# Configurația partiției bootabile DOS se termină
//Secțiune pentru descrierea parametrilor de boot QNX
# Începe configurația partiției bootabile QNX
//Cale către sistemul de operare
altele = /dev/hda2
etichetă = QNX
tabel = /dev/hda
# Configurația partiției bootabile QNX se încheie
//Secțiune pentru descrierea parametrilor de boot Linux
# Începe configurarea partiției bootabile Linux
//Cale către imaginea kernelului
imagine = /boot/vmlinuz
root = /dev/hda4
label = Slackware
numai pentru citire
# Configurația partiției bootabile Linux se încheie


2. Cele mai cunoscute sisteme de fișiere.

  • Sistem avansat de arhivare pe disc
  • AdvFS
  • Fii sistem de fișiere
  • CSI - DOS
  • Criptarea sistemului de fișiere
  • Sistem de fișiere extins
  • Al doilea sistem de fișiere extins
  • Al treilea sistem de fișiere extins
  • Al patrulea sistem de fișiere extins
  • Tabelul de alocare a fișierelor (FAT)
  • Fișiere - 11
  • Sistem ierarhic de fișiere
  • HFS Plus
  • Sistem de fișiere de înaltă performanță (HPFS)
  • ISO 9660
  • Sistem de fișiere jurnalizate
  • Sistemul de fișiere Macintosh
  • Sistem de fișiere MINIX
  • MicroDOS
  • Următorul3
  • Noua implementare a unui F structurat în jurnal (NILFS)
  • Servicii de stocare Novell
  • Sistem de fișiere cu tehnologie nouă (NTFS)
  • Protogon
  • ReiserFS
  • Sistem de fișiere inteligent
  • Squashfs
  • Sistemul de fișiere Unix
  • Format universal de disc (UDF)
  • Sistemul de fișiere Veritas
  • Windows Future Storage (WinFS)
  • Scrieți oriunde aspectul fișierului
  • Sistemul de fișiere Zettabyte (ZFS)

3. Principalele caracteristici ale sistemelor de fișiere.

Sistemul de operare oferă aplicațiilor un set de funcții și structuri pentru lucrul cu fișierele. Capacitățile sistemului de operare impun restricții suplimentare asupra limitărilor sistemului de fișiere, principalele restricții includ:

Dimensiunea maximă (minimă) a volumului;
- Numărul maxim (minim) de fișiere în directorul rădăcină;
- Numărul maxim de fișiere într-un director non-rădăcină;
- Securitate la nivel de fișier;
- Suport pentru nume lungi de fișiere;
- Auto vindecare;
- Compresie la nivel de fișier;
- Mentinerea jurnalelor de tranzactii;

4. Scurtă descriere a celor mai comune sisteme de fișiere FAT, NTFS, EXT.

Sistemul de fișiere FAT.

FAT (tabelul de alocare a fișierelor) înseamnă tabelul de alocare a fișierelor.
În sistemul de fișiere FAT, spațiul de disc logic al oricărei unități logice este împărțit în două zone:
- zona de sistem;
- zona de date.
Zona de sistem este creată în timpul formatării și actualizată atunci când structura fișierului este manipulată. Zona de date conține fișiere și directoare subordonate rădăcinii și este accesibilă prin interfața cu utilizatorul. Zona de sistem este formată din următoarele componente:
- înregistrarea de pornire;
- sectoare rezervate;
- tabele de alocare a fișierelor (FAT);
- directorul rădăcină.
Tabelul de alocare a fișierelor este o hartă (imagine) a zonei de date, care descrie starea fiecărei secțiuni a zonei de date. Zona de date este împărțită în clustere. Un cluster este unul sau mai multe sectoare învecinate într-un spațiu de adrese de disc logic (numai zona de date). În tabelul FAT, clusterele aparținând aceluiași fișier (director non-rădăcină) sunt legate în lanțuri. Sistemul de gestionare a fișierelor FAT16 utilizează un cuvânt de 16 biți pentru a indica numărul clusterului, astfel încât să puteți avea până la 65.536 clustere.
Un cluster este unitatea minimă adresabilă de memorie de disc alocată unui fișier sau director non-rădăcină. Un fișier sau un director ocupă un număr întreg de clustere. În acest caz, ultimul cluster poate să nu fie utilizat pe deplin, ceea ce va duce la o pierdere vizibilă de spațiu pe disc dacă dimensiunea clusterului este mare.
Deoarece FAT este folosit foarte intens la accesarea discului, acesta este încărcat în RAM și rămâne acolo cât mai mult timp posibil.
Directorul rădăcină diferă de un director obișnuit prin faptul că este situat într-o locație fixă ​​pe un disc logic și are un număr fix de elemente. Pentru fiecare fișier și director, sistemul de fișiere stochează informații conform următoarei structuri:
- nume de fișier sau director – 11 octeți;
- atribute fișier – 1 octet;
- câmp de rezervă – 1 octet;
- timp de creare – 3 octeți;
- data creării – 2 octeți;
- data ultimului acces – 2 bytes;
- rezervat – 2 octeți;
- timpul ultimei modificări – 2 octeți;
- numărul inițial al clusterului în FAT – 2 octeți;
- dimensiunea fișierului – 4 octeți.
Structura sistemului de fișiere este ierarhică.

Sistem de fișiere FAT32.
FAT32 este un sistem de fișiere complet independent pe 32 de biți și conține numeroase îmbunătățiri și completări față de FAT16. Diferența fundamentală dintre FAT32 este utilizarea mai eficientă a spațiului pe disc: FAT32 utilizează clustere mai mici, ceea ce duce la economii de spațiu pe disc.
FAT32 poate muta directorul rădăcină și poate folosi backup-ul FAT în locul celui standard. FAT32 Enhanced Boot Record vă permite să creați copii ale structurilor de date critice, făcând unitățile mai rezistente la încălcările structurii FAT decât versiunile anterioare. Directorul rădăcină este un lanț obișnuit de clustere, deci poate fi localizat în orice locație de pe disc, ceea ce elimină limitarea dimensiunii directorului rădăcină.


Sistem de fișiere NTFS.
Sistemul de fișiere NTFS (New Technology File System) conține o serie de îmbunătățiri și modificări semnificative care îl deosebesc semnificativ de alte sisteme de fișiere. Din punctul de vedere al utilizatorilor, fișierele sunt încă stocate în directoare, dar lucrul pe discuri mari în NTFS este mult mai eficient:
- există mijloace de restricționare a accesului la fișiere și directoare;
- au fost introduse mecanisme care cresc semnificativ fiabilitatea sistemului de fișiere;
- multe restricții privind numărul maxim de sectoare de disc și/sau clustere au fost eliminate.

Principalele caracteristici ale sistemului de fișiere NTFS:
- fiabilitate. Calculatoarele performante si sistemele partajate trebuie sa aiba fiabilitate sporita in acest scop, a fost introdus un mecanism de tranzactie in care se inregistreaza tranzactiile cu fisiere;
- funcționalitate extinsă. Au fost introduse noi caracteristici în NTFS: toleranță îmbunătățită la erori, emularea altor sisteme de fișiere, un model de securitate puternic, procesarea paralelă a fluxurilor de date, crearea de atribute de fișiere definite de utilizator;
- Suport standard POSIX. Caracteristicile de bază includ nume de fișiere opționale care țin cont de majuscule, stocarea orei la care a fost accesat ultima dată un fișier și un mecanism de nume alternativ care permite ca același fișier să fie referit prin mai multe nume;
- flexibilitate. Alocarea spațiului pe disc este foarte flexibilă: dimensiunea clusterului poate varia de la 512 octeți la 64 KB.
NTFS funcționează bine cu seturi mari de date și volume mari. Dimensiunea maximă a volumului (și fișierului) este de 16 EB. (1 EB este egal cu 2**64 sau 16000 de miliarde de gigaocteți.) Numărul de fișiere din directoarele rădăcină și non-rădăcină nu este limitat. Deoarece structura de directoare NTFS se bazează pe o structură de date eficientă numită „arbore binar”, timpii de căutare a fișierelor NTFS nu sunt legați liniar de numărul de fișiere.
NTFS are unele capacități de auto-vindecare și acceptă diverse mecanisme de verificare a integrității sistemului, inclusiv înregistrarea tranzacțiilor, care vă permite să urmăriți operațiunile de scriere a fișierelor în jurnalul de sistem.
Sistemul de fișiere NTFS acceptă modelul de obiecte de securitate și tratează toate volumele, directoarele și fișierele ca obiecte NTFS independente. Drepturile de acces la volume, directoare și fișiere depind de contul de utilizator și de grupul căruia îi aparține.
Sistemul de fișiere NTFS are capabilități de compresie încorporate care pot fi aplicate volumelor, directoarelor și fișierelor.

Sistem de fișiere Ext3.
Sistemul de fișiere ext3 poate suporta fișiere de până la 1 TB. Cu nucleul Linux 2.4, dimensiunea sistemului de fișiere este limitată de dimensiunea maximă a dispozitivului bloc, care este de 2 teraocteți. În Linux 2.6 (pentru procesoare pe 32 de biți), dimensiunea maximă a dispozitivului bloc este de 16 TB, totuși ext3 acceptă doar până la 4 TB.
Ext3 are o bună compatibilitate cu NFS și nu are probleme de performanță atunci când există o lipsă de spațiu liber pe disc Un alt avantaj al ext3 vine din faptul că se bazează pe codul ext2. Formatul de disc al ext2 și ext3 este identic; De aici rezultă că, dacă este necesar, sistemul de fișiere ext3 poate fi montat ca ext2 fără probleme. Și asta nu este tot. Datorită faptului că ext2 și ext3 folosesc metadate identice, este posibilă actualizarea ext2 la ext3 din mers.
Fiabilitate Ext3
Pe lângă compatibilitatea cu ext2, ext3 moștenește și alte avantaje ale formatului comun de metadate. Utilizatorii Ext3 au la dispoziție instrumentul fsck care a fost dovedit de ani de zile. Desigur, principalul motiv pentru trecerea la un sistem de fișiere de jurnal este acela de a elimina necesitatea verificărilor periodice și îndelungate ale consistenței metadatelor de pe disc. Cu toate acestea, „înregistrarea” nu protejează împotriva blocărilor nucleului sau a deteriorării discului (sau orice altceva de genul acesta). În caz de urgență, veți aprecia faptul că ext3 are continuitate de la ext2 cu fsck-ul său.
Jurnal în ext3.
Acum că avem o înțelegere generală a problemei, să ne uităm la modul în care ext3 face jurnalizarea. Codul de înregistrare ext3 folosește un API special numit stratul Journaling Block Device sau JBD. JBD a fost proiectat pentru autentificare pe orice dispozitiv bloc. Ext3 este legat de API-ul JBD. În acest caz, codul sistemului de fișiere ext3 informează JBD-ul despre necesitatea modificării și solicită permisiunea JBD-ului pentru a o efectua. Jurnalul este gestionat de JBD în numele driverului sistemului de fișiere ext3. Această convenție este foarte convenabilă, deoarece JBD este dezvoltat ca un obiect separat, universal și poate fi folosit în viitor pentru jurnalizare în alte sisteme de fișiere.
Protecția datelor în Ext3
Acum putem vorbi despre modul în care sistemul de fișiere ext3 oferă înregistrare atât pentru date, cât și pentru metadate. Există de fapt două metode pentru a garanta consistența în ext3.
ext3 a fost conceput inițial pentru înregistrarea datelor și a metadatelor complete. În acest mod (numit modul „date=jurnal”), JBD înregistrează toate modificările aduse sistemului de fișiere, legate atât de date, cât și de metadate. În acest caz, JBD poate folosi jurnalul pentru a derula înapoi și a restaura metadatele și datele. Dezavantajul înregistrării „complete” este performanța sa destul de scăzută și consumul unei cantități mari de spațiu pe disc pentru jurnal.
Recent, la ext3 a fost adăugat un nou mod de jurnalizare care combină performanța înaltă cu garanția consistenței structurii sistemului de fișiere după o blocare (cum ar fi sistemele de fișiere jurnalizate „obișnuite”). Noul mod de operare servește doar metadate. Cu toate acestea, driverul sistemului de fișiere ext3 urmărește în continuare procesarea blocurilor întregi de date (dacă acestea implică modificarea metadatelor) și le grupează într-un obiect separat numit tranzacție. Tranzacția va fi finalizată numai după ce toate datele au fost scrise pe disc. Un efect secundar al acestei tehnici brute (numită modul „date=ordonate”) este că ext3 oferă o probabilitate mai mare de integritate a datelor (comparativ cu sistemele de fișiere de jurnal „avansate”), garantând în același timp consistența metadatelor. În acest caz, sunt înregistrate numai modificările aduse structurii sistemului de fișiere. Ext3 utilizează acest mod în mod implicit.
Ext3 are multe avantaje. Este proiectat pentru o ușurință maximă de desfășurare. Se bazează pe ani de cod ext2 dovedit și a moștenit minunatul instrument fsck. Ext3 este destinat în primul rând aplicațiilor care nu au capabilități încorporate pentru a garanta integritatea datelor. În general, ext3 este un sistem de fișiere minunat și o continuare demnă a ext2. Există încă o caracteristică care distinge pozitiv ext3 de alte sisteme de fișiere jurnalizate sub Linux - fiabilitate ridicată.

Sistemul de fișiere ext4 este o continuare evolutivă demnă a sistemului ext.

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 sistem de operare și în alte sisteme de operare bazate pe principiile sale - cum ar fi Android - unitățile logice nu sunt utilizate. 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, pe care experții IT îl evidențiază, este, prin urmare, versatilitatea acestuia. Î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 funcționa cu date în 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.

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.

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

Sistemul de fișiere

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

Gestionarea fișierelor

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

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

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

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

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

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

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

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

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

Funcțiile FS, care funcționează ca parte a unui sistem de operare de rețea, devin și mai complexe de care are nevoie pentru a organiza protecția fişiere un utilizator de la accesul neautorizat al altui utilizator.

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

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

Exemplu

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

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

Tipuri de fisiere

Fișiere obișnuite: conțin informații de natură arbitrară pe care utilizatorul le introduce sau care sunt generate ca urmare a funcționării sistemului și a programelor utilizatorului. Conținutul unui fișier obișnuit este determinat de aplicația care funcționează cu acesta.

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

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

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

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

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

Structura fișierului

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

Tipuri de structuri de fișiere:

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



Tipuri de nume de fișiere

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

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

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

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

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

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

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

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

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

Atributele fișierului

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

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

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

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

Permisiuni pentru fișiere

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

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

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

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