操作系統(tǒng)--主引導(dǎo)程序的擴(kuò)展

一.主引導(dǎo)程序上

從之前的幾章可以知道,主引導(dǎo)程序的代碼量不能超過(guò)512字節(jié),但是在實(shí)際中我們需要突破512字節(jié)的限制
突破限制的思路-主引導(dǎo)程序
1.完成最基本的初始化工作
2.從存儲(chǔ)介質(zhì)中加載程序到內(nèi)存中
3.將控制權(quán)交由新加載的程序執(zhí)行操作系統(tǒng)--主引導(dǎo)程序的擴(kuò)展
但是在這會(huì)出現(xiàn)問(wèn)題-主引導(dǎo)程序如何加載存儲(chǔ)介質(zhì)中的其它程序?
文件系統(tǒng)--存儲(chǔ)介質(zhì)上組織文件數(shù)據(jù)的方法-主要包含數(shù)據(jù)區(qū)、根目錄、FAT2、FAT1、引導(dǎo)扇區(qū)如圖所示
操作系統(tǒng)--主引導(dǎo)程序的擴(kuò)展
A.文件系統(tǒng)示例(用到的虛擬網(wǎng)盤(pán)時(shí)F12)
1.FAT12是DOS時(shí)代的早期文件系統(tǒng)
2.FAT12結(jié)構(gòu)非常簡(jiǎn)單,一直沿用于軟盤(pán)
3.FAT12的基本組織單位-字節(jié):基本數(shù)據(jù)單位、扇區(qū):磁盤(pán)中的最小數(shù)據(jù)單元、簇:一個(gè)或者多個(gè)扇區(qū)
通過(guò)之前的介紹,可以得出解決方案
1.使用FAT12對(duì)軟盤(pán)(data..img自定義的)進(jìn)行格式化
2.編寫(xiě)可執(zhí)行程序(Loader),并將其拷貝到軟盤(pán)中
3.主引導(dǎo)程序(Boot)在文件系統(tǒng)中查找Loader
4.將Loader復(fù)制到內(nèi)存中,并跳轉(zhuǎn)到入口處執(zhí)行
實(shí)驗(yàn)-往虛擬軟盤(pán)中寫(xiě)入文件,在這里我們需要一些準(zhǔn)備的基本bochs、FreeDos、bximage,主要步驟是創(chuàng)建虛擬軟盤(pán)然后在FreeDos中進(jìn)行格式化,最后將data.img掛載Linux中,并寫(xiě)入文件
操作系統(tǒng)--主引導(dǎo)程序的擴(kuò)展
通過(guò)bximage命令生成data.img,并在配置中將其并入到freeDos.img上
操作系統(tǒng)--主引導(dǎo)程序的擴(kuò)展
通過(guò)運(yùn)行之后生成,然后通過(guò)format B命令對(duì)B盤(pán)進(jìn)行格式化,B盤(pán)就是虛擬軟驅(qū),將其格式化虛擬軟盤(pán)data.img就有了文件系統(tǒng)就是Fata12文件系統(tǒng),然后通過(guò)終端以及命令生成之前提到的原材料并將其拷貝至軟盤(pán)中
操作系統(tǒng)--主引導(dǎo)程序的擴(kuò)展
最后通過(guò)命令進(jìn)行查看虛擬軟盤(pán)下的文件,以及文件內(nèi)的內(nèi)容
操作系統(tǒng)--主引導(dǎo)程序的擴(kuò)展操作系統(tǒng)--主引導(dǎo)程序的擴(kuò)展操作系統(tǒng)--主引導(dǎo)程序的擴(kuò)展
B.對(duì)FAT12進(jìn)行深入的理解
FAT12文件系統(tǒng)由引導(dǎo)區(qū),FAT表,根目錄項(xiàng)表和文件數(shù)據(jù)區(qū)組成
操作系統(tǒng)--主引導(dǎo)程序的擴(kuò)展
FAT12的主引導(dǎo)區(qū)--主引導(dǎo)區(qū)存儲(chǔ)的比較重要的信息是文件系統(tǒng)的類型,文件系統(tǒng)邏輯扇區(qū)總數(shù),每簇包含的扇區(qū)數(shù),等。主引導(dǎo)區(qū)最后以0x55AA兩個(gè)字節(jié)作為結(jié)束,共占用一個(gè)扇區(qū)
操作系統(tǒng)--主引導(dǎo)程序的擴(kuò)展操作系統(tǒng)--主引導(dǎo)程序的擴(kuò)展
通過(guò)實(shí)驗(yàn)的對(duì)比發(fā)現(xiàn),與表格是一一對(duì)應(yīng)的

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供宜秀網(wǎng)站建設(shè)、宜秀做網(wǎng)站、宜秀網(wǎng)站設(shè)計(jì)、宜秀網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、宜秀企業(yè)網(wǎng)站模板建站服務(wù),10年宜秀做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

二.主引導(dǎo)程序的擴(kuò)展下

Q:如何在FAT12根目錄中查找?guī)煼洞嬖谀繕?biāo)文件?
A.根目錄區(qū)的大小和位置有計(jì)算公式

操作系統(tǒng)--主引導(dǎo)程序的擴(kuò)展
B.FAT12文件系統(tǒng)中的根目錄區(qū)--根目錄區(qū)由目錄項(xiàng)構(gòu)成,每一個(gè)根目錄項(xiàng)代表根目錄中的一個(gè)文件索引
操作系統(tǒng)--主引導(dǎo)程序的擴(kuò)展
目錄項(xiàng)的關(guān)鍵成員
DIR_Name--文件名(用于判斷是否為目標(biāo)文件)
DIR_FstClus--文件數(shù)據(jù)起始存儲(chǔ)位置(用于確定讀取位置)
DIR_FileSize--文件大小(用于確定讀取的字節(jié)數(shù))
我們要知道還有個(gè)FAT表,它是FAT12的數(shù)據(jù)組織核心
1.FAT1和FAT2是相互備份的關(guān)系,數(shù)據(jù)內(nèi)容完全一致
2.FAT表是一個(gè)關(guān)系圖,記錄了文件數(shù)據(jù)的先后關(guān)系
3.每一個(gè)FAT表暫用12比特
4.FAT的前兩個(gè)表項(xiàng)規(guī)定不使用
操作系統(tǒng)--主引導(dǎo)程序的擴(kuò)展操作系統(tǒng)--主引導(dǎo)程序的擴(kuò)展
小結(jié)
1.FAT12根目錄區(qū)記錄了文件的起始簇號(hào)和長(zhǎng)度
2.通過(guò)查找根目錄區(qū)能夠確定是否存在目標(biāo)文件
3.FAT12文件數(shù)據(jù)的組織使用了單鏈表的思想--文件數(shù)據(jù)離散的分布于存儲(chǔ)介質(zhì)中,文件數(shù)據(jù)通過(guò)FAT項(xiàng)進(jìn)行關(guān)聯(lián)

網(wǎng)站欄目:操作系統(tǒng)--主引導(dǎo)程序的擴(kuò)展
標(biāo)題來(lái)源:http://muchs.cn/article10/gjsggo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站網(wǎng)站排名、App開(kāi)發(fā)、網(wǎng)站導(dǎo)航、、服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)