Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
en:docs:general:mvm [2014/06/12 21:42] – [VM86 on Intel, and Hardware-assisted virtualization] valerius2k | en:docs:general:mvm [2023/11/26 14:03] – [MVM server] prokushev | ||
---|---|---|---|
Line 7: | Line 7: | ||
The MVM server is a central server of the MVM personality -- the infrastructure for running multiple virtual machines on top of L4 microkernel. It is almost separate from OS/2 personality, | The MVM server is a central server of the MVM personality -- the infrastructure for running multiple virtual machines on top of L4 microkernel. It is almost separate from OS/2 personality, | ||
- | So, the MVM server exposes some interfaces to other OS personalities to be controlled by them. Also, it starts VM's, which are executed in the context of a VM monitor, running a guest OS (DOS, for example). The VM environment is defined by the VDD's ((Virtual Device Drivers)) loaded. The MVM server loads VDD's, which are a kind of plugins. Also, it exports some helper API's for VDD's via MVDM.DLL. | + | So, the MVM server exposes some interfaces to other OS personalities to be controlled by them. Also, it starts VM's, which are executed in the context of a VM monitor, running a guest OS (DOS, for example). The VM environment is defined by the VDD's ((Virtual Device Drivers)) loaded. The MVM server loads VDD's, which are a kind of plugins. Also, it exports some helper API's for VDD's via [[en: |
==== Virtual Device Drivers (VDD' | ==== Virtual Device Drivers (VDD' | ||
Line 17: | Line 17: | ||
Also, as we're told previously, to share the screen with OS/2 apps and apps of other personalities, | Also, as we're told previously, to share the screen with OS/2 apps and apps of other personalities, | ||
- | This is done with a special VDD's, like VVIDEO (VVGA, VSVGA, etc) implementiing a video mode support in a DOS window (or fullscreen). The DOS window is implemented as a special DLL (pmvdmp.dll) which was loaded by PM. It communicates with a VM via DosRequestVDD and implement the video functions via GPI calls (for windowed mode, so it is a PM application, | + | This is done with a special VDD's, like VVIDEO (VVGA, VSVGA, etc) implementiing a video mode support in a DOS window (or fullscreen). The DOS window is implemented as a special DLL (pmvdmp.dll) which was loaded by PM. It communicates with a VM via DosRequestVDD and implement the video functions via GPI calls (for windowed mode, so it is a PM application, |
For windowed WinOS/2 sessions, it existed the solution of using a so-called PM shield (seamless.dll) and WinOS/2 shield (winsheld.exe). The 1st one is an " | For windowed WinOS/2 sessions, it existed the solution of using a so-called PM shield (seamless.dll) and WinOS/2 shield (winsheld.exe). The 1st one is an " | ||
Line 31: | Line 31: | ||
==== The DOS emulation kernel (doskrnl) ==== | ==== The DOS emulation kernel (doskrnl) ==== | ||
- | The DOS emulation kernel is a special rehosted DOS kernel working via OS/2 (or PN ((Personality Neutral))) services. For example, file system API's of int 21h are implemented via OS/2 (or PN) file API's. | + | The DOS emulation kernel is a special rehosted DOS kernel working via OS/2 (or PN ((Personality Neutral))) services. For example, file system API's of int 21h are implemented via OS/2 (or PN) file API's. Access to OS/2 API's done via [[en: |
==== Instruction Set Translator (IST) ==== | ==== Instruction Set Translator (IST) ==== | ||
- | The IST is a DLL, emulating the instructions of Guest hardware via Host CPU instructions. It exports a set of entry points, each correspoinding | + | The IST is a DLL, emulating the instructions of Guest hardware via Host CPU instructions. It exports a set of entry points, each corresponding |
The similar component exist in QEMU -- but it is linked statically with the emulator binary. | The similar component exist in QEMU -- but it is linked statically with the emulator binary. | ||
Line 48: | Line 48: | ||
Microkernels and Hypervisors are very similar things. Microkernels implement similar features. For example, the Fiasco.OC microkernel supports SVM and VT-x and allows to run unmodified Linux in very thin VM's. This feature can be utilized in our MVM personality too. | Microkernels and Hypervisors are very similar things. Microkernels implement similar features. For example, the Fiasco.OC microkernel supports SVM and VT-x and allows to run unmodified Linux in very thin VM's. This feature can be utilized in our MVM personality too. | ||
+ | |||
~~DISCUSSION~~ | ~~DISCUSSION~~ | ||