乙個作業系統的實現 freedos中edit問題

2021-07-15 08:35:06 字數 1575 閱讀 3940

在於淵的乙個作業系統的實現第二版中,第四章開始那裡寫到:假設是x.img,然後把它作為freedos的b盤,格式化後就可以方便的往其中新增檔案了和目錄了(比如使用freedos裡面的edit.exe),可是在freedos裡面我找不到edit.exe啊。

不過,格式化b盤也就是x.img那裡我也卡了好一會,然後發現就把之前的第三單元的pmtest2.asm和其配套的檔案按照之前的做法啟動bochs,然後參照我之前的保護模式的操作就可以格式化b盤也就是x.img了。

然後我在網上找到採用linux上mount虛擬軟盤x.img,然後寫入該虛擬軟盤的方法。但寫入檔案後,使用xxd命令檢查虛擬軟盤x.img,發現和orangs上描述的資訊不一樣,然後我想應該是通過這個方法進行檔案的寫入應該可能是隨機的吧,然後我就繼續尋找方法了。

可是啊,freedos的edit.exe我還是不會操作。

//原來edit操作被封裝在了c.img虛擬硬碟中。而a.img也就是freedos.img並沒有edit操作。

然後,在使用terminal的時候,啟動bochs。如果是以除錯模式進行啟動的話,啟動後直接按c,回車,bochs把c.img作為啟動硬碟啟動。然後輸入edit,回車,成功進入edit介面!!!

然而,這並不是結束,我探索了好一會,才了解到怎麼向b盤也就是x.img寫入檔案和目錄等操作。

你需要知道,edit介面使不能使用滑鼠的,然後我們需要使用alt鍵和左右鍵進行工具欄切換,在file工具欄,有dos選擇,按進去,在那個dos介面進行檔案操作,建立檔案和目錄,最後才會儲存到x.img中,輸入exit回車可以退回藍色介面,建立檔案和目錄等操作成功後可以回到藍色介面繼續操作,可以向檔案裡面增刪查改內容。

最後,你還需要了解這些知識。

在藍色介面進入的dos介面和windows的指令格式一致,不過好像只能進行它提供的指令功能,我們這裡需要了解的知識如下。

dir指令:檢視當前目錄有的檔案與目錄

md指令(md 目錄名):建立特定資料夾

rd指令(rd 目錄名):刪除特定資料夾

echo指令(echo txt檔案內容》檔名.txt):建立特定檔案

cls指令:清屏

-------------------------------------

假設是x.img,然後把它作為freedos的b盤,格式化後就可以方便的往其中新增檔案了和目錄了(比如使用freedos裡面的edit.exe),可是freedos裡有edit.exe嗎?呵呵,找了好久沒有找到。google了半天,也沒找到有用的資訊。

沒辦法,採用linux上mount虛擬軟盤x.img,然後寫入該虛擬軟盤的方法。但寫入檔案後,使用xdd命令檢查虛擬軟盤x.img,發現和orangs上描述的資訊不一樣啊,估計是linux上的檔案寫格式和freedos上的不一致。這下可是沒法繼續了。於是,又回頭看freedos。

最後綜合說一下freedos+edit.exe問題的解決過程:

1、使用bximage命令生成x.img檔案

2、參照freedos-img.tar.gz裡的bochs配置檔案,修改試驗用的bochs配置檔案,使bochs從c.img啟動

3、格式化x.img對應的虛擬軟盤

4、使用edit.exe編輯檔案

完美搞定!

乙個作業系統的實現 2

接上文 xiongjian 2010.12.22 msn cug live.cn 10 下面開始程序,首先引入幾個基本原則 1 程序表a用來儲存程序a的資訊和程序a切換時,儲存當前a執行時暫存器資訊。定義為 processproc table 1024 表示系統最多可以有1024個程序,proces...

乙個小作業系統

1 1 chapter1 a boot.asm 乙個 作業系統 可以只有20行 把下面這段 用nasm編譯一下 nasm boot.asm o boot.bin org 07c00h 告訴編譯器程式載入到7c00處 mov ax,cs mov ds,ax mov es,ax call dispstr...

乙個簡單的作業系統

電腦上電後,bios在自檢後會根據使用者指定的裝置啟動作業系統。假設我們指定軟盤為啟動盤,bios會把軟盤的第乙個扇區 512位元組 讀取到記憶體的0x7c00處,如果這個扇區的最後兩個位元組為0xaa55,bios會跳轉到0x7c00處開始執行。我們可以利用這樣乙個過程做乙個簡單的作業系統。我們的...