Î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.
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.
- 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.
- 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.
- 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.
mkfs.ext4 /dev/sdb1
fsck -y /dev/sdb1
gpg -c secret.txt