從之前的幾章可以知道,主引導程序的代碼量不能超過512字節(jié),但是在實際中我們需要突破512字節(jié)的限制
突破限制的思路-主引導程序
1.完成最基本的初始化工作
2.從存儲介質中加載程序到內存中
3.將控制權交由新加載的程序執(zhí)行
但是在這會出現(xiàn)問題-主引導程序如何加載存儲介質中的其它程序?
文件系統(tǒng)--存儲介質上組織文件數(shù)據(jù)的方法-主要包含數(shù)據(jù)區(qū)、根目錄、FAT2、FAT1、引導扇區(qū)如圖所示
A.文件系統(tǒng)示例(用到的虛擬網(wǎng)盤時F12)
1.FAT12是DOS時代的早期文件系統(tǒng)
2.FAT12結構非常簡單,一直沿用于軟盤
3.FAT12的基本組織單位-字節(jié):基本數(shù)據(jù)單位、扇區(qū):磁盤中的最小數(shù)據(jù)單元、簇:一個或者多個扇區(qū)
通過之前的介紹,可以得出解決方案
1.使用FAT12對軟盤(data..img自定義的)進行格式化
2.編寫可執(zhí)行程序(Loader),并將其拷貝到軟盤中
3.主引導程序(Boot)在文件系統(tǒng)中查找Loader
4.將Loader復制到內存中,并跳轉到入口處執(zhí)行
實驗-往虛擬軟盤中寫入文件,在這里我們需要一些準備的基本bochs、FreeDos、bximage,主要步驟是創(chuàng)建虛擬軟盤然后在FreeDos中進行格式化,最后將data.img掛載Linux中,并寫入文件
通過bximage命令生成data.img,并在配置中將其并入到freeDos.img上
通過運行之后生成,然后通過format B命令對B盤進行格式化,B盤就是虛擬軟驅,將其格式化虛擬軟盤data.img就有了文件系統(tǒng)就是Fata12文件系統(tǒng),然后通過終端以及命令生成之前提到的原材料并將其拷貝至軟盤中
最后通過命令進行查看虛擬軟盤下的文件,以及文件內的內容
B.對FAT12進行深入的理解
FAT12文件系統(tǒng)由引導區(qū),FAT表,根目錄項表和文件數(shù)據(jù)區(qū)組成
FAT12的主引導區(qū)--主引導區(qū)存儲的比較重要的信息是文件系統(tǒng)的類型,文件系統(tǒng)邏輯扇區(qū)總數(shù),每簇包含的扇區(qū)數(shù),等。主引導區(qū)最后以0x55AA兩個字節(jié)作為結束,共占用一個扇區(qū)
通過實驗的對比發(fā)現(xiàn),與表格是一一對應的
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供宜秀網(wǎng)站建設、宜秀做網(wǎng)站、宜秀網(wǎng)站設計、宜秀網(wǎng)站制作等企業(yè)網(wǎng)站建設、網(wǎng)頁設計與制作、宜秀企業(yè)網(wǎng)站模板建站服務,10年宜秀做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡服務。
Q:如何在FAT12根目錄中查找?guī)煼洞嬖谀繕宋募?br/>A.根目錄區(qū)的大小和位置有計算公式
B.FAT12文件系統(tǒng)中的根目錄區(qū)--根目錄區(qū)由目錄項構成,每一個根目錄項代表根目錄中的一個文件索引
目錄項的關鍵成員
DIR_Name--文件名(用于判斷是否為目標文件)
DIR_FstClus--文件數(shù)據(jù)起始存儲位置(用于確定讀取位置)
DIR_FileSize--文件大小(用于確定讀取的字節(jié)數(shù))
我們要知道還有個FAT表,它是FAT12的數(shù)據(jù)組織核心
1.FAT1和FAT2是相互備份的關系,數(shù)據(jù)內容完全一致
2.FAT表是一個關系圖,記錄了文件數(shù)據(jù)的先后關系
3.每一個FAT表暫用12比特
4.FAT的前兩個表項規(guī)定不使用
小結
1.FAT12根目錄區(qū)記錄了文件的起始簇號和長度
2.通過查找根目錄區(qū)能夠確定是否存在目標文件
3.FAT12文件數(shù)據(jù)的組織使用了單鏈表的思想--文件數(shù)據(jù)離散的分布于存儲介質中,文件數(shù)據(jù)通過FAT項進行關聯(lián)
網(wǎng)站欄目:操作系統(tǒng)--主引導程序的擴展
標題來源:http://chinadenli.net/article10/gjsggo.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、網(wǎng)站排名、App開發(fā)、網(wǎng)站導航、、服務器托管
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)