Sunteți pe pagina 1din 44

Curs 10

Sisteme de fișiere

1 Fișiere
2 Directoare
3 Implementarea sistemelor de fișiere
4 Exemple

1
Sistem de fișiere
• Sistemul de fișiere este o parte a sistemului de operare ce se ocupă
cu numele și atributele fișierelor pe care le stochează într-o
structură ierarhică.
• Sistemele de fișiere oferă o metodă de organizare fizică și logică a
fișierelor într-un mediu de stocare:
– Stocarea fișierelor ca o înșiruire de octeți reprezintă organizarea
fizică;
– Modul în care sunt adresate fișierele reprezintă organizarea
logică.

2
Partiții
1. Pentru a avea un sistem de fișiere mai întâi trebuie să avem partiții.
2. Fiecare partiție poate susține un sistem de fișiere.
3. De ce se folosesc partiții? Pentru o mai bună organizare a datelor.
Astfel avem:
1. partiție pentru sistemul de operare Windows/Linux
2. partiție pentru date (home directory)
3. partiție pentru swap
4. Partițiile pot fi:
1. primare (maxim 4);
2. extinsă – poate înlocui una din partițiile primare;
3. logice – se regăsesc în interiorul partiției extinse;

3
Sisteme de operare și sisteme de
fișiere

4
Sisteme de fișiere în Linux (1)

• După ce am creat partițiile pe un hard


disk (folosind GParted, fdisk sau gdisk), trebuie să le pregătim
pentru utilizare. Procesul se numește formatare și presupune
crearea sistemelor de fișiere. Pentru formatare Linux utilizează
familia de comenzi mkfs iar Windows utilitarul Disk Management.
• Un exemplu de comandă pentru crearea unui sistem de fișiere:
– $ sudo mkfs -t ext4 /dev/sda6
– Comanda creează un sistem de fișiere ext4 pe partiția
/dev/sda6.

5
Sisteme de fișiere în Linux (2)
• Second Extended File System (ext2fs sau ext2) este sistemul de fișiere nativ
tradițional din Linux.
• Third Extended File System (ext3fs sau ext3) este, de fapt, ext2 cu jurnalizare. A
rezultat un sistem de fișiere sigur, dar care permite recuperarea mult mai rapidă după
system failure.
• Fourth Extended File System (ext4fs sau ext4) este versiunea generației următoare
din această familie de sisteme de fișiere.
• ReiserFS a fost dezvoltat de la zero ca un sistem de fișiere cu jurnalizare pentru Linux.
• Journaled File System (jfs) pentru sistemele sale de operare AIX și OS/2.
• Extens File System (xfs).
• BTRFS este un sistem de fișiere avansat cau caracteristici împrumutate de la sistemul
de fișiere Zettabyte File System (ZFS) al celor de la Sun.
• În practică, cei mai mulți utilizatori folosesc ext3, ext4 sau reiserfs. JFS și XFS
sunt pentru sistemele cu discuri de mare capacitate și care stochează fișiere de
mari dimensiuni.

6
Sisteme de fișiere pentru Windows
• File Allocation Table (FAT):
– este vechi și primitiv, dar încă omniprezent.
– excelent ca sistem de fișiere pentru discuri amovibile.
– la formatare, dacă folosim numele msdos, partiția FAT va
suporta doar  nume de fișiere 8.3.
– comanda $ mkfs -t vfat /dev/sdc poate formata un stick USB
în FAT32).
• New Technology File System (NTFS) este sistemul de fișiere
preferat din Windows NT și mai nou.
– Există suport Linux pentru NTFS
– $ mount /dev/sda5 /mnt/sda5 –t ntfs-3g

7
Alte tipuri de sisteme de fișiere(2)

• Hierarchical File System (HFS) pentru Mac OS


• ISO-9660 este sistemul de fișiere standard pentru CD-ROM.
• Universal Disc Format (UDF) este ultima generație de sistem
de fișiere pentru unitățile optice. Este asociat cu DVD-ROM.

