0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一文解讀文件系統(tǒng)的作用性(二)

454398 ? 來(lái)源:蝸窩科技 ? 作者:驢肉火燒 ? 2020-09-21 14:17 ? 次閱讀

Linux發(fā)展到現(xiàn)今,在fs目錄下我們可以看到形形色色的文件系統(tǒng),眼花繚亂的同時(shí)首先需要回答的問(wèn)題是,為什么會(huì)有文件系統(tǒng)這個(gè)東西呢?我想如果能搞清楚這個(gè)問(wèn)題,會(huì)幫助大家更好的理解文件系統(tǒng),那么我就嘗試著來(lái)模擬一次文件系統(tǒng)的演進(jìn)過(guò)程,于是,我們來(lái)到了那一天,那天之前,人們還沒(méi)有文件系統(tǒng)的概念。

友情提示 : 下面將在荒誕的場(chǎng)景下演進(jìn)人類合理的訴求

神說(shuō),要有光,于是,光照大地

神說(shuō),要有風(fēng),于是,風(fēng)動(dòng)四方

神說(shuō),人類要記住神,于是,有了傳說(shuō)

神說(shuō),怕你們忘了,得記下來(lái),于是,有了文字,信息被存儲(chǔ)在石板上,竹片上,紙張上,硬盤里,flash中

當(dāng)信息能存在硬盤中的時(shí)候,人類如獲至寶,如此大的存儲(chǔ)量,我們能裝下全世界圖書館的館藏,于是,我們想先放一套盜墓筆記進(jìn)去。

好嘞,于是,我一個(gè)字一個(gè)字的將精彩的內(nèi)容順序存儲(chǔ)在硬盤中,終于,全套的盜墓筆記被存儲(chǔ)在硬盤中了,還沒(méi)來(lái)得及高興,就傻眼了,我不想看秦嶺神樹,怎么辦,這并難不倒我,略加思索,就能想到解決方案,因?yàn)槭琼樞虼鎯?chǔ)的,從開始的地方一直讀下去,當(dāng)恰好跳過(guò)秦嶺神樹章節(jié)內(nèi)容的時(shí)候,就做一個(gè)標(biāo)記,記錄已經(jīng)跳過(guò)的字節(jié)數(shù),下次再看的時(shí)候,就直接讀到硬盤對(duì)應(yīng)的位置即可,經(jīng)過(guò)一番努力,我找到了并把這個(gè)字節(jié)數(shù)寫在了一張紙條上,以便下次可以直接讀取,避免一次次的遍歷。

后來(lái),我開始有點(diǎn)不耐煩了,因?yàn)檫@張紙條里面的內(nèi)容越來(lái)越多,比如最后一章的位置,終極第一次出現(xiàn)的位置等等,有時(shí)我甚至記不住我需要尋找的標(biāo)記是否在紙條中了,終于有一天,這張紙條丟了,我只能呵呵并且從心底認(rèn)為,僅僅是順序存儲(chǔ)無(wú)法滿足我的需求,我需要管理這些內(nèi)容。

我想,最起碼我需要能把全套的盜墓筆記分為8本書吧,只要根據(jù)書名,比如邛樓石影,我就立刻能找到對(duì)應(yīng)的內(nèi)容,我立刻想到了最簡(jiǎn)單的解決方案,仍然使用順序存儲(chǔ),只不過(guò)在內(nèi)容錄入的時(shí)候,給每本書分100MB的存儲(chǔ)空間,這樣我如果想看第7本,那么直接從600MB偏移開始即可,那么一套盜墓筆記只需要800MB就可以存儲(chǔ),但是,我很快又有了一個(gè)更優(yōu)的方案,在每本書的100MB可用空間內(nèi),再進(jìn)行細(xì)分,給每章節(jié)進(jìn)行劃分,假設(shè)每本書有50章,那么每章節(jié)就是2MB空間,這樣每章節(jié)按照2MB對(duì)齊,我要找第6本書的第30章節(jié),就是(500 + 29 * 2)MB 偏移,我甚至都有點(diǎn)洋洋自得了,簡(jiǎn)單的設(shè)計(jì)一下就可以再也不用依賴那張小紙條(已遺失)了。

