EMM386

EMM386
Deweloperzy Microsoft , IBM , DR , Datalight , zespół FreeDOS
Pierwsze wydanie 1988, 34–35 lat temu
System operacyjny MS-DOS , PC DOS , DR DOS , ROM-DOS , FreeDOS
Platforma Intel 80386
Typ Rozszerzony menedżer pamięci, Command

EMM386 to rozszerzony menedżer pamięci MS-DOS firmy Microsoft , PC DOS firmy IBM , DR-DOS firmy Digital Research i ROM-DOS firmy Datalight , który jest używany do tworzenia pamięci rozszerzonej przy użyciu pamięci rozszerzonej w procesorach Intel 80386 . We FreeDOS dostępny jest również plik EMM386.EXE .

Przegląd

EMM386.EXE może mapować pamięć na nieużywane bloki w górnym obszarze pamięci (UMA), umożliwiając sterownikom urządzeń i programom rezydentnym zakończenie i pozostanie „ładowanie wysokie”, zachowując konwencjonalną pamięć .

Technika ta prawdopodobnie pojawiła się po raz pierwszy wraz z rozwojem CEMM , dołączonego do Compaq MS-DOS 3.31 w 1987 r. Wersja Microsoftu pojawiła się po raz pierwszy, wbudowana, z Windows / 386 2.1 w 1988 r. I jako samodzielny EMM386.SYS z MS-DOS 4.01 w 1989 r. ; bardziej elastyczna wersja EMM386.EXE pojawiła się w MS-DOS 5.0 w 1991 roku.

wirtualny tryb 8086 procesora . To wymusza dostępy do pamięci wykonywane przez aplikacje DOS, aby przechodziły przez MMU procesora (wprowadzone w 386), a wpisy tablicy stron używane przez MMU są konfigurowane przez EMM386 w celu mapowania pewnych regionów w górnej pamięci na obszary pamięci rozszerzonej (uzyskiwane przez EMM386 poprzez menedżera pamięci rozszerzonej HIMEM.SYS ). Technika ta umożliwiła zarówno EMS (pamięć rozszerzona), jak i UMB - z których oba wydają się aplikacjom DOS-owym jako pamięć w górnym obszarze, ale w rzeczywistości są mapowane na fizyczne lokalizacje pamięci powyżej 1 MB.

Tymczasowo wyłącza się podczas sesji systemu Windows w trybie rozszerzonym 386 , a jądro trybu chronionego systemu Windows przejmuje jego rolę.

Windows używa API GEMMIS do przejęcia zarządzania pamięcią z EMM386.EXE. Globalna specyfikacja importu EMM (GEMMIS) jest obsługiwana za pośrednictwem dokumentu dostępnego dla wybranej liczby dostawców menedżerów pamięci („Specyfikacja importu stronicowania Windows/386”).

Tylko kilka menedżerów pamięci zaimplementowało API GEMMIS, niektóre z tych, które go zawierają to: EMM386.EXE, Quarterdeck QEMM , Qualitas 386MAX , Helix Netroom i DOSBox wbudowany w DOS . W szczególności brakuje menedżerów pamięci FreeDOS.

Wszystkie menedżery pamięci FreeDOS (HIMEMX.EXE, JEMM386.EXE, JEMMEX.EXE) nie implementują interfejsu API GEMMIS, a system Windows nie uruchamia się, gdy działa w połączeniu z JEMMxxx, ponieważ system Windows nie przejmuje roli zarządzania pamięcią. Windows ME , Windows 98 , Windows 95 , Windows for Workgroups 3.1x i Windows 3 .xx, wszystkie zakończą się niepowodzeniem, a JEMMxxx wyświetli:

 Nie można uruchomić systemu Windows, gdy aktualnie zainstalowane oprogramowanie w trybie chronionym jest uruchomione. 
 Zamknij oprogramowanie działające w trybie chronionym, a następnie spróbuj ponownie. Może być konieczne ponowne uruchomienie komputera.  

Dzięki JEMMxx możliwe jest uruchamianie systemów Windows 3.x i Windows for Workgroups 3.1x z ograniczonymi możliwościami, zmuszając system Windows do korzystania z trybu standardowego; tj. przy użyciu trybu chronionego 80286, a nie trybu rozszerzonego 80386. Wymagane są trzy warunki:

  1. ogranicz całkowity rozmiar XMS do 64 MB
  2. EMS musi być włączony, nie można użyć opcji NOEMS. Na przykład JEMMEX X2MAX=65422
  3. Windows działa tylko w trybie standardowym, WIN /S lub WIN /2

Należy zauważyć, że system Windows w trybie standardowym ma ograniczoną funkcjonalność, brakuje mu pamięci wirtualnej, pomija sekcję [386Enh] w pliku SYSTEM.INI, a żadne sterowniki urządzeń w [386Enh] nie są ładowane.

Historia

Historia wersji EMM386
W pakiecie z Data Nazwa pliku Wersja
MS-DOS 4.01 listopad 1988 EMM386.SYS 4.00
Okna 3.0 maj 1990 EMM386.SYS 4.10.0419
MS-DOS 5.0 czerwiec 1991 EMM386.EXE 4.20.06x
IBM PC DOS 5.0 czerwiec 1991 EMM386.EXE 4.20.06x
IBM PC DOS 5.02 wrzesień 1992 EMM386.EXE 4.33
MS-DOS 5.00a listopad 1992 EMM386.EXE 4.33
Okna 3.1 kwiecień 1992 EMM386.EXE 4.44
Windows dla grup roboczych 3.1 październik 1992 EMM386.EXE 4.44
MS-DOS 6.0 marzec 1993 EMM386.EXE 4.45
IBM PC DOS 6.1 czerwiec 1993 EMM386.EXE 4.45
MS-DOS 6.2 wrzesień 1993 r EMM386.EXE 4.48
Okna 3.11 listopad 1993 EMM386.EXE 4.48
Windows dla grup roboczych 3.11 listopad 1993 EMM386.EXE 4.48
MS DOS 6.21 marzec 1994 EMM386.EXE 4.48
IBM PC DOS 6.3 kwiecień 1994 EMM386.EXE 4.48
MS-DOS 6.22 czerwiec 1994 EMM386.EXE 4.49
IBM PC DOS 7.0 kwiecień 1995 EMM386.EXE 4,50
IBM PC DOS 2000 maj 1998 EMM386.EXE 4,50
Okna 95 sierpień 1995 EMM386.EXE 4,95
Okna 98 czerwiec 1998 EMM386.EXE 4,95

Zobacz też