學習操作系統原理最好的方法是自己寫一個簡單的操作系統。
在上一講中我們已經安裝配置了開發環境,在本講中我們來測試一下開發環境是否正常。
我們的測試流程如下:
1.在Visual Studio Code中編寫GrapeOS代碼;
2.在CentOS中編譯GrapeOS代碼;
3.在QEMU中運行GrapeOS。
注意:在本講中涉及到的代碼或操作如有不懂的地方暫時不用管,後面會講。本講只是爲了測試開發環境是否正常,只要你能跟着做下來就行。
下面我們來依次測試這3步流程。
1. 在Visual Studio Code中編寫GrapeOS代碼
1.1 在我們上講中建立的共享文件夾中新建一個名爲“grapeos-course”的文件夾:
1.2 打開Visual Studio Code,在歡迎頁面中點擊“打開文件夾”:
1.3 選中我們剛纔新建的文件夾“grapeos-course”:
1.4 在Visual Studio Code左側的資源管理器中點擊“新建文件夾”圖標:
1.5 輸入新文件夾名“Lesson5”:
1.6 選中新建的文件夾“Lesson5”,然後點擊“新建文件”圖標:
1.7 輸入新文件名“boot.asm”:
1.8 在boot.asm中輸入如下代碼:
org 0x7c00
mov ax,cs
mov ds,ax
mov ax,0xb800
mov gs,ax
mov ah,0x07
mov al,'G'
mov [gs:0x0],ax
mov al,'r'
mov [gs:0x2],ax
mov al,'a'
mov [gs:0x4],ax
mov al,'p'
mov [gs:0x6],ax
mov al,'e'
mov [gs:0x8],ax
mov al,'O'
mov [gs:0xa],ax
mov al,'S'
mov [gs:0xc],ax
stop:
hlt
jmp stop
times 510-($-$$) db 0
db 0x55,0xaa
2. 在CentOS中編譯GrapeOS代碼
2.1 打開VirtualBox
選中上講中安裝好的CentOS,點擊綠色的“啓動”圖標:
2.2 CentOS啓動後的界面如下:
2.3 打開PowerShell
Windows鍵+R鍵打開運行窗口,輸入“powershell”:
2.4 SSH登錄CentOS
在PowerShell中通過SSH登錄CentOS,並進入共享文件夾“/media/VMShare/”中,可以看到我們剛纔新建的文件夾“grapeos-course”:
2.5 創建虛擬硬盤。
在命令行中輸入下面這行命令:
dd if=/dev/zero of=/media/VMShare/GrapeOS.img bs=1M count=4
可以看到生成了一個新文件“GrapeOS.img”:
“GrapeOS.img”就是我們創建的虛擬硬盤,雖然只有4MB,但對GrapeOS來說足夠了。
2.6 編譯程序。
進入本講文件夾“Lesson5”,並輸入下面這行命令:
nasm boot.asm -o boot.bin
可以看到新生成了一個"boot.bin"文件:
如果提示沒有“nasm”這個命令,通過yum安裝即可:
yum install nasm
2.7 將boot.bin寫入虛擬硬盤。
在命令行中輸入下面這行命令:
dd conv=notrunc if=boot.bin of=/media/VMShare/GrapeOS.img
截圖如下:
3. 在QEMU中運行GrapeOS
3.1 啓動QEMU
打開Windows的cmd命令行窗口,輸入下面這行命令:
qemu-system-i386 d:\GrapeOS\VMShare\GrapeOS.img
截圖如下:
3.2 查看QEMU
此時彈出了QEMU的窗口:
如果在QEMU窗口第一行中看到前7個字符是“GrapeOS”就說明開發環境正常。
如果需要可以觀看本講的視頻版:https://www.bilibili.com/video/BV1p84y1V71A/
GrapeOS操作系統交流QQ羣:643474045