8
Criterii de comparație pentru
sistemele de fișiere
• Asigurarea integrității datelor;
• Separarea eficientă a resurselor între diferiți utilizatori;
• Securizarea datelor prin setarea permisiunilor diferențiate
de acces;
• Volumul gestionat
• Comprimarea fișierelor
• Optimizarea spațiului de stocare
• Gestiunea posibilelor erori prin jurnalizare și reversibilitate

9
Caracteristici importante
pentru sistemele de fișiere

Tip SO Dim max fișier Jurnalizare


FAT32 Windows/Linux 4GB NU
NTFS Windows/Linux 16TiB DA
ext2 Linux/Windows 16GiB-64TiB NU
ext3 Linux/Windows 16GiB-64TiB DA
ext4 Linux/Windows 16TiB DA
ISO9660 Windows/Linux În funcție de implementare NU

UDF Windows/Linux 16EiB(1Exbibyte=10243 GB) DA

10
fișier/ director/ stocare

• Fișierul (file) reprezintă o formă de organizare digitală a informațiilor, având


forma unei înșiruiri de octeți. Fișierele sunt unități logice de informație create
de către procese. Fișierele sunt organizate în directoare.
• Un director este o colecție de fișiere și subdirectoare identificată printr-un
nume. Directoarele nu conțin propriu-zis fișierele pe care le organizează acestea
sunt doar fișiere speciale care servesc organizării altor fișiere și directoare.

11
Structura fișierelor

• Trei tipuri de fișiere


– Secvențe de biți (byte stream)
– Secvențe de înregistrări de aceiași dimensiune (record)
– Arbore de înregistrări care nu au aceiași dimensiune și care conțin
o cheie (tree)
12
Tipuri de fișiere
SO pot conține următoarele tipuri de fișiere:
•fișiere obișnuite:
– Cele ASCII conțin text, fiecare linie fiind de dimensiune diferită și se încheie
cu o combinație CR(carriage return) LF(line feed).
– Fișierele binare au o structură cunoscută de către programele care le utilizează.
•directoare
•în Unix/Linux există și fișiere speciale cum ar fi:
– legături simbolice -- verificați comanda ln studiată la laborator!
– fișiere speciale (Unix/Linux mai conține fișiere speciale bloc și caracter
utilizate pentru modelarea discului, respectiv modelarea dispozitivelor de
intrare ieșire).
– Named pipes, socket, utilizate la comunicarea între programe.

13
Numirea fișierelor

Extensii de fișiere
14
Formatul fișierelor

(a) Fișier executabil (b) O arhivă


15
Atribute fișier Linux
• Cele mai simple atribute ale unui fișier sunt numele,
dimensiunea și tipul.
• Dacă folosim comanda $ ls –l primul caracter la
început de linie anunță tipul fișierului.

16
Atributele fișierelor - metadate

17
Accesul la fișiere
• Acces secvențial
– Citirea octeților/înregistrărilor de la începutul fișierului
– Se păstrează ordinea de citire în fișier, fișierele se pot derula
înapoi sau salva
– Convenabil când mediul de stocare era banda magnetică
• Acces aleator
– Citirea octeților/înregistrărilor în orice ordine
– Esențial pentru sistemele de baze de date
– Citirea se realizează prin două metode:
• Mutarea marcatorului de fișier (seek), apoi citește sau …
• Citește și apoi muta marcatorul de fișier

18
Operații cu fișiere

1. Create 7. Append
2. Delete 8. Seek
3. Open 9. Get attributes
4. Close 10.Set Attributes
5. Read 11.Rename
6. Write

19
Comenzi pentru crearea unor intrări
în sistemul de fișiere - Linux

20
Directoare(1)

Single directory systems Two level directory systems

• Sistem cu un singur director (root sau rădăcină)


– dezavantaj: în mediu multiuser, mai mulți utilizatori pot da același
nume la diverse fișiere
– Se utilizează pe dispozitive de telefonie mobilă, camere digitale, etc.
• Sistem cu două niveluri
– se atribuie fiecărui utilizator un director privat
– se elimină problema interferenței numelor
– nesatisfăcător pentru utilizatori cu număr mare de fișiere

