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 ...
-
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.
-
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