複製鏈接
請複製以下鏈接發送給好友

QEMM

鎖定
Quarterdeck擴充存儲器管理器(Quarterdeck Expanded Memory Manager,簡稱 QEMM),是由Quarterdeck公司於1980年代末期至1990年代末期所發展的一套存儲器管理軟件。在當時,這是MS-DOS和其他DOS操作系統最流行的存儲器管理軟件。
中文名
QEMM
外文名
Quarterdeck Expanded Memory Manager
領    域
計算機
性    質
一套存儲器管理軟件

QEMM產品簡介

QEMM可以訪問上層記憶區(UMA 或 UMBs)、擴展存儲器(EMS)、延伸存儲器(XMS)。因為大部分的DOS程序需要大量的傳統存儲器,QEMM可以把一些程序加載到上述存儲器區域,因而增加傳統存儲器的自由空間。當時許多軟件,例如Lotus 1-2-3Microsoft Windows及一些遊戲軟件,都有使用EMS、XMS。 [1] 

QEMM發展歷史

它本來叫做QEMM-386。微軟在MS-DOS 4.01加入了HIMEM.SYS for XMS, EMM386.EXE for EMS。較早的 Windows/386 2.1也包含內置EMM提供Windows內的DOS視窗所需的EMS。但這個版本並沒有造出Upper Memory Blocks.
1991年發行的MS-DOS 5.0終於提供了UMBs。MS-DOS的EMM386一定要HIMEM先被加載,但是另一品牌的操作系統DR-DOS卻不用。MS與DR的DOS都要上層記憶區被手動找到並加載,而且MS-DOS需要用户預先定好多少存儲器要給EMS,多少存儲器要給XMS;然而功能強大的QEMM都不用以上這些額外步驟。
雖然QEMM功能較好,但是仍不敵微軟搭配MS-DOS出售的自行開發軟件,如MS-DOS 6的Memmaker程序。它的最後一版是QEMM 97,可以兼容Windows 95/98/ME, 但技術已經不太一樣。Windows 3.0與其後來版本加入了386增強模式,要求關閉所有的存儲器管理軟件。由於同一時間不可能有多個保護模式核心,而事實上,QEMM是叫Windows 加載特定的VxD周邊驅動程序,取代 Windows原本的功能,那就是WINHIRAM.VXD、WINSTLTH.VXD。 [2] 

QEMM內存管理

內存管理,是指軟件運行時對計算機內存資源的分配和使用的技術。其最主要的目的是如何高效,快速的分配,並且在適當的時候釋放和回收內存資源。
一個運行中的程序,譬如網頁瀏覽器在個人電腦或是圖靈機(Turing machine)裏面,為一個進程將數據轉換於真實世界及電腦存儲器之間,然後將數據存於電腦存儲器內部(在計算機科學,一個程序是一羣指令的集合,一個進程是電腦在運行中的程序)。存儲器能被實際組織在許多方法裏頭,例如磁帶或是磁盤,或是小數組容量的微芯片。 從1950年代開始,計算機變的更復雜,它被連接於許多種類的存儲器。內存管理的任務也變得複雜,甚至必須要在同一台機器上相同的時間運行多個進程
在存儲器內,一個程序(操作系統)在每一個數據區塊持續地追蹤實體位置,及移動實體上的數據去改善其性能及保證可靠性,對於每個用户層(user-level)的程序,操作系統分配一段虛擬內存空間,當進程起始時,不需要移動數據到實體設備間,數據存於磁盤內的虛擬內存空間,也不需要去配置主存空間給該進程,當用户有需要用到時,他們才會很自由地加載到主存內。
可以想像一個很大的程序,當他運行時變成進程,而大部分的存儲器空間都被存到磁盤內虛擬內存地址,需要用到的部分才被加載到存儲器內部提供服務。 [2] 

QEMM延伸內存

延伸內存eXtended Memory),指的是超過1MB以上的內存空間,在配備Intel 80286或以上的CPUIBMPC上。它是在1988年,由微軟、蓮花研究、英特爾和AST研究共同開會制定出來的規格,他們共同制定了延伸內存的定義、應用程序取用延伸內存的中斷呼叫,這個標準在MS-DOS的個人電腦時代,成為解決個人電腦內存不足的一種方法。
一般來説,在Intel 80286以上的個人電腦,超過640KB部分的RAM,通常都會對映到超過1MB以上的部分,使得在保謢模式下的程式可以存取它們。但即使沒有這種對映,還是有可能可以存取1MB以上的RAM。
延伸內存在真實模式只能透過EMS、UBM、XMS、HMA等方式來存取,只有在保護模式下執行的程式才可以直接存取到延伸內存。例如:Microsoft Windows,透過全域描述表(GDT)與多個局部描述表(LDT)可以存取這些內存,被稱為保護模式是因為被局部描述的節區不能被使用其他LDT的程式存取。被全域描述指派的內存節區有更嚴格的限制,當破壞時會引發硬件異常(通常是General Protection Fault),這使得在保護模式下執行的程式不會互相干擾。
保護模式下的操作系統(如Windows)也可以執行真實模式的程式,並提供延伸內存給他們。DOS保護模式界面是微軟所提供,在多工環境下使MS-DOS程式可以存取延伸內存的方法。 [1] 
參考資料
  • 1.    Brown, Ralf D.; Schulman, Andrew (July 1994). "QPI: The QEMM-386 Programming Interface". Dr. Dobb's Journal. Undocumented Corner. San Mateo, California: 123–131. Archived from the original on 2017-08-23. Retrieved 2017-08-23.
  • 2.    Quarterdeck MagnaRAM 2.0 Complete package Archived February 9, 2009, at the Wayback Machine.