保護模式實驗環境搭建

2021-07-09 15:35:25 字數 494 閱讀 4046

我的工作環境在ubuntu下,所以搭建環境比較方便

這個借鑑了《乙個作業系統的實現》

我把詳細的過程記下了.

修改 bochsrc

floppya: 1_44=freedos.img, status=inserted

floppyb: 1_44=a.img, status=inserted

boot: a

格式化剛才建立的軟盤映象

編譯原始碼

注意:將org 07c00h改為0100h

編譯為com檔案在dos下執行

將com檔案放入a.img

sudo mount a.img /mnt/floppy

sudo cp a.com /mnt/floppy

sudo umount /mnt/floppy

啟動bochs,在dos環境中執行程式

進入保護模式

本文為 每個描述符佔8位元組,下圖中,上面位高32位,下面為低32位 disk boot ata channel 0 first hd cd on channel 0 type of disk image這個選項是vpc,我用2.6.2配置時選vpc無法啟動,得選flat才可以,2.6.0貌似選vp...

進入保護模式

以下圖2,圖4和圖5截自intel手冊 每個描述符佔8位元組,下圖中,上面位高32位,下面為低32位 disk boot ata channel 0 first hd cd on channel 0 type of disk image這個選項是vpc,我用2.6.2配置時選vpc無法啟動,得選fl...

保護模式小結

在gdt ldt以及idt中,每乙個描述符都有自己的界限和屬性等內容,是對描述符所描述物件的一種限定和保護 分頁機制中的pde和pte都含有r w以及u s位,提供了頁級保護 頁式儲存的使用使應用程式使用的是線性空間而不是實體地址,於是物理記憶體被保護起來 中斷不再像是模式下一樣使用,也提供特權檢驗...