我們當(dāng)然可以從硬盤(pán)第0個(gè)扇區(qū)開(kāi)始放“學(xué)習(xí)資料”,那么問(wèn)題來(lái)了,當(dāng)我們把好多“學(xué)習(xí)資料”放進(jìn)去之后,如果我想看第2個(gè),怎么取出來(lái)?
元數(shù)據(jù)
要想取出某一份“學(xué)習(xí)資料”,我們肯定要有一份表格咯,里面要記下來(lái)每一份“學(xué)習(xí)資料”的開(kāi)頭在哪個(gè)扇區(qū),一共占多少扇區(qū),這份資料叫啥名字……這些“學(xué)習(xí)資料”本身內(nèi)容以外的東西就是元數(shù)據(jù)。
好比一個(gè)人,實(shí)際上就是一些原子構(gòu)成的分子,有機(jī)結(jié)合起來(lái)的一團(tuán)骨肉,這個(gè)人的名字、身高、體重、銀行卡+支付寶+微信里的財(cái)產(chǎn)……都是元數(shù)據(jù)。
我們當(dāng)然可以自己拿個(gè)小本本,用筆記下這些“學(xué)習(xí)資料”的元數(shù)據(jù)。不過(guò),我們?yōu)槭裁床荒馨?strong>元數(shù)據(jù)直接放在硬盤(pán)里,然后找一個(gè)小碼農(nóng)寫(xiě)個(gè)程序,在我們想“學(xué)習(xí)”時(shí),先把這個(gè)表格讀出來(lái)呢?
再進(jìn)一步,我們?yōu)槭裁床荒茉俳o這個(gè)小碼農(nóng)一些好處,讓他寫(xiě)個(gè)程序,在我們知道“學(xué)習(xí)資料”的名字時(shí),可以根據(jù)元數(shù)據(jù)直接把“學(xué)習(xí)資料”讀出來(lái)呢?
文件系統(tǒng)
這個(gè)小碼農(nóng)要做的事實(shí)際上就是實(shí)現(xiàn)一個(gè)文件系統(tǒng)。他得設(shè)計(jì)一個(gè)文件系統(tǒng),這個(gè)文件系統(tǒng)要約定好硬盤(pán)上這個(gè)文件系統(tǒng)的管轄區(qū)域內(nèi)的每個(gè)扇區(qū)是用來(lái)干什么的。
文件系統(tǒng)必須約定很多問(wèn)題。比如,哪里放元數(shù)據(jù)?元數(shù)據(jù)有哪些?用什么數(shù)據(jù)結(jié)構(gòu)描述?怎么給文件內(nèi)容分配扇區(qū)?一個(gè)文件的創(chuàng)建、刪除、寫(xiě)入、讀出等操作該如何進(jìn)行……
幸運(yùn)的是,我們不用找小碼農(nóng)來(lái)幫忙搞定這些亂七八糟的事情了,給他的好處都可以省下了。計(jì)算機(jī)界的前輩們?cè)谕脖P(pán)里放“學(xué)習(xí)資料”之前,早就解決了這些問(wèn)題。像windows的FAT系列就是前輩們?yōu)榱吮阌谖覀兇嫒 皩W(xué)習(xí)資料”所創(chuàng)造的成果。