跳到主要內容

簡易檢索 / 詳目顯示

研究生: 謝銘洋
Ming-Yang Hsieh
論文名稱: 使用者模式虛擬環境的平行埠I/O溝通
The Parallel Port I/O Communication in User Mode Virtual Environment
指導教授: 曾黎明
Li-Ming Tseng
口試委員:
學位類別: 碩士
Master
系所名稱: 資訊電機學院 - 資訊工程學系
Department of Computer Science & Information Engineering
畢業學年度: 96
語文別: 中文
論文頁數: 31
中文關鍵詞: 中斷要求虛擬環境平行埠使用者模式PLIPI/O溝通
外文關鍵詞: I/O communication, PLIP, User mode, Virtual environment, Parallel port, IRQ
相關次數: 點閱:6下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 虛擬環境技術有助於使用者在原本的作業系統中創造另一個的硬軟體環境,並能在其虛擬環境中執行程式,一如使用者好像真的擁有該硬體環境。於使用者模式中執行的虛擬環境由於執行指令的權限受到限制,所以可以確保該虛擬環境內的所有動作將不會危害整個系統的運作,使用者可以放心的在虛擬環境中進行各種測試動作。但這也代表使用者模式虛擬環境擁有一個無法避免的缺點:由於隔音的概念作用,虛擬機器下的程序無法對虛擬環境以外的程序直接進行I/O溝通,就算兩者是位於同一台主機上的虛擬環境也一樣做不到。所以對開發人員來說,便無法利用虛擬環境技術來為那些需要與外界溝通的裝置的I/O動作部份進行監控偵錯。而在進行虛擬環境內對外部實體裝置I/O對應動作控制的研究時,發現QEMU此虛擬軟體並無直接反應從外部而來的中斷要求的機制。
    此篇論文以平行埠上的Parallel Line Internet Protocol(PLIP)連線協定為實測與研究對象,提出一種虛擬中斷的原則與方法,使得QEMU此類使用者模式虛擬環境軟體能夠處理I/O溝通過程中的所需要的中斷即時性回應,使用者能以此方法讓虛擬機器在無法攔截硬體中斷要求信號的限制下仍能正常使用PLIP協定,能透過控制平行埠達到對外進行I/O的溝通。文中並比較在有虛擬中斷支援下與未支援下的數據,發現虛擬中斷方法可逼近使用實體中斷的性能與效率。


    Virtual environment can help user to create a hardware environment which he wants, and execute the program in it as that user really owns hardware environment like that. Because the user mode virtual environment is limited when it try to execute instructions, all action of the virtual environment will not crush user’s Host-OS and kernel system. User can do any danger behavior in his virtual environment. It means the process in the virtual environment cannot make directly I/O communication with the other process which is out of the virtual environment. Thus, it is impossible to use virtual environment to debug for I/O communication. While doing research about I/O communication between virtual environment and physical device, we found that QEMU has no scheme to reply an IRQ which comes from outside.
    This paper take PLIP with parallel port for an object of study and experiment. We find a method to virtual interrupt for QEMU and other user mode virtual environment can reply IRQ in I/O communication process. User can use this method to make virtual machine which can’t receive hardware IRQ signal operates PLIP normally, and it will do I/O communication with outside device by controlling parallel port. We compared the result of virtual interrupt and no virtual interrupt. We find that virtual interrupt can help system acts more closer to which use physical interrupt.

    摘要....................................................................................................................i ABSTRACT................................................................................................................ii 致謝辭................................................................................................................iii 目錄..............................................................................................................iv 圖目錄..................................................................................................................vi 表目錄.............................................................................................................vii 第一章 緒論....................................................................................................1 1.1 研究背景...............................................................................................1 1.2 研究動機..............................................................................................1 1.3 論文架構..............................................................................................2 第二章 相關研究..................................................................................................3 2.1 虛擬機器(VIRTUAL MACHINE) ..............................................................3 2.2 使用者模式虛擬環境(USER MODE VIRTUAL ENVIRONMENT)........................4 2.3 LINUX 下的平行埠硬體................................................................................5 2.4 QEMU 如何與LINUX 搭配使用實體平行埠硬體?...................................5 2.5 PARALLEL LINE INTERNET PROTOCOL (PLIP).................................................6 2.6 QEMU 與IRQ...............................................................................................6 2.7 為QEMU 平行埠程式碼除錯......................................................................7 第三章 系統設計.........................................................................................................8 3.1 設計目標........................................................................................................8 3.2 系統分析運作流程........................................................................................8 3.3 運作流程與設想............................................................................................9 第四章 系統實作.......................................................................................................11 4.1 實作環境......................................................................................................11 4.2 實作步驟......................................................................................................11 4.3 實作過程及比較..........................................................................................12 第五章 結論與未來方向...........................................................................................18 參考文獻.......................................................................................................19 附錄A QEMU 請求使用平行埠硬體流程............................................................20 附錄B 修改QEMU 導向平行埠硬體部份程式碼...............................................24 附錄C 使用PLIP 連線所需的硬體對接線..........................................................29 附錄D 檢查中斷要求信號程式碼..........................................................................30 附錄E 從HOST-OS 列印比對GUEST-OS 控制平行埠動作是否正常....................31

    [1] Kent, K.B. ,Serra, M. Horspool, N. “Hardware/software co-design for virtual
    machines, ” 9 Sept. 2005, Volume: 152, Issue: 5, 537-548
    [2] James E. Smith, Ravi Nair, “Virtual Machines, versatile platforms for
    systems and processes,” 2005
    [3] QEMU official website, http://fabrice.bellard.free.fr/qemu/index.html
    [4] Uhlig, R.; Neiger, G.; Rodgers, D.; Santoni, A.L.; Martins, F.C.M.;
    Anderson, A.V.; Bennett, S.M.; Kagi, A.; Leung, F.H.; Smith, L “Intel
    virtualization technology,” IEEE Computer, Volume 38, Issue 5, May 2005
    Page(s):48 – 56
    [5] Rosenblum, M. Garfinkel, T. “Virtual machine monitors: current technology
    and future trends,” IEEE Computer,May 2005 Volume: 38 , Issue: 5 pp 39 –
    47
    [6] Whitaker, A.; Cox, R.S.; Shaw, M.; Gribble, S.D “Rethinking the design of
    virtual machine monitors,” IEEE Computer, Volume 38, Issue 5, May 2005
    Page(s):57 – 62
    [7] History of Virtual Machine,
    http://www.cs.gmu.edu/cne/itcore/virtualmachine/index.htm
    [8] Smith, J.E.; Ravi Nair “The architecture of virtual machines,” Computer,
    Volume 38, Issue 5, May 2005 Page(s): 32-38
    [9] Fabrice Bellard, “QEMU, a Fast and Portable Dynamic Translator,”
    FREENIX Track: 2005 USENIX Annual Technical Conference.
    [10] PLIP, http://www.tldp.org/HOWTO/PLIP-Install-HOWTO.html
    [11] “16 BIT PC technic manual”, April 1983

    QR CODE
    :::