Curs 4 - Sisteme de Fișiere și Gestionarea Stocării în Sistemele de Operare

În acest curs vom explora modul în care sistemele de operare gestionează fișierele și stocarea datelor, incluzând structura sistemelor de fișiere, permisiunile și securitatea datelor.

1. Introducere în Sistemele de Fișiere

Un sistem de fișiere este o metodă prin care un sistem de operare organizează și stochează date pe un dispozitiv de stocare.

- Rolul sistemului de operare:

- Organizarea fișierelor și directoarelor.

- Gestionarea spațiului de stocare.

- Menținerea integrității datelor prin jurnalizare.

- Tipuri de sisteme de fișiere:

- FAT32: Simplu, compatibilitate mare, dar lipsă de jurnalizare.

- NTFS: Utilizat în Windows, suportă permisiuni avansate și criptare.

- ext4: Sistem de fișiere utilizat în Linux, oferă suport pentru jurnalizare.

- XFS, ZFS, Btrfs: Sisteme de fișiere avansate cu snapshot-uri și compresie.

2. Structura unui Sistem de Fișiere

- Blocuri, Inoduri și Directoare:

- Un bloc este unitatea minimă de stocare.

- Un inod conține informații despre un fișier (dimensiune, permisiuni, locație).

- Un director este o colecție de inoduri care organizează fișierele.

- Jurnalizare și gestionarea metadatelor:

- Unele sisteme de fișiere mențin un jurnal (log) pentru prevenirea coruperii datelor.

- JFS, ext3/ext4, XFS și NTFS folosesc jurnalizare pentru recuperare rapidă după un crash.

3. Montare, Partiționare și Gestionarea Volumelor

- Montarea și demontarea unui sistem de fișiere:

mount /dev/sdb1 /mnt
umount /mnt

- Crearea și gestionarea partițiilor:

- MBR vs. GPT: GPT permite mai multe partiții și suportă discuri mai mari.

- Utilizarea `fdisk` și `parted` pentru gestionarea partițiilor.

- LVM (Logical Volume Manager) și RAID:

- LVM permite redimensionarea dinamică a spațiului de stocare.

- RAID (Redundant Array of Independent Disks) oferă protecție împotriva pierderii datelor.

4. Permisiuni, Securitate și Acces la Fișiere

- Modul UNIX de permisiuni:

chmod 755 file.txt

- `rwx` - Permisiuni pentru proprietar, grup și alți utilizatori.

- ACL (Access Control List) și sisteme moderne de securitate:

- `setfacl -m u:alex:rwx file.txt` permite lui `alex` acces complet la fișier.

- Protecția datelor prin criptare și snapshot-uri:

ecryptfs-setup-private

- Această comandă creează un director criptat pentru utilizator.

5. Exemplu Practic - Gestionarea Sistemelor de Fișiere

a) Crearea unui sistem de fișiere

mkfs.ext4 /dev/sdb1

b) Verificarea integrității unui sistem de fișiere

fsck -y /dev/sdb1

c) Gestionarea permisiunilor și criptarea unui fișier

gpg -c secret.txt

Resurse suplimentare: