《操作系統(tǒng)原理》課程設(shè)計(jì)報(bào)告微型操作系統(tǒng)的設(shè)計(jì)

上傳人:仙*** 文檔編號(hào):31797065 上傳時(shí)間:2021-10-12 格式:DOC 頁(yè)數(shù):21 大小:272.02KB
收藏 版權(quán)申訴 舉報(bào) 下載
《操作系統(tǒng)原理》課程設(shè)計(jì)報(bào)告微型操作系統(tǒng)的設(shè)計(jì)_第1頁(yè)
第1頁(yè) / 共21頁(yè)
《操作系統(tǒng)原理》課程設(shè)計(jì)報(bào)告微型操作系統(tǒng)的設(shè)計(jì)_第2頁(yè)
第2頁(yè) / 共21頁(yè)
《操作系統(tǒng)原理》課程設(shè)計(jì)報(bào)告微型操作系統(tǒng)的設(shè)計(jì)_第3頁(yè)
第3頁(yè) / 共21頁(yè)

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《《操作系統(tǒng)原理》課程設(shè)計(jì)報(bào)告微型操作系統(tǒng)的設(shè)計(jì)》由會(huì)員分享,可在線閱讀,更多相關(guān)《《操作系統(tǒng)原理》課程設(shè)計(jì)報(bào)告微型操作系統(tǒng)的設(shè)計(jì)(21頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、重慶科技學(xué)院 《操作系統(tǒng)原理》 課程設(shè)計(jì)報(bào)告 學(xué) 院:電氣與信息工程學(xué)院 專(zhuān)業(yè)班級(jí): 計(jì)科應(yīng)08 學(xué)生姓名: 學(xué) 號(hào): 設(shè)計(jì)地點(diǎn)(單位)___ ______ _ ____ __ _ _ 設(shè)計(jì)題目:____ __ 微型操作系統(tǒng)的設(shè)計(jì)________________ 完成日期: 2011 年 6 月 17 日 指導(dǎo)教師評(píng)語(yǔ): ______________________ _________________ ______

2、___________________________________________________________________________________________________________________________________________________________________________________________________ 成績(jī)(五級(jí)記分制):______ __________ 指導(dǎo)教師(簽字):________ ________

3、 重慶科技學(xué)院 課程設(shè)計(jì)任務(wù)書(shū) 設(shè)計(jì)題目:微型操作系統(tǒng)的設(shè)計(jì) 學(xué)生姓名 課程名稱(chēng) 操作系統(tǒng)原理課程設(shè)計(jì) 專(zhuān)業(yè)班級(jí) 計(jì)科應(yīng)08 地 點(diǎn) I524 起止時(shí)間 2011年6月12日-- 2011年6月16日 設(shè)計(jì)內(nèi)容及要求 (1) 配置操作系統(tǒng)編寫(xiě)的所需的環(huán)境(虛擬機(jī)的建立和相應(yīng)環(huán)境建立),以準(zhǔn)備相關(guān)的必須工具的準(zhǔn)備,并學(xué)會(huì)相關(guān)工具的使用,為以后編寫(xiě)一個(gè)微操作系統(tǒng)奠定基礎(chǔ)和準(zhǔn)備平臺(tái)。 (2) 學(xué)習(xí)NASM匯編器在本次設(shè)計(jì)中的使用。 (3) 學(xué)習(xí)裸機(jī)啟動(dòng)的過(guò)程,消化操作系統(tǒng)引導(dǎo)程序的結(jié)構(gòu),在此基礎(chǔ)上,完成在實(shí)模式下從軟盤(pán)引導(dǎo)計(jì)算機(jī)的程序編寫(xiě)。 (4) 學(xué)習(xí)

4、本次設(shè)計(jì)需要的實(shí)模式到保護(hù)模式切換的相關(guān)知識(shí)。理解GDT在保護(hù)模式的工作機(jī)理 (5) 編寫(xiě)在保護(hù)模式下的引導(dǎo)程序,并用C語(yǔ)言模擬寫(xiě)一個(gè)“內(nèi)核”,并實(shí)現(xiàn)在保護(hù)模下通過(guò)引導(dǎo)程序啟動(dòng)計(jì)算機(jī)并將該“內(nèi)核”加載到內(nèi)存中。最后切換到內(nèi)核。 設(shè)計(jì) 參數(shù) (1) 寫(xiě)出編寫(xiě)一個(gè)操作系統(tǒng)所需的環(huán)境和操作說(shuō)明書(shū)。 (2) 總結(jié)計(jì)算機(jī)啟動(dòng)順序和具體過(guò)程。 (3) 實(shí)現(xiàn)在實(shí)模式下系統(tǒng)引導(dǎo)程序的編寫(xiě)。 (4) 理解消化實(shí)模式到保護(hù)模式切換原理以及相關(guān)的數(shù)據(jù)結(jié)構(gòu)和工作過(guò)程,并實(shí)現(xiàn)之。 (5) 完成保護(hù)模式下的引導(dǎo)程序,并完成“內(nèi)核”的加載,并使“內(nèi)核”運(yùn)行起來(lái)。 附加要求:請(qǐng)?jiān)谠O(shè)計(jì)的課后完成具有進(jìn)程調(diào)

