記憶體管理
中斷處理
執行緒調度
記憶體管理
VMM使用Intel 80386或更新的處理器的記憶體調頁能力來為系統虛擬機創建一個32位的虛地址空間。它把這個地址空間分為四個不同的部分:
V86區 地址從0H到10FFEFH,這個區屬於當前執行的虛擬機。
應用程式私有區地址從4MB到2GB。這是Win32應用程式運行的空間。每個Win32的進程都有它自己的2GB(要減去4MB)。
應用程式共享區地址從2GB到3GB。這個區域是在虛擬機內的所有應用程式共享的。系統DLL(user32,kernel32,gid32)都駐存在這裡。所有的Win16程式也放在這裡,因為它們行為都是不規範的的:它們對記憶體中的其他Win16程式進行讀寫。只有在這個區域裡,Win16程式才可以看到其他所有的Win16程式。記憶體映射檔案和分配給DPMI的記憶體也被存放在這裡。
系統共享區地址從3GB到4GB。這裡是VMM和VXM存放的地方。
VMM為VxD程式提供三種VxD服務:
頁面記憶體服務 這種服務分配/管理頁面大小為4KB的記憶體。這是提供的最低級的服務,其他所有的服務都是建立在頁面記憶體服務上的。
堆記憶體服務 管理小的記憶體塊。這種高級別的記憶體管理服務建立在頁面記憶體服務的基礎上。
表服務管理可用來實行鏈結表的固定大小的記憶體塊。
處理中斷
在保護模式下,中斷指向中斷描述表(IDT)。VMM通過VxD的幫助監視虛擬機的IDT。通常VMM處理IDT內幾乎所有的中斷入口。它進行第一級的中斷處理:保存被中斷程式的狀態,把控制傳送到第二級的中斷處理,第二級的中斷處理通常由各種VxD程式來進行實際的處理。當第二級中斷處理程式完成了它的工作之後,它把控制轉交給重分派程式,由重分派程式來恢復被中斷程式的狀態並從先前被中斷的地方繼續執行。
上面的描述太過簡單。由於被中斷的虛擬機的時間片可能已過,重分派也許不會馬上執行。VxD程式通過VMM服務如:Set_PM_Int或Hook_V86_Int_Chain來安裝中斷處理。VxD程式不應該直接改動IDT中的中斷入口(除非你很確切的知道將發生的後果)。
執行緒調度
VMM使用兩個調度器組件來在虛擬機之間實現有優先權的多執行緒處理:
主調度器
時間片管理器或副調度器
主調度器的任務是選擇有最高優先權的執行緒來執行。這種選擇在VMM處理一個中斷(如計時器中斷)時進行。選擇的結果決定了當VMM從中斷服務返回時由哪一個執行緒/虛擬機獲得控制權。主調度器工作的結果是確定的,一個執行緒要么獲得控制權,要么沒有,只有一個執行緒可以得到控制權。VMM和其他的VxD可以通過VMM服務來調整執行緒的執行優先權。例如,當一個硬中斷髮生時,VMM就會增加中斷處理的執行優先權以便讓它在儘可能短的時間內有更高的機會被調用。
副調度器通過主調度器提供的服務來給享有最高優先權的執行緒分配cpu時間。副調度器給每個執行緒一個時間片。當一個執行緒執行到它的時間片完結時,副調度器就增加下一個執行緒的優先權,這樣它就會被主調度器選中並執行。
你可以從Walter Oney''s Systems Programming for Windows 95和Windows 95 DDK 文檔裡面得到關於這個問題的細節
虛擬機
通過軟體模擬的具有完整硬體系統功能的、運行在一個完全隔離環境中的完整計算機系統。通過虛擬機軟體,你可以在一台物理計算機上模擬出一台或多台虛擬的計算機,這些虛擬機完全就像真正的計算機那樣進行工作,例如你可以安裝作業系統、安裝應用程式、訪問網路資源等等。對於你而言,它只是運行在你物理計算機上的一個應用程式,但是對於在虛擬機中運行的應用程式而言,它就像是在真正的計算機中進行工作。因此,當我在虛擬機中進行軟體評測時,可能系統一樣會崩潰,但是,崩潰的只是虛擬機上的作業系統,而不是物理計算機上的作業系統,並且,使用虛擬機的“Undo”(恢復)功能,我可以馬上恢復虛擬機到安裝軟體之前的狀態。
相關詞條
-
VMware虛擬機
VMWare虛擬機軟體是一個“虛擬PC”軟體,它使你可以在一台機器上同時運行二個或更多Windows、DOS、LINUX系統。與“多啟動”系統相比,VM...
軟體信息 主要特性 安裝說明 常見問題 軟體用途 -
KVM虛擬機
Kernel-based Virtual Machine的簡稱,是一個開源的系統虛擬化模組,自Linux 2.6.20之後集成在Linux的各個主要發行...
安裝方法 使用 KVM管理工具 -
虛擬機深入套用實踐
VMware VMware VMware
圖書信息 內容簡介 媒體評論 目錄 -
實戰Java虛擬機
實戰Java虛擬機——JVM故障診斷與性能最佳化基本信息電子工業出版社出版的《實戰Java虛擬機——JVM故障診斷與性能最佳化》,是一本真正讓Java虛擬機的學習人員深入了解JVM的通俗讀物。實戰java虛擬機封面內容...
-
VMware
可允許虛擬機磁碟自由移動;更新管理器自動更新修補程式和更新管理;能力規劃...基礎設施可主導個人桌上型電腦在虛擬機運行的中央管理器;虛擬桌面管理,它是...運行的企業級的虛擬平台),虛擬的SMP讓一個虛擬機同時使用四個物理處理器...
公司產品 市值信息 使用方法 發展歷程 -
Windows Server 2012 Hyper-V 虛擬化管理實踐
數據訪問驗證第8章 Hyper-V管理器8.1 部署虛擬機8.1.1 創建...管理角色10.2.1 啟動授權管理器10.2.2 監視虛擬機狀態第11章...1.1 Hyper-V架構1.1.1 Hyper-V主機1.1.2 虛擬機...
-
HYPER-V
-V控制台,版本有一定變化。在微軟的Hyper-V虛擬機創建過程中,最大...就占用2T的物理空間分配,給虛擬機安裝了一個2TB的硬碟,至少可以在虛榮心上...),而虛擬機的OS核心和驅動運行在ring 0,應用程式運行在ring 3下...
系統要求 架構特點 技術 實際部署 安全 -
VMware vSphere
(虛擬機),在為這些虛擬機安裝好Linux /Windows Server...和虛擬機的無代理備份。它還包括業務連續性功能,如 vSphere...。用途介紹· 消除停機並保護數據 — 利用虛擬機實時遷移和虛擬機集群中...
核心組件 主要優點 區別 重要特點 用途介紹 -
hyper-v主機
父分區,本質上是一個具有特別或特權訪問許可權的虛擬機。這是唯一能夠直接訪問硬體資源的虛擬機。所有其它虛擬機,即所謂的客戶分區(Guest...主要作用就是管理、調度虛擬機的創建和運行,並提供硬體資源的虛擬化...
主機 介紹 安裝 前景分析 產生背景