您好,登錄后才能下訂單哦!
inode的工作原理:
如果把blcok比作書中的內容,那么inode就是inode就是這個書的目錄,inode中記錄文件的是文件的元數據信息,如:權限、大小、屬主屬組、時間戳、以及數據塊所在的位置等信息,blcok中存儲的才是真正的數據
block:每個blcok默認大小是4k(創建文件系統的時候可以修改),且每個blcok只能給一個文件使用,例如,有一個1k的文件,把該文件放到block中,那么塊中剩余的3k也不能用, blcok的大小需要根據實際應用情況來定,例如,現在把塊大小設置為1k,現有一個10k的文件,那么就需要10個塊,這樣就導致了尋址時間過長,會導致性能下降,如果現在把塊設置為10k,就有一個1k的文件,那么就會導致空間的浪費,所以塊大小需要根據實際情況來定。
inode:inode也是需要占據block塊的
直接指針:前12個inode指針,指向12個4k的block塊,因此一共可指向48k的文件。
間接指針:第13inode,每次指向一個block就會消耗4byte,那么一個塊是4k,里面存放元數據,一共可以指向1024個塊,所以可指向的文件大小為4K*1024=4M
三重指針:如果將間接指針指向的1024個塊中存放inode,那么就會指向1024*1024*4=4G個文件。
文件查找過程舉例:查找/a/b/c 中的c文件
首先,系統根據根inode可以查看到根目錄下所有文件的名稱和對應的inode編號,這樣就可以找到a文件和對應的inode編號,在a的inode編號找到a對應的inode,然后就可以看到a目錄下面所有文件的名稱和對應的inode編號,這樣就找到了b文件和對應的inode編號,根據b的inode編號就可以找到b的inode,這樣就可以看到b目錄下所有文件的名稱和inode,這樣就可以找到c文件了。
cp與inode:新建文件
rm與inode:
刪除原文件的inode,把數據塊放到空閑列表中,此時誤刪的數據還可以恢復,如果有新文件導入,會通過超級快查找,哪些塊已經被使用,哪些塊還有剩余,則會重新獲取新的inode,在分配空閑塊,此時之前刪除的文件就不能恢復了。
mv與inode:
如果在一個分區,就是僅僅改了指針映射的位置,inode沒有變化。
如果不在一個分區,就是先復制數據到目標文件,然后刪除源文件。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。