en:docs:general:mvm

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
en:docs:general:mvm [2023/11/14 13:44] prokusheven: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, but can be controlled by OS/2 programs via DosOpenVDD/DosCloseVDD/DosRequestVDD API's.  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, but can be controlled by OS/2 programs via DosOpenVDD/DosCloseVDD/DosRequestVDD API's. 
  
-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:docs:os2:modules:mvdm|MVDM.DLL]].
  
 ==== Virtual Device Drivers (VDD's) ==== ==== Virtual Device Drivers (VDD's) ====
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. Access to OS/2 API's done via SVC API (supervisor call?) which is trap of HLT instruction followed by call number and inverted call number.+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:docs:mvm:api|SVC API]] (supervisor call?) which is trap of HLT instruction followed by call number and inverted call number. Also DOSKRNL provides MVM specific API for DOS applications. See [[en:docs:kernel:doskrnl|DOSKRNL]] documentation for more info.
  
 ==== Instruction Set Translator (IST) ==== ==== Instruction Set Translator (IST) ====
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~~