這篇文章給大家介紹如何實(shí)現(xiàn)ext2 block碎片處理,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
成都創(chuàng)新互聯(lián)公司長(zhǎng)期為上千客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為前鋒企業(yè)提供專(zhuān)業(yè)的網(wǎng)站設(shè)計(jì)制作、網(wǎng)站制作,前鋒網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。
機(jī)械硬盤(pán)中數(shù)據(jù)分散在一個(gè)個(gè)block中。如下圖示的場(chǎng)景就會(huì)產(chǎn)生碎片。
新建文件或者寫(xiě)入文件時(shí),需要分配連續(xù)的block,碎片的存在會(huì)導(dǎo)致分配困難,甚至是無(wú)法分配。
讀取文件時(shí),碎片導(dǎo)致不能連續(xù)讀取,機(jī)械硬盤(pán)的磁頭尋道時(shí)間增長(zhǎng),文件讀寫(xiě)變慢。
改進(jìn)塊分配的算法,減少碎片的產(chǎn)生。這不能從根本上避免碎片的產(chǎn)生。
出現(xiàn)碎片后,進(jìn)行碎片清理,Windows的磁盤(pán)就需要經(jīng)常性的碎片清理。即移動(dòng)文件的數(shù)據(jù)塊,使剩余的block盡可能連續(xù)。
ext2通過(guò)以下方式減少磁盤(pán)碎片。
通過(guò)block group方式組織block;分配的block都在block group內(nèi),減少文件反復(fù)創(chuàng)建刪除造成碎片的可能。
為每個(gè)inode分配block時(shí),采取預(yù)留一部分block。預(yù)留之后,再次分配很可能分配到在預(yù)留窗口內(nèi)的塊,這樣就不會(huì)產(chǎn)生碎片了。
每個(gè)inode都有一個(gè)關(guān)聯(lián)的節(jié)點(diǎn);會(huì)不會(huì)占用的資源很多?不會(huì),因?yàn)橐粋€(gè)文件系統(tǒng)中打開(kāi)的文件數(shù)量是有限的,如果用戶打開(kāi)了很多文件,那么消耗增高,也在情理之中。
預(yù)留窗口在運(yùn)行時(shí)處理,不會(huì)寫(xiě)到磁盤(pán)上;
預(yù)留窗口利用內(nèi)核的基礎(chǔ)設(shè)施rbtree組織;樹(shù)的值是窗口的開(kāi)始和結(jié)束的塊號(hào);
可以在運(yùn)行時(shí)擴(kuò)展;
預(yù)留窗口可以跨越block group;
關(guān)于如何實(shí)現(xiàn)ext2 block碎片處理就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。