Re: 煩請推薦「初學者」適用的組合語言好書
> ==>發信人: 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
討論串 (同標題文章)
完整討論串 (本文為第 12 之 12 篇):
Programming 近期熱門文章
PTT數位生活區 即時熱門文章