5、度和管理的內(nèi)核的編寫(xiě)。 進(jìn)度 要求 6月12日布置任務(wù),對(duì)各個(gè)任務(wù)的基礎(chǔ)知識(shí)進(jìn)行講解 6月12日 安裝環(huán)境,并熟悉相關(guān)工具的使用。 6月13日完成實(shí)模式下引導(dǎo)程序的編寫(xiě)。 6月14日完成實(shí)模式與保護(hù)模式的切換代碼的設(shè)計(jì)。 6月15日完成實(shí)模式引導(dǎo)程序和內(nèi)核加載程序編寫(xiě)。 6月16日完成答辯和報(bào)告撰寫(xiě)。 參考資料 隨任務(wù)布置的相關(guān)電子文檔。 其它 說(shuō)明 1.本表應(yīng)在每次實(shí)施前一周由負(fù)責(zé)教師填寫(xiě)二份,院系審批后交院系辦備案,一份由負(fù)責(zé)教師留用。2.若填寫(xiě)內(nèi)容較多可另紙附后。 3.一題多名學(xué)生共用的,在設(shè)計(jì)內(nèi)容、參數(shù)、要求等方面應(yīng)有所區(qū)別。 教研室主任:

6、 指導(dǎo)教師: 年 月 日 重慶科技學(xué)院《操作系統(tǒng)原理》課程設(shè)計(jì)報(bào)告 摘要 操作系統(tǒng)是用于控制和管理計(jì)算機(jī)系統(tǒng)內(nèi)各種軟硬件資源、合理有效地組織協(xié)調(diào)計(jì)算機(jī)系統(tǒng)的工作流程提供友好的用戶(hù)接口以方便用戶(hù)使用計(jì)算機(jī)的程序集合。 本次設(shè)計(jì)主要基于在實(shí)模式下系統(tǒng)引導(dǎo)程序的編寫(xiě),理解消化實(shí)模式到保護(hù)模式切換原理以及相關(guān)的數(shù)據(jù)結(jié)構(gòu)和工作過(guò)程,并實(shí)現(xiàn)之,完成保護(hù)模式下的引導(dǎo)程序,并完成“內(nèi)核”的加載,并使“內(nèi)核”運(yùn)行起來(lái)。所用到的設(shè)備有Windows XP系統(tǒng)PC機(jī)

7、一臺(tái)、裝有Linux系統(tǒng)的PC機(jī)一臺(tái)、VMware虛擬機(jī)一臺(tái)、winhex以及NASM編譯軟件。 結(jié)合本身的實(shí)際情況,寫(xiě)出設(shè)計(jì)要求的操作系統(tǒng)。 關(guān)鍵詞:操作系統(tǒng) 引導(dǎo) 模式 內(nèi)核 NASM 16 目錄 摘要 I 1 需求分析 1 1.1功能需求分析 1 1.2 性能需求分析 1 1.3 運(yùn)行環(huán)境需求 2 1.3.1 設(shè)備 2 1.3.2 運(yùn)行環(huán)境 2 2系統(tǒng)設(shè)計(jì) 4 2.1 引導(dǎo)程序和模式切換功能設(shè)計(jì) 4 2.1.1 引導(dǎo)程序設(shè)計(jì) 4 2.1.2 模式切換功能

8、設(shè)計(jì) 5 2.2 內(nèi)核設(shè)計(jì) 8 2.3 映像文件的設(shè)計(jì) 11 3系統(tǒng)測(cè)試 12 總結(jié) 14 致謝 15 參考文獻(xiàn) 16 1 需求分析 無(wú)論什么項(xiàng)目或者是軟件,我們首先必需弄清它的需求分析,才能達(dá)到我們開(kāi)發(fā)的目的,而不是在那盲目的開(kāi)發(fā),最后卻不知道產(chǎn)品所需求的功能。 1.1功能需求分析 PC機(jī)開(kāi)機(jī)后,CPU被設(shè)定為執(zhí)行FFFF:0單元處的指令,此處有一條跳轉(zhuǎn)指令。CPU執(zhí)行該指令后,轉(zhuǎn)去執(zhí)行BIOS中的硬件系統(tǒng)測(cè)試和初始化程序。 初始化程序?qū)⒔IOS所支持的中斷向量,即將BIOS提供的中斷例程的入口地址登記在中斷向量表中。 硬件系統(tǒng)檢測(cè)和初始化完成后,調(diào)用

9、int 19h進(jìn)行操作系統(tǒng)的引導(dǎo)。 如果設(shè)為從軟盤(pán)啟動(dòng)操作系統(tǒng),則int 19h將主要完成以下工作: (1) 控制0號(hào)軟驅(qū),讀取軟盤(pán)0道0面1扇區(qū)的內(nèi)容到 0:7C00 (2) 將CS:IP指向0:7C00 軟盤(pán)的0道0面1扇區(qū)中裝有操作系統(tǒng)引導(dǎo)程序。int 19h將其裝入到內(nèi)存0:7C00處后,設(shè)置CPU從0:7C00開(kāi)始執(zhí)行此處的引導(dǎo)程序,操作系統(tǒng)被激活,控制計(jì)算機(jī)。 如果在0號(hào)軟驅(qū)中沒(méi)有軟盤(pán),或發(fā)生軟盤(pán)I/O錯(cuò)誤,則int 19h將主要完成以下工作: (1) 讀取硬盤(pán)C的0道0面1扇區(qū)的內(nèi)容到0:7C00 (2) 將CS:IP指向0:7C00 由以上描述可

10、知,若我們想要控制引導(dǎo)過(guò)程,只需: (1) 編寫(xiě)程序 (2) 將該程序代碼寫(xiě)入軟盤(pán)或硬盤(pán)C的0道0面1扇區(qū)。 因?yàn)橐陨瞎ぷ鲿?huì)破壞軟盤(pán)或硬盤(pán)原有數(shù)據(jù),因此本次實(shí)驗(yàn),我們選擇軟盤(pán)存放我們自己的啟動(dòng)程序。 1.2 性能需求分析 該操作系統(tǒng)在性能上應(yīng)達(dá)到如下要求: 1)操作簡(jiǎn)單,界面友好:本系統(tǒng)是采用的虛擬機(jī)軟盤(pán)映像文件驅(qū)動(dòng)引導(dǎo)程序設(shè)計(jì)的啟動(dòng)模式,操作起來(lái)簡(jiǎn)單方便快捷;界面可以根據(jù)自己的喜好設(shè)成不同的格式和布局。 2)環(huán)境穩(wěn)定:該操作系統(tǒng)的設(shè)計(jì)主要是引導(dǎo)程序的引入、實(shí)模式下的運(yùn)行、實(shí)模式到保護(hù)模式的轉(zhuǎn)換以及保護(hù)模式下內(nèi)核的加載運(yùn)行,所以運(yùn)行環(huán)境必須穩(wěn)定可

11、靠。 3)可擴(kuò)展性:系統(tǒng)在結(jié)構(gòu)上應(yīng)該具有很好的擴(kuò)展性,便于以后系統(tǒng)功能的擴(kuò)展與開(kāi)發(fā)。 1.3 運(yùn)行環(huán)境需求 1.3.1 設(shè)備 基于Windows環(huán)境平臺(tái)下匯編編輯工具(EditPlus)或者基于Linux環(huán)境下的文本編輯器;NASM編譯器;Winhex16進(jìn)制編輯器;裝有虛擬機(jī)的Windows XP系統(tǒng)PC機(jī)一臺(tái);Linux系統(tǒng)PC機(jī)一臺(tái)。 1.3.2 運(yùn)行環(huán)境 本次課程設(shè)計(jì)由于是通過(guò)虛擬機(jī)演示,主要用到虛擬機(jī)的軟盤(pán)通過(guò)鏡像文件引導(dǎo)加載程序,下面簡(jiǎn)單介紹一下運(yùn)行平臺(tái)上的工具以及文件。 1)虛擬機(jī)VMware 1)關(guān)于VMware幾個(gè)重要概念 1. VM(Virtual M

12、achine)——虛擬機(jī),指由Vmware模擬出來(lái)的一臺(tái)虛擬的計(jì)算機(jī),也即邏輯上的一臺(tái)計(jì)算機(jī); 2.HOST——指物理存在的計(jì)算機(jī),Host′s OS指HOST上運(yùn)行的操作系統(tǒng); 3. Guest OS——指運(yùn)行在VM上的操作系統(tǒng)。例如在一臺(tái)安裝了Windows NT的計(jì)算機(jī)上安裝了Vmware,那么,HOST指的是安裝Windows NT的這臺(tái)計(jì)算機(jī),其Host′s OS為Windows NT。VM上運(yùn)行的是Linux,那么Linux即為Guest OS。 2)軟盤(pán)映像文件 映像文件是將資料和程序結(jié)合而成的文件,它將來(lái)源資料經(jīng)過(guò)格式轉(zhuǎn)換后在硬盤(pán)上存成 與目的光盤(pán)內(nèi)容完全一樣的

13、文件,然后我們可以將這個(gè)文件以一比一對(duì)應(yīng)的方式刻入光盤(pán)中。 在制作映像文件之前建議先做硬盤(pán)的資料重整與磁盤(pán)掃描,除此之外,由于一個(gè)映像文件的大小相當(dāng)于刻入光盤(pán)的全部?jī)?nèi)容,所以一定要預(yù)留超過(guò)這個(gè)容量的硬盤(pán)空間來(lái)存儲(chǔ)這個(gè)映像文件。 3)映像文件合成工具WinHex WinHex 是一款以通用的 16 進(jìn)制編輯器為核心,專(zhuān)門(mén)用來(lái)對(duì)付計(jì)算機(jī)取證、數(shù)據(jù)恢復(fù)、低級(jí)數(shù)據(jù)處理、以及 IT 安全性、各種日常緊急情況的高級(jí)工具: 用來(lái)檢查和修復(fù)各種文件、恢復(fù)刪除文件、硬盤(pán)損壞、數(shù)碼相機(jī)卡損壞造成的數(shù)據(jù)丟失等。 4)Linux下的GCC編譯器 Linux系統(tǒng)下的Gcc是GNU推出的功能強(qiáng)大、性能優(yōu)越的多

14、平臺(tái)編譯器,是GNU的代表作之一。Gcc是可以在多種硬件平臺(tái)上編譯出可執(zhí)行的超級(jí)編譯器,其執(zhí)行效率與一般的編譯器相比平均效率要高20%~30%。 Gcc編譯器能將C、C++語(yǔ)言源程序、匯程式化序和目標(biāo)程序編譯、連接成可執(zhí)行文件,如果沒(méi)有給出可執(zhí)行文件的名字,gcc將生成一個(gè)名為a.out的文件。在Linux系統(tǒng)中,可執(zhí)行文件沒(méi)有統(tǒng)一的后綴,系統(tǒng)從文件的屬性來(lái)區(qū)分可執(zhí)行文件和不可執(zhí)行文件。 5)NASM編譯軟件 要將源文件demo.asm匯編為exe文件,可以在Command窗口輸入如下命令: nasm demo.asm -o demo1.exe 要匯編為32位Windows程序,可以