21
Ierarhie de directoare

Arbore de directoare

22
Specificarea căilor
de acces la fișiere

Un arbore de directoare
Unix/Linux

23
Comparație între căile sistemelor
de operare Windows și Linux

24
Ierarhia
într-un
sistem
de
fișiere
pentru
Linux

25
Ierarhia într-un sistem de fișiere
pentru Windows

26
Operații cu directoare

1. Create 5. Readdir
2. Delete 6. Rename
3. Opendir 7. Link
4. Closedir 8. Unlink

27
Echivalențe
comenzi
Windows și
Linux

28
Implementarea sistemului de fișiere
MBR

Structura unui sistem de fișiere

29
Linux boot cu MBR și BIOS

30
Implementarea sistemului de fișiere
GPT

31
Implementarea fișierelor
Metode de alocare
• Metoda de alocare specifică modul de stocare a informației
pe disc (în cadrul unui sistem de fisiere) scopul fiind
utilizarea eficientă a spațiului disponibil și accesul rapid la
fișiere.
• Există trei metode principale de alocare a spațiului:
– alocarea contiguă (contiguous allocation)
– alocarea cu liste (linked allocation)
– alocarea indexată (indexed allocation)

32
Alocarea contiguă

(a) Alocarea contiguă a spațiului de pe disc pentru 7 fișiere


(b) Starea discului după ștergerea fișierelor D și F
33
Alocarea cu liste

Fig A
Stocarea unui fișier ca o
listă înlănțuită de
blocuri Fig B
O listă înlănțuită de blocuri ce utilizează FAT în RAM

34
35
Alocarea indexată

Un exemplu de inode
36
37
Implementarea directoarelor (1)

(a) Un director simplu


– Intrări de dimensiune fixă
– Adresele și atributele intrărilor se regăsesc în director
(b) Director în care fiecare intrare referă un i-node

38
Implementarea directoarelor (2)

Două metode de tratare a fișierelor cu denumiri lungi într-un director


(a) In-line
(b)In a heap 39
Fișiere partajate (1)

Sistem de fișiere ce conține un fișier partajat


40
Fișiere partajate(2)

(a) Situația anterioară creării legăturilor


(b) După crearea legăturii
(c)După ce proprietarul șterge fișierul
41
Cum alegem un sistem de fișiere?

42
De știut...
1. Fișier: definiție, structură, tipuri, modalități de acces, atribute, operații cu fișiere.
2. Director:definiție, forme, cale, operații.
3. Implementarea fișierelor.
4. Implementarea directoarelor.
5. Sistem de fișiere: definiție, schema generală, tipuri cunoscute.
6. Ce reprezintă numărul magic?
7. Cum este implementat accesul aleator la fișier sub MS-DOS?
8. Precizați avantaje și dezavantaje ale legăturilor simbolice comparativ cu cele hardware.
9. Caracterizaţi FAT, FAT32, NTFS.
10. Ce înseamnă GRUB?
11. Ce înseamnă LILO?
12. Definiți termenul here document.
13. Care este secvența de start-up pentru Linux?
14. Care este UID-ul pentru utilizatorul root?
15. Ce reprezintă FSB?
16. Care sunt avantajele și dezavantajele utilizării GRUB versus LILO?
17. Care este diferența dintre MBR și GPT?
18. Care este bootloader-ul pentru sistemul de operare Windows?
19. Ce reprezintă UEFI?
43
Bibliografie
• A. Silberschatz, P. Galvin, Operating System Concepts,
John Wiley and Sons Inc., 2005, pag 373-402, capitolul
10.
• A. Tanembaum, Modern Operating Systems, Prentice
Hall, 2007, pag 255-292.
• Gh. Dodescu, Sisteme de operare, Ed. Economică, 2003,
pag 216-246.
• https://www.despre-linux.eu/sisteme-de-fisiere-in-linux/
• Rughiniș R. , Utilizarea sistemelor de operare, note curs
2011.
• https://www.ntfs.com/guid-part-table.htm
44
44

S-ar putea să vă placă și