Re: 煩請推薦「初學者」適用的組合語言好書

看板Programming作者時間18年前 (2007/02/04 02:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串12/12 (看更多)
> ==>發信人: tinlans.bbs@ptt.cc ( ), 信區: programming > ※ 引述《tester.bbs@bbs.csie.ncu.edu.tw (try or test)》之銘言: > : 請教一下, 所謂對 I/O devices 下指令, 是指組語的那類指令會 > : 跳出訊息說還沒實作 ? > : 1. in reg, port > : out reg, port > : 2. move reg, memory-map-i/o-port > : 3. move memory-pointer-space, memory-map-i/o-pointer-space > : 4. BIOS int xx > : 5. system call for I/O device > : 先謝謝 ! > 跟哪類指令其實無關 (如何送命令給 I/O devices 不是重點), > 主要是 VMWare 裡看到的 hardware devices 其實都是軟體模擬的 > (而且跟有沒有選項能對應到實體設備無關), > 換言之你能對這些 devices 下的命令相當有限, > 這個部分的限制取決於 VMWare 本身對該模擬設備的實作程度, 一個 Machine 由 processor , memory, I/O device 及 console 組成. I/O device 就像 display , floppy disk , Hard disk , CD, Audio , ethernet 等. VMware 不同於 VMM(VM Monitor) 的作法, 是在 native OS 之上執行. 安裝 guest OS 時, 安裝程式需要查明有那些 I/O device , VMware 負責答覆模擬的 I/O device 供其安裝, 這些模擬的 I/O device 會 對應到 native OS 管理的實體資源, 而且由 guest OS 管理與使用. > 不過只要是「做正常的事」的 I/O devices 命令, > 都已經有 implement 了, > 但如果你叫學生在 windows 95 上寫個類似 CloneCD 的軟體, > 那恐怕 VMWare 的表現會讓你失望。 練習組語可能最重要的練習之一是用組語控制一個 簡易的硬體介面卡, VMware 應該是讓 guest OS 執行於 user mode , 所以執行 guest OS 時的指令若發生 access 不配屬給該 user(guest OS) 的 I/O 與 memory space , 應該會產生 trap , 再送交給 VMware 接手. 如果是 要接取模擬的 I/O device 自然是由 VMware 處理, 但如果是 Access 一個不模擬的 I/O device(如簡易的硬體介面卡), VMware 如果不 by pass 轉達這個接取, 反而是攔下給 error message , 就會讓 guest OS 無法控制或管理這個裝置, 這跟練習組語的目標(跟測試 OS 功能 幾乎是相同的作用)就違背了. 非模擬對應的 I/O device , guest OS 接取時, VMware 如何回 應, 是 By-pass 轉送 或 阻止不轉反而回應成 error message , 這 兩者應該是設計成可調整的設定才是. -- ◎ Origin: 中央松濤站□bbs.csie.ncu.edu.tw From: 140.115.6.234
文章代碼(AID): #15nCtZ00 (Programming)
討論串 (同標題文章)
文章代碼(AID): #15nCtZ00 (Programming)