210 likes | 311 Views
E xt3grep GUI. Coordonator: Georgescu Andrada Developeri: Drăgan Monica Onea Andrei Voicu Gabriel. “Some disk blocks are quite boring. Some are marginally interesting. A very few are just super. :-)” – David Newall. Understanding filesystem.
E N D
Ext3grepGUI Coordonator: Georgescu Andrada Developeri: Drăgan Monica Onea Andrei Voicu Gabriel
“Some disk blocks are quite boring. Some are marginally interesting. A very few are just super. :-)” – David Newall
Understanding filesystem • Sistemele de fişiere din Linux sunt compuse în mare din 6 elemente: - blocurile de boot - un super block - un tabel cu inodes - inodes - dentries - datele propriu-zise
Un sistem de fişiere este reprezentat în memorie folosind inodes şi dentries. Inodes reprezintă fişierele sau directoarele, iar un dentry reprezintă legătura dintre inodes.
Blocurile de boot • remember USO :P
Inode • E o structura de date pe sistemele Unix. Un Inode conţine informaţiile despre un fişier sau un director şi pointeri către datele respectivului fişier. • Informaţiile găsite într-un Inode sunt de exemplu : - lungimea fişierului in bytes - dispozitivul de care aparţine fişierul - User ID al deţinătorului fişierului - Group ID - tabelul de permisiuni( read, write, execute) - timestamps - pointeri la alte blocuri de pe disc
Inode (2) • Un Inode conţine pe lângă informaţii despre un anumit fişier, şi pointeri către datele efective stocate pe hard. • Fiecare Inode poate avea 15 pointeri: - 12 pointeri direcţi care adresează câte o zonă de memorie - 1 pointer indirect, care adresează o zonă de blocuri de pointeri direcţi, care adresează fiecare câte o zonă de memorie - 1 pointer dublu indirect, care adresează o zonă de blocuri de pointeri indirecţi, care ... - 1 pointer triplu indirect, care adresează o zonă de pointeri indirecti, care ...
Tabel cu Inodes • Fiecărui Inode îi este atribuit un număr, reprezentând numărul de ordine în tabelul de Inodes • Astfel, kernel-ul poate accesa conţinutul unui inode, si odată cu acesta conţinuturile blocurilor de memorie spre care pointează acesta.
Superblock • Este poate cel mai important block dintr-un sistem de fişiere • Indică tipul şi dimensiunea sistemului de fişiere şi dimensiunea tabelului cu Inodes. Mai conţine si o listă cu câteva blocuri de memorie eliberate recent, pentru a fi alocate mai rapid in caz de nevoie. • Fiecare sistem de fişiere are un singur Superblock, aşa că pierderea lui duce la pierderea informaţiilor de pe acel sistem de fişiere. • Din fericire, în majoritatea sistemelor de fişiere există mai multe copii ale superblock-ului
“Now don't you agree that from a filesystem perspective, data blocks are only marginally interesting, but that first block is just super?“
Ext3grep • Este un utilitar folosit pentru recuperarea datelor pierdute. • Se foloseşte doar în cazul unor ştergeri accidentale, şi nu când avem de-a face cu probleme de hardware • A fost scris de Carlo Wood, după ce şi-a sters home-ul cu comanda “rm –rf” • Este scris în C++