但是,很快我又遇到了新的挑戰(zhàn),因?yàn)檫@塊硬盤不是我的,開始說(shuō)好的800MB沒(méi)有了,我被要求只能使用8MB來(lái)存儲(chǔ)全套的盜墓筆記,原先的設(shè)計(jì)繼續(xù)使用,每章只能分到20KB,這樣有些內(nèi)容多的章節(jié)會(huì)越界,而有些內(nèi)容少的章節(jié)又不夠飽滿,那些沒(méi)有被利用起來(lái)的空間此時(shí)顯得的是那么的珍貴,于是我開始了小心翼翼字斟句酌的重新設(shè)計(jì)。

看起來(lái),順序存儲(chǔ)是最節(jié)約空間的,那么只有將小紙條(已遺失)的內(nèi)容也存儲(chǔ)在硬盤中了。于是,喝下一罐可樂(lè)后,我發(fā)覺(jué)將章節(jié)抽象成一個(gè)章節(jié)類是一個(gè)不錯(cuò)的注意,每個(gè)章節(jié)是該類的一個(gè)對(duì)象實(shí)例,類成員包括章節(jié)名稱,章節(jié)起始位置,章節(jié)字?jǐn)?shù),每個(gè)對(duì)象都64字節(jié)對(duì)齊,這樣400章的索引信息只需要25KB即可完成存儲(chǔ),我大大方方的將全部的章節(jié)類對(duì)象存儲(chǔ)在8MB的前32KB區(qū)域,后面剩余的全部順序存儲(chǔ)內(nèi)容,就這樣,隨著需求的不斷增加,我的設(shè)計(jì)也漸漸開始有文件系統(tǒng)的影子了,盡管我并不知道,但是一切就這樣發(fā)生了,是那么的自然。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11329

    瀏覽量

    209969
  • 文件系統(tǒng)
    +關(guān)注

    關(guān)注

    0

    文章

    287

    瀏覽量

    19931
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    轉(zhuǎn)載[紅塵有約]之完整版《DSP之SD卡與文件系統(tǒng)徹底研究

    :SD卡分類、C5509讀寫SD卡、解讀FAT32文件系統(tǒng)以及其它內(nèi)容。在編寫以及調(diào)試過(guò)程中,遇到些困難,在文中已經(jīng)標(biāo)注出來(lái)希望大家能少走彎路。同時(shí)也感謝廣大網(wǎng)友的支持,在解讀FAT
    發(fā)表于 03-03 09:47

    FAT32文件系統(tǒng)淺析

    FAT32文件系統(tǒng)淺析: Windows95 OSR2 和Windows 98 開始支持FAT32文件系統(tǒng),它是對(duì)早期DOS 的FAT16 文件系統(tǒng)的增強(qiáng),由于文件系統(tǒng)的核心- -
    發(fā)表于 09-14 08:02 ?62次下載

    FAT32文件系統(tǒng)結(jié)構(gòu)的技術(shù)參數(shù)分析

    FAT32文件系統(tǒng)結(jié)構(gòu)的技術(shù)參數(shù)分析:詳細(xì)分析了FAT32 的主引導(dǎo)記錄、FAT32引導(dǎo)記錄、文件分配表、文件目錄表、FAT32區(qū)在文件系統(tǒng)結(jié)構(gòu)中所處的位置FAT32
    發(fā)表于 09-26 10:31 ?57次下載

    XfS文件系統(tǒng),XfS文件系統(tǒng)是什么意思

    XfS文件系統(tǒng),XfS文件系統(tǒng)是什么意思 XfS文件系統(tǒng)是SGI開發(fā)的高級(jí)日志文件系統(tǒng),XFS極具伸縮,非常健壯。所幸的是SGI將其移植
    發(fā)表于 03-29 10:39 ?4270次閱讀

    FAT32文件系統(tǒng)是什么意思

    FAT32文件系統(tǒng)是什么意思  ()FAT32 文件系統(tǒng)將邏輯盤的空間劃分為三部分,依次是引導(dǎo)區(qū)(BOOT區(qū))、文件
    發(fā)表于 04-15 15:53 ?2w次閱讀

    fat32_fat32文件系統(tǒng)

    本內(nèi)容講述了fat32_fat32文件系統(tǒng)的基礎(chǔ)內(nèi)容,涉及FAT32定義,功能,fat32兼容等及fat32轉(zhuǎn)ntfs知識(shí)
    發(fā)表于 05-21 16:41 ?5974次閱讀

    debian安裝zfs文件系統(tǒng)

    ZFS文件系統(tǒng)的英文名稱為Zettabyte File System,也叫動(dòng)態(tài)文件系統(tǒng),是第個(gè)128位文件系統(tǒng)。最初是由Sun公司為Solaris 10操作
    的頭像 發(fā)表于 02-12 16:47 ?1.1w次閱讀
    debian安裝zfs<b class='flag-5'>文件系統(tǒng)</b>

    文件系統(tǒng)是什么?淺談EXT文件系統(tǒng)歷史

    在先前關(guān)于Linux文件系統(tǒng)的文章中,我很想去深入地討論更多EXT文件系統(tǒng)的特性的信息。所以,首先讓我們來(lái)回答這個(gè)問(wèn)題:什么是文件系統(tǒng)個(gè)文件系統(tǒng)
    發(fā)表于 06-28 09:03 ?5723次閱讀
    <b class='flag-5'>文件系統(tǒng)</b>是什么?淺談EXT<b class='flag-5'>文件系統(tǒng)</b>歷史

    Ext4文件系統(tǒng)新特性

    任何Ext3文件系統(tǒng)都可以輕松的遷移到Ext4文件系統(tǒng),你只需要在只讀模式下運(yùn)行幾條命令即可。這就意味著你完全可以不格式化硬盤、不重裝操作系統(tǒng)、不重裝軟件環(huán)境,就能夠順利的升級(jí)到Ext4文件系
    發(fā)表于 04-27 19:30 ?1314次閱讀

    詳細(xì)解讀NFS 文件系統(tǒng)源代碼

    NFS(Network File System,網(wǎng)絡(luò)文件系統(tǒng))是種基于網(wǎng)絡(luò)的文件系統(tǒng)。它可以將遠(yuǎn)端服務(wù)器文件系統(tǒng)的目錄掛載到本地文件系統(tǒng)
    發(fā)表于 05-13 09:45 ?3883次閱讀
    詳細(xì)<b class='flag-5'>解讀</b>NFS <b class='flag-5'>文件系統(tǒng)</b>源代碼

    FAT32文件系統(tǒng)說(shuō)明

    FAT32文件系統(tǒng)。在邏輯盤(硬盤的分區(qū))超過(guò) 512 兆字節(jié)時(shí)使用這種格式,會(huì)更高效地存儲(chǔ)數(shù)據(jù),減少硬盤空間的浪費(fèi),般還會(huì)使程序運(yùn)行加快,使用的計(jì)算機(jī)
    發(fā)表于 03-16 11:27 ?16次下載

    FAT32文件系統(tǒng)基礎(chǔ)知識(shí)

    FAT32文件系統(tǒng)基礎(chǔ)知識(shí)免費(fèi)下載。
    發(fā)表于 06-11 09:16 ?31次下載

    FATFS文件系統(tǒng)詳解

    文件系統(tǒng)負(fù)責(zé)管理和存儲(chǔ)文件信息的軟件機(jī)構(gòu)稱為文件管理系統(tǒng),簡(jiǎn)稱文件系統(tǒng)。即在磁盤上組織
    發(fā)表于 11-29 09:51 ?29次下載
    FATFS<b class='flag-5'>文件系統(tǒng)</b>詳解

    如何完善根文件系統(tǒng)

    在用 BusyBox 構(gòu)建根文件系統(tǒng)一中介紹了根文件系統(tǒng)的制作,rootfs制作完成后測(cè)試時(shí),提示無(wú)法運(yùn)行“/etc/init.d/rcS”這個(gè)文件,說(shuō)明rootfs仍然不夠完善,下
    的頭像 發(fā)表于 04-18 15:26 ?1207次閱讀
    如何完善根<b class='flag-5'>文件系統(tǒng)</b>

    服務(wù)器數(shù)據(jù)恢復(fù)—ocfs2文件系統(tǒng)被誤格式化為Ext4文件系統(tǒng)的數(shù)據(jù)恢復(fù)案例

    由于工作人員的誤操作,將Ext4文件系統(tǒng)誤裝入到存儲(chǔ)中Ocfs2文件系統(tǒng)數(shù)據(jù)卷上,導(dǎo)致原Ocfs2文件系統(tǒng)被格式化為Ext4文件系統(tǒng)。 由于Ext4
    的頭像 發(fā)表于 12-04 10:49 ?474次閱讀
    服務(wù)器數(shù)據(jù)恢復(fù)—ocfs2<b class='flag-5'>文件系統(tǒng)</b>被誤格式化為Ext4<b class='flag-5'>文件系統(tǒng)</b>的數(shù)據(jù)恢復(fù)案例