Exploitation of processor virtualization hardware to accelerate Minix - Minix

This is a discussion on Exploitation of processor virtualization hardware to accelerate Minix - Minix ; Hi Folks, this idea has probably been kicked around already, but would it be possible for Minix to exploit the virtualization hardware that is built into Intel and AMD processors (VT and V/SVM)? The big strength of MINIX is that ...

+ Reply to Thread
Results 1 to 2 of 2

Thread: Exploitation of processor virtualization hardware to accelerate Minix

  1. Exploitation of processor virtualization hardware to accelerate Minix

    Hi Folks, this idea has probably been kicked around already, but would
    it be possible for Minix to exploit the virtualization hardware that
    is built into Intel and AMD processors (VT and V/SVM)? The big
    strength of MINIX is that device drivers run in user space and hence
    cannot introduce bugs into the kernel. With monolithic kernels like
    Linux, these device drivers all have read/write access to kernel state
    data, and can potentially corrupt it, interfering with the kernel's or
    one another's function. As time goes by, more and more devices need
    to be supported, and hence more device drivers need to be developed.
    The problems are only going to get worse. Debugging will become more
    difficult and less certain. MINIX avoids these problems, but incurs
    extra overheads every time a device driver needs a kernel service,
    which is often.

    Virtualization allows multiple independent operating systems to run on
    one piece of hardware. Each OS thinks that it's running in superuser
    mode, but in fact it runs in normal user mode. Whenever an OS issues
    a privileged instruction, the hardware traps it and control passes to
    the hypervisor, the real OS that controls the hardware. It validates
    the trapped instruction, and if OK, carries out the required service
    and returns control to the interrupted process. Originally, the
    interrupt and validation was all carried out in software, with
    considerable overheads. Intel and AMD have introduced new hardware
    instructions greatly reduce these overheads.

    Could MINIX exploit these new hardware facilities to enable device
    drivers to run quicker, allowing them to issue privileged instructions
    when they need to, and relying on the hardware to validate these
    instructions and to give effect to them if valid? This could
    considerably reduce the overheads implicit in running device drivers
    in user space.


  2. Re: Exploitation of processor virtualization hardware to accelerate Minix

    In article <1174455361.842150.217210@l77g2000hsb.googlegroups. com>,
    Tijaska wrote:
    >Could MINIX exploit these new hardware facilities to enable device
    >drivers to run quicker, allowing them to issue privileged instructions
    >when they need to, and relying on the hardware to validate these
    >instructions and to give effect to them if valid?


    In general, the answer is no. The design of Minix is such that the kernel
    gets involved when a policy decision is required. And in general, you
    cannot program the hardware to make those decisions.

    There may be cases where the new hardware can be used to speed things up.
    However, that requires careful study of the performance of the current
    implementation to see how much the theoretical gain would be. Otherwise
    you just make the system less portable for very little gain.


    --
    That was it. Done. The faulty Monk was turned out into the desert where it
    could believe what it liked, including the idea that it had been hard done
    by. It was allowed to keep its horse, since horses were so cheap to make.
    -- Douglas Adams in Dirk Gently's Holistic Detective Agency

+ Reply to Thread