實現作業系統 之 bin 與 img

2021-06-17 14:50:23 字數 1615 閱讀 3114

2010-08-16 00:50:56

|  分類:

系統方法|字型大小

訂閱

.bin 製作

nasm

.img 製作

1. 在dos下用debug 

把floppy.img寫入a盤 

debug floppy.img 

-w 100 0 0 1 

-q 把floppy.img寫入b盤

debug floppy.img

-w 100 1 0 1

-q

這裡我們將 floppy.img 換成 boot.bin

2. 使用 winhex

用winhex開啟 boot.bin 檔案,按 ctrl+a 選擇全部內容,然後點右鍵->edit-   >copy all->hex values,然後用 winhex 新建乙個檔案,在彈出視窗選擇大小為

1.44m。把剛才複製的十六進製制值貼上至新檔案。儲存為boot.img。

3. 用這個python指令碼

# make floppy img

import sys

if len( sys.argv ) != 3:

print 'usage: ', sys.argv[0], 'binfilename imgfilename'

sys.exit()

fin = file( sys.argv[1], 'rb' )

bufbin = fin.read( 512 )

fin.close()

bufbin += ( '/0' * ( 1474560 - 512 ) )

fout = file( sys.argv[2], 'wb' )

fout.write( bufbin )

fout.close()

4.我使用ultraedit32,winimage這個工具來完成這個任務,當然你使用其它類似工具也行,道理都是一樣的。

首先,使用winimage建立乙個1.44m的軟盤img檔案。

使用ultraedit32開啟你剛剛建立的img檔案,將滑鼠游標放置在檔案的第一行,使用ctrl-d刪除512位元組。

設定ultraedit32中[高階]-[配置]-[常規]的對話方塊,將"允許編輯hex 00的文字檔案而不把它們轉換為空格"項複選。

再用ultraedit32開啟《自已動手寫作業系統》書中的boot.bin檔案。拷貝其所有內容並將其插入img檔案的開頭,儲存即可。

5.dd命令,偶的最愛

window 下

linux下 略操作

1. 製作軟盤映象檔案diska.img

命令: dd if=/dev/zero of=diska.img bs=512 count=2880

2. 複製boot.bin到boot.img中

命令: dd if=boot.bin of=boot.img bs=512 count=1

3. 複製diska.img中從第512位元組往後的內容新增到boot.img中(這是dd最出彩的部分)

命令: dd if=diska.img of=boot.img skip=1 seek=1 bs=512 count=2879

作業系統 作業系統的設計與實現

系統設計的首要問題是定義目標和規範。從高層來說,系統設計取決於所選硬體和系統型別 批處理 分時 單使用者 多使用者 分布式 實時或通用。除了最高設計層外,需求可能很難說清,但需求可以分為兩類 使用者目標和系統目標。使用者要求系統具有一定的優良效能 系統應該易於學習和使用 可靠 安全和快速。研發人員為...

作業系統設計與實現

額,沒有看完,但是 目前看得還是沒有壓力就是 好奇心和問題都太多,丟下一段 對於如下一條命令 cp file1 file2 其功能是為檔案file1作乙個拷貝file2,在shell建立乙個子程序後,子程序執行程式cp,同時向該程式傳遞執行的引數 源檔名和目標檔名。cp程式的主函式格式如下 main...

作業系統之作業系統引論

掌握作業系統的概念 特徵 功能和提供的服務,作業系統的發展與分類 作業系統是計算機硬體與使用者的橋梁,是計算機硬體上的的第一層軟體,是對硬體系統的首次擴充.作業系統是一組控制和管理計算機硬體和軟體資源.合理地對各類作業 job 進行排程,以及方便使用者的程式的集合.無作業系統 單批道作業系統 多批道...