15、在Command窗口輸入如下命令: nasm -f win32 demo.asm -o demo2.exe 要匯編為64位Windows程序,可以在Command窗口輸入如下命令: nasm -f win64 demo.asm -o demo3.exe nasm命令的-o參數(shù)用于指定輸出文件的文件名,-f用于指明文件格式,如果沒(méi)有指明文件格式,則默認(rèn)編譯為bin格式,即純二進(jìn)制代碼。所以,上面的demo1.exe實(shí)際上是個(gè).com文件。 2系統(tǒng)設(shè)計(jì) 2.1 引導(dǎo)程序和模式切換功能設(shè)計(jì) 2.1.1 引導(dǎo)程序設(shè)計(jì) 首先通過(guò)一個(gè)小程序作為引導(dǎo)程序,引導(dǎo)程序的主要作用是起到

16、引導(dǎo)的作用,它將一個(gè)字符串輸出顯示到屏幕上,其源代碼如下。 org 07c00h ; 告訴編譯器程序加載到7c00處 mov ax, cs mov ds, ax mov es, ax call DispStr ; 調(diào)用顯示字符串例程 jmp $ ; 無(wú)限循環(huán) DispStr: mov ax, BootMessage mov bp, ax ; ES:BP = 串地址 mov cx, 16 ; CX = 串長(zhǎng)度 mov ax, 01301h ; A

17、H = 13, AL = 01h mov bx, 000ch ; 頁(yè)號(hào)為0(BH = 0) 黑底紅字(BL = 0Ch,高亮) mov dl, 0 int 10h ; 10h 號(hào)中斷 ret BootMessage: db "yangjing2008540330!" times 510-($-$$) db 0 ; 填充剩下的空間,使生成的二進(jìn)制代碼恰好為512字節(jié) dw 0xaa55 ; 結(jié)束標(biāo)志 2.1.2 模式切換功能設(shè)計(jì) 在引導(dǎo)程序的基礎(chǔ)上實(shí)現(xiàn)模式切換功能,實(shí)現(xiàn)實(shí)模式到保護(hù)模式的切換,具體實(shí)現(xiàn)的方式和方案如

18、下: [BITS 16] [ORG 0x7C00] jmp main ; --------------------------------------------------------- ; 數(shù)據(jù)定義 bootdrive db 0 ; ---------------------------------------------------------- ; GDT 定義,此處定義段及段描述符 gdt: gdt_null: ; 這是CPU要求保留的,CPU要求第一個(gè)段必須是空段,不知它

19、 ; 想用來(lái)干啥 dd 0 dd 0 ; 每個(gè)段的描述符是64位(8字節(jié)),空描述符的這64位全是0 gdt_code_addr equ $ - gdt ; 求得代碼段在GDT表中的位置 gdt_code: dw 0xffff ; 段大小為4GB dw 0 ; 基地址(24位) db 0 db 10011010b ;屬性描述位,指明此是代碼段,

20、可讀可執(zhí)行 db 11001111b ;具體的每一位是代表什么可查Intel CPU編程手冊(cè) db 0 ;沒(méi)有的可以去網(wǎng)上下,也可以找我要 gdt_data_addr equ $ - gdt ;求得數(shù)據(jù)段在GDT表中的位置 gdt_data: dw 0xffff dw 0 db 0 db 10010010b ; 指明此是數(shù)據(jù)段,可讀可寫(xiě) db 11001111b

21、 db 0 gdt_end: gdt_addr: dw gdt_end - gdt - 1 ;GDT 表的大小 dd gdt ; GDT 表的位置 ; -------------------------------------------------------------- main: ; 引導(dǎo)程序從此處開(kāi)始執(zhí)行 mov [bootdrive] , dl ; 得到啟動(dòng)的驅(qū)動(dòng)器號(hào) xor ax , ax ; 設(shè)置

22、DS mov ds , ax ; 清屏 ;mov ax , 3 ;設(shè)置清屏功能號(hào) ;int 0x10 ; 調(diào)用 BIOS 10 號(hào)中斷清屏 .ResetFloppy ;重置磁盤(pán),不是必須的,主要是為了安全起見(jiàn) mov ax , 0 ; 設(shè)置重置磁盤(pán)的功能號(hào) mov dl , [bootdrive] ; 選擇啟動(dòng)磁盤(pán) int 0x13 ;調(diào)用 BIOS 13號(hào)中斷重置磁盤(pán) jc .ResetFloppy

23、 ; 如果出錯(cuò)則重試 .ReadFloppy ; 讀內(nèi)核到內(nèi)存中 0000:9000 (es:bx)處, ;為什么要讀到9000處,這不是一定的, ;你可以讀到另外一個(gè)合適的地址 ;什么地址合適?怎樣知道一個(gè)地址合不合適?待會(huì)再說(shuō) xor ax , ax ;設(shè)置 es 寄存器 mov es , ax mov bx , 0x9000 mov ah , 2 ; 設(shè)置讀磁盤(pán)功能號(hào) mov dl , [bootdr

24、ive] ; 設(shè)置欲讀驅(qū)動(dòng)器號(hào) mov ch , 0 ; 磁頭號(hào) mov cl , 2 ; 起始扇區(qū)號(hào),從第二個(gè)扇區(qū)開(kāi)始讀, ;第一個(gè)扇區(qū)是引導(dǎo)扇區(qū),第二個(gè)才是內(nèi)核所在 mov al , 17 ;需讀入扇區(qū)的數(shù)量,此處讀了17個(gè)扇區(qū) ; 是怕內(nèi)核較大,讀少了讀不完 int 13h ;調(diào)用 BIOS 13 號(hào)中斷開(kāi)始讀扇區(qū), ; 此中斷會(huì)將數(shù)據(jù)讀到 es:bx 處 jc

25、 .ReadFloppy ; 如果出錯(cuò)則重試(ah中是錯(cuò)誤號(hào),為0則沒(méi)錯(cuò)) mov dl , [bootdrive] ; 停止驅(qū)動(dòng)器 mov edx , 0x3f2 mov al , 0x0c out dx , al cli ; 關(guān)中斷 lgdt [gdt_addr] ; 載入 GDT 的描述符 mov eax , cr0 ; 下面三句設(shè)置 cr0 的第 0 位(PE位)為1,

26、 ; 表示進(jìn)入保護(hù)模式 or eax , 1 mov cr0 , eax jmp gdt_code_addr:code_32 ; 跳入32位的代碼段中 [BITS 32] code_32: mov ax , gdt_data_addr ; 以下三句設(shè)置 DS,ES,SS,F(xiàn)S,GS ; 為數(shù)據(jù)段描述表的位置 mov ds , ax mov es , ax mov ss , ax

27、 mov fs , ax mov gs , ax mov esp , 0xffff ; 設(shè)置堆棧的頭指針 jmp gdt_code_addr:0x9000 ; 跳入內(nèi)核, ; gdt_code_addr是定義的代碼段的描述符所在的索引 ; 由于我們先前是把內(nèi)核讀到了 0x9000的位置, ; 因此我們現(xiàn)在就轉(zhuǎn)到內(nèi)核所在去執(zhí)行, ; 引導(dǎo)程序勝利完成歷史使命! ;----------------------------------------------------------------

28、times 510-($-$$) db 0 db 0x55 db 0xAA 將此段代碼存儲(chǔ)為boot.asm文件,運(yùn)用NASM編譯器編譯為boot.img文件。 2.2 內(nèi)核設(shè)計(jì) 內(nèi)核設(shè)計(jì)是本次課程設(shè)計(jì)最重要也是最關(guān)鍵的一個(gè)步驟,下面給出內(nèi)核設(shè)計(jì)的源程序。 #include char* msg = "Hello Diqiu!!!!!!!!!!" ; void one(); void two(); void Sleep(int x); void main() { int i; unsigned

29、 char* videomem = ( unsigned char* )0xb8000 ; /* 獲得顯存地址 */ while( *msg != \0 ){ *videomem++ = *msg++ ; /* 設(shè)置顯示字符的ASCII碼 */ *videomem++ = 0xfa ; /* 設(shè)置文字屬性(背景色,前景色,是否閃爍等)*/ Sleep(5000);

30、i++; } one(); two(); for(;;); } void one() { char* msg = "2008540330yangjing!!!" ; unsigned char* videomem = ( unsigned char* )0xb80a0 ; /* 獲得顯存地址 */ while( *msg != \0 ){ *videomem++ =

31、 *msg++ ; /* 設(shè)置顯示字符的ASCII碼 */ *videomem++ = 0xfb ; /*設(shè)置文字屬性(背景色,前景色,是否閃爍等)*/ Sleep(5000); } } void two() { char* msg = "Thank you!!!!!!!!!!!!" ; unsigned char* videomem = ( unsigned char* )0xb8140

32、 ; /* 獲得顯存地址 */ while( *msg != \0 ){ *videomem++ = *msg++ ; /*設(shè)置顯示字符的ASCII碼 */ *videomem++ = 0xfc ; /*設(shè)置文字屬性(背景色,前景色,是否閃爍等)*/ Sleep(5000); } } /*void Sleep() { int i; int n=10;

33、for(i=1;i<=n;i++) { printf("%d",i); Sleep(5*1000*60); } //這里修改延時(shí)時(shí)間 }*/ void Sleep(int x) { int i,j; for(i=0;i

34、個(gè)映像文件合并城一個(gè)映像文件,用前面所介紹的WinHex專(zhuān)用編輯工具來(lái)實(shí)現(xiàn)。首先將WinHex編輯器打開(kāi),打開(kāi)boot.img文件,再打開(kāi)yangjing.bin文件,將yangjing.c文件的二進(jìn)制碼拷貝到boot.img文件的二進(jìn)制碼的末尾,最后另存一個(gè)Img文件即可。 3系統(tǒng)測(cè)試 打開(kāi)虛擬機(jī),新建一個(gè)虛擬機(jī)如下圖3.1所示。 圖3.1 新建虛擬機(jī) 新建一個(gè)虛擬機(jī)后,選擇Floppy軟盤(pán)讀取映像文件,如下圖3.2所示。 圖3.2 軟盤(pán)讀取 再打開(kāi)虛擬機(jī)電源即可運(yùn)行映像文件,下面運(yùn)行第一個(gè)引導(dǎo)程序映像,如下圖3.3所示

35、。 圖3.3 引導(dǎo)程序運(yùn)行界面 圖3.4 內(nèi)核運(yùn)行結(jié)果 總結(jié) 操作系統(tǒng)原理在本學(xué)期第一次接觸到,期末進(jìn)行了為期一周的課程設(shè)計(jì),讓我們自己切身的感受和實(shí)際動(dòng)手寫(xiě)操作系統(tǒng)。讓我學(xué)習(xí)到如何在操作系統(tǒng)中編寫(xiě)和運(yùn)行引導(dǎo)程序,如何在實(shí)模式下切換到保護(hù)模式,如何加載內(nèi)核,如何在保護(hù)模式下運(yùn)行內(nèi)核。 由于只有一周的時(shí)間,我只能是做些簡(jiǎn)單的程序引導(dǎo)和內(nèi)核加載,我相信通過(guò)課后更多的時(shí)間我會(huì)設(shè)計(jì)出更完美的操作系統(tǒng)引導(dǎo)程序和內(nèi)核加載,還會(huì)增加更多的功能。

36、 致謝 在本次課程設(shè)計(jì)能得以順利完成,在這里感謝各位老師的指導(dǎo),同時(shí)感謝各位同學(xué)的幫助。 參考文獻(xiàn) [1]陸麗娜,齊勇,白恩華主編,計(jì)算機(jī)操作系統(tǒng)原理與技術(shù),西安:西安交通大學(xué)出版社,1995 [2]李大友主編,操作系統(tǒng),北京:機(jī)械工業(yè)出版社,2000 [3]王萬(wàn)森等. 計(jì)算機(jī)操作系統(tǒng)原理. 北京: 高等教育出版社, 2001 ut2ApOdfXXc02GyBKsKCWw97MrqqWhoj5TL15Zt6jIPYytYCummt

37、ARp3v1N5luizi3xh3BhWYreKO8d9g7nmZQoWPJeTLDrw08gVS8DsDQQYGC3cE7moO2tLF0Jf1gK74IUXyBmtIVR97CkrfVqULT5fn2t6MpJR6rbzVPSortZvIj5NB5ndVvSr4iWr1TwLFKgLSPzuhRjQ3CmZU98eUOuijdLSZqPmvrw9zKupxf8WFUG9l2G9277g2rTipa1YpCZEuqxpKBhtVDCooQOzxUz3vJrZmOcijyM62zchmeooTYes8EBMm932tbz2Yo09RtsZEYS8Zrd2Yktj8l6jEAzVAjnfbtry

38、Lvsm6oFbfToXVRFFn7OwIYgJlamkUNXJYbz5Rrb7r4VsuR9zpfZFMfsjhcfCA37lNW2VVLRKN7R8psz1BN6oRic5hU5Z6HCxAYqyNPOG8duYbAwqSl20CSg06Dh2sM8HLtgPkIcSkrgOPDpuHBj1LmPk7lYdvC6NNMwL3fwhZFTFVYAARY7lHSSxJ10V3pH3Y19BxYR77Ib7CpZSu2tijqe3hKqkKAu9KSkCpHKXUIKvvyJZpg2YijRkqfbGgOvyqKuxNWI9oMnJtt6QilZxtyrF7d20FbmabcfiixrQKUsV

39、NXBPPFUXyQ1fJSKFSUbkgs2DUVQC9sz4JkbgN4Qqv66pyoARjurNFJ3TxyfclZiEePtwFJthphEipDFNqnR2HjQKV2DzWtMPDJQkBcXmovdsjqCTJagjMdLsKPgaD2s0H0vmZGAHt36gyUEZ7UmANk1ndREuBeqdgrx0venqGnsyIB2ilq3SIQrNL4m56t7Z8Y8da5K0KUpn5Nzg4JvjdtfFHyt82AoGQkXo4VBLmLEiy2P7HtHBho07rCfttxodYDPPdtQsO7wxD0J6fKKlGm4woDzplhtRr2XgqN13hqy5

40、9zU1GegDyQniHNTaVSieueFQcYfUCJwd3vk5I7YKmhunDmIZ ut2ApOdfXXc02GyBKsKCWw97MrqqWhoj5TL15Zt6jIPYytYCummtARp3v1N5luizi3xh3BhWYreKO8d9g7nmZQoWPJeTLDrw08gVS8DsDQQYGC3cE7moO2tLF0Jf1gK74IUXyBmtIVR97CkrfVqULT5fn2t6MpJR6rbzVPSortZvIj5NB5ndVvSr4iWr1TwLFKgLSPzuhRjQ3CmZU98eUOuijdLSZqPmvrw9zKupxf8WFUG9l2G9277g2rT

41、ipa1YpCZEuqxpKBhtVDCooQOzxUz3vJrZmOcijyM62zchmeooTYes8EBMm932tbz2Yo09RtsZEYS8Zrd2Yktj8l6jEAzVAjnfbtryLvsm6oFbfToXVRFFn7OwIYgJlamkUNXJYbz5Rrb7r4VsuR9zpfZFMfsjhcfCA37lNW2VVLRKN7R8psz1BN6oRic5hU5Z6HCxAYqyNPOG8duYbAwqSl20CSg06Dh2sM8HLtgPkIcSkrgOPDpuHBj1LmPk7lYdvC6NNMwL3fwhZFTFVYAARY7lHSSxJ10V3pH3Y19BxYR

42、77Ib7CpZSu2tijqe3hKqkKAu9KSkCpHKXUIKvvyJZpg2YijRkqfbGgOvyqKuxNWI9oMnJtt6QilZxtyrF7d20FbmabcfiixrQKUsVNXBPPFUXyQ1fJSKFSUbkgs2DUVQC9sz4JkbgN4Qqv66pyoARjurNFJ3TxyfclZiEePtwFJthphEipDFNqnR2HjQKV2DzWtMPDJQkBcXmovdsjqCTJagjMdLsKPgaD2s0H0vmZGAHt36gyUEZ7UmANk1ndREuBeqdgrx0venqGnsyIB2ilq3SIQrNL4m56t7Z8Y8da5K0KUpn5Nzg4JvjdtfFHyt82AoGQkXo4VBLmLEiy2P7HtHBho07rCfttxodYDPPdtQsO7wxD0J6fKKlGm4woDzplhtRr2XgqN13hqy59zU1GegDyQniHNTaVSieueFQcYfUCJwd3vk5I7YKmhunDmIZ

展開(kāi)閱讀全文
溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話(huà):18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶(hù)上傳的文檔直接被用戶(hù)下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!