從磁盤分區(qū)到文件系統(tǒng)

磁盤

磁盤

柱面
扇區(qū):512字節(jié)

分區(qū)

磁盤分區(qū)

主分區(qū)旺韭、擴(kuò)展分區(qū)、邏輯分區(qū)
MBR:主引導(dǎo)程序(446)掏觉、分區(qū)表(16 * 4)区端、0xAA 55(其值是0x55 AA)
boot sector:自舉裝入程序區(qū)(本分區(qū)操作系統(tǒng)類型、數(shù)據(jù)區(qū)大小
根目錄區(qū)允許最大目錄項(xiàng)(在根目錄區(qū)最多創(chuàng)建多少個(gè)文件))

文件系統(tǒng)
超級(jí)塊副本 | 配置信息 | i-node圖 | 塊位圖 | i-node塊 | 目錄塊和數(shù)據(jù)塊

而inode map就是用來映射inode_array這個(gè)數(shù)組使用情況的一個(gè)位圖履腋,用法跟sector map類似珊燎。
每個(gè) i-node對(duì)應(yīng)一個(gè)文件惭嚣,用于存放文件名遵湖、文件屬性等內(nèi)容,inode_array就是把所有 i-node都放在這里晚吞,形成一個(gè)較大的數(shù)組

軟硬鏈接

符號(hào)鏈接又稱軟鏈接延旧,它創(chuàng)建了之后,擁有自己的i-節(jié)點(diǎn)號(hào)槽地,但是它的內(nèi)容卻是指向的鏈接的文件迁沫。這樣的機(jī)制就決定了軟鏈接可以跨越文件系統(tǒng)進(jìn)行鏈接。
硬鏈接創(chuàng)建了之后捌蚊,它的i-節(jié)點(diǎn)號(hào)是共用的鏈接的文件集畅,所以硬鏈接產(chǎn)生的文件并不需要多大的空間,而且修改了其中一個(gè)的內(nèi)容缅糟,另外一個(gè)文件的內(nèi)容也會(huì)隨之改變。由于是共用i-節(jié)點(diǎn),又由于磁盤可能有多個(gè)文件系統(tǒng)涣仿,而每個(gè)文件系統(tǒng)的i-節(jié)點(diǎn)是重復(fù)的咏闪,所以跨文件系統(tǒng)的硬鏈接是不被允許的。

進(jìn)程操作文件


內(nèi)核中赴涵,對(duì)應(yīng)于每個(gè)進(jìn)程都有一個(gè)文件描述符表媒怯,表示這個(gè)進(jìn)程打開的所有文件。文件描述表中每一項(xiàng)都是一個(gè)指針髓窜,指向一個(gè)用于描述打開的文件的數(shù)據(jù)塊———file對(duì)象扇苞,file對(duì)象中描述了文件的打開模式,讀寫位置等重要信息,當(dāng)進(jìn)程打開一個(gè)文件時(shí)杨拐,內(nèi)核就會(huì)創(chuàng)建一個(gè)新的file對(duì)象祈餐。需要注意的是,file對(duì)象不是專屬于某個(gè)進(jìn)程的哄陶,不同進(jìn)程的文件描述符表中的指針可以指向相同的file對(duì)象帆阳,從而共享這個(gè)打開的文件。file對(duì)象有引用計(jì)數(shù)屋吨,記錄了引用這個(gè)對(duì)象的文件描述符個(gè)數(shù)蜒谤,只有當(dāng)引用計(jì)數(shù)為0時(shí),內(nèi)核才銷毀file對(duì)象至扰,因此某個(gè)進(jìn)程關(guān)閉文件鳍徽,不影響與之共享同一個(gè)file對(duì)象的進(jìn)程.

file對(duì)象中包含一個(gè)指針,指向dentry對(duì)象敢课。dentry對(duì)象代表一個(gè)獨(dú)立的文件路徑阶祭,如果一個(gè)文件路徑被打開多次,那么會(huì)建立多個(gè)file對(duì)象直秆,但它們都指向同一個(gè)dentry對(duì)象濒募。
  dentry對(duì)象中又包含一個(gè)指向inode對(duì)象的指針。inode對(duì)象代表一個(gè)獨(dú)立文件圾结。因?yàn)榇嬖谟叉溄优c符號(hào)鏈接瑰剃,因此不同的dentry對(duì)象可以指向相同的inode對(duì)象.inode 對(duì)象包含了最終對(duì)文件進(jìn)行操作所需的所有信息,如文件系統(tǒng)類型筝野、文件的操作方法晌姚、文件的權(quán)限、訪問日期等歇竟。
  打開文件后挥唠,進(jìn)程得到的文件描述符實(shí)質(zhì)上就是文件描述符表的下標(biāo),內(nèi)核根據(jù)這個(gè)下標(biāo)值去訪問相應(yīng)的文件對(duì)象焕议,從而實(shí)現(xiàn)對(duì)文件的操作宝磨。
########注意,同一個(gè)進(jìn)程多次打開同一個(gè)文件時(shí)号坡,內(nèi)核會(huì)創(chuàng)建多個(gè)file對(duì)象懊烤。
  當(dāng)進(jìn)程使用fork系統(tǒng)調(diào)用創(chuàng)建一個(gè)子進(jìn)程后,子進(jìn)程將繼承父進(jìn)程的文件描述符表宽堆,因此在父進(jìn)程中打開的文件可以在子進(jìn)程中用同一個(gè)描述符訪問腌紧。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市畜隶,隨后出現(xiàn)的幾起案子壁肋,更是在濱河造成了極大的恐慌号胚,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,907評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件浸遗,死亡現(xiàn)場(chǎng)離奇詭異猫胁,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)跛锌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門弃秆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人髓帽,你說我怎么就攤上這事菠赚。” “怎么了郑藏?”我有些...
    開封第一講書人閱讀 164,298評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵衡查,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我必盖,道長(zhǎng)拌牲,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,586評(píng)論 1 293
  • 正文 為了忘掉前任歌粥,我火速辦了婚禮塌忽,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘阁吝。我一直安慰自己砚婆,他們只是感情好械拍,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評(píng)論 6 392
  • 文/花漫 我一把揭開白布突勇。 她就那樣靜靜地躺著,像睡著了一般坷虑。 火紅的嫁衣襯著肌膚如雪甲馋。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,488評(píng)論 1 302
  • 那天迄损,我揣著相機(jī)與錄音定躏,去河邊找鬼。 笑死芹敌,一個(gè)胖子當(dāng)著我的面吹牛痊远,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播氏捞,決...
    沈念sama閱讀 40,275評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼碧聪,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了液茎?” 一聲冷哼從身側(cè)響起逞姿,我...
    開封第一講書人閱讀 39,176評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤辞嗡,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后滞造,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體续室,經(jīng)...
    沈念sama閱讀 45,619評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評(píng)論 3 336
  • 正文 我和宋清朗相戀三年谒养,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了挺狰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,932評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡买窟,死狀恐怖她渴,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蔑祟,我是刑警寧澤趁耗,帶...
    沈念sama閱讀 35,655評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站疆虚,受9級(jí)特大地震影響苛败,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜径簿,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評(píng)論 3 329
  • 文/蒙蒙 一罢屈、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧篇亭,春花似錦缠捌、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至柔昼,卻和暖如春哑芹,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背捕透。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工聪姿, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人乙嘀。 一個(gè)月前我還...
    沈念sama閱讀 48,095評(píng)論 3 370
  • 正文 我出身青樓末购,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親虎谢。 傳聞我的和親對(duì)象是個(gè)殘疾皇子盟榴,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容