Changes between Version 47 and Version 48 of GSoC/2013/ParavirtualizationOfRTEMS


Ignore:
Timestamp:
Sep 19, 2013, 6:17:02 PM (6 years ago)
Author:
Phipse
Comment:

/* Misc */ deleted, not relevant

Legend:

Unmodified
Added
Removed
Modified
  • GSoC/2013/ParavirtualizationOfRTEMS

    v47 v48  
    520520
    521521<references/>
    522 
    523 
    524 = Misc =
    525 
    526 ''Under construction''
    527 
    528 ''' Virtual CPU state/model '''
    529 
    530 In a virtual environment the CPU is shared among several virtual machines.
    531 There are privileged instructions (e.g CLI/STI) which would allow the VM to prevent the hypervisor to switch execution to another VM.
    532 Besides that there are instructions altering the CPU state without notice of the hypervisor or another VM.
    533 To prevent these disturbances it is common practice to provide each VM with an own virtual CPU implemented in software.
    534 So the VM can for example only disable interrupts on it's virtual CPU.
    535 This state change is persistent, but only on the virtual CPU model and isn't written out to the hardware CPU.
    536 This ensures the separation of all VMs in the system.
    537 Additionally, the hypervisor can inspect the virtual CPU state and alter it in case of errors. 
    538 
    539 '''How is it in POK?'''
    540 
    541 I haven't found a pleasing alternative for the virtual CPU yet.
    542 
    543 '''Paravirtualization'''
    544 
    545 Is the method to run the guest system on the host system, while modifying the guest source code to access host system functionality directly.
    546 
    547 '''Paravirtualization layer'''
    548 
    549 Set of functions headers, providing an defined interface to RTEMS as well as to the host system.
    550 RTEMS will call these functions instead of the hardware.
    551 The host needs to provide enough source code to the guest to implement these function, even if they emit a call to a host function.
    552 Hopefully, the compiler is optimizing this additional function call.
    553 
    554 Alternatively, the host provides a library to be included at link-time, to resolve all missing references.