Re: Virtual machines, etc.

Tomasz Rola (rtomek@cis.com.pl)
Tue, 25 Aug 1998 21:38:16 +0200 (CEST)


On Sat, 22 Aug 1998, Zack Weinberg wrote:

> > I've been looking for some online materials about virtual machines on IBM
> > System 360 and found almost nothing (I know, it was long long ago...). In
> > fact, rather nothing than almost :-). If it exists somewhere on the net it
> > must be very well hidden. Could someone point me to any link? What I'm
> > interested in is how did it work? Not from system side, rather from the
> > user. I'm just looking for some hints on this idea (for being able to get
> > better view of the problem) and not for the solution.
>
> I'm not an expert on mainframes but I'd guess there are printed references
> available from IBM. Consult your local bookstore. (Descendants of the
> S/360 are still in wide use.)

Well, yes. But I am not to buy anything like S/360 or one of its
descendatns :-). I will take a look, however.

> > BTW, is someone doing something like this for Linux?
>
> You can't, at least not on x86; the hardware doesn't allow it. In order to
> do real virtual machines you have to be able to run a "client" operating
> system in the virtual machine and have it not know the difference. 680x0
> for x>=2 and some others allow this; x86 does not.

Hm, something was telling me to not sell my old Amiga... And I didn't
listen.

But, I am not talking about vm with "processor inside the processor" but
rather with "kernel inside the kernel". I'm not the hardware guy, to be
frank. And doing this for x86 or 680x0 would not be very portable. Perhaps
it shouldn't be named virtual machine but in the namespace this term seems
most close (for me). I think this might be useful for improving server
security - having such a concept built into the kernel may make some
common threats no longer valid. For example, you would not take care if
someone could hack your machine and load some enemy module to mask his
activity, because he would not be able to do so even if he were root.
Using some other OSes with this concept would be also interesting - say,
Free DOS. This, hovever, can be done even now with DOSEmu.

Well, by now, I think doing more hardware-oriented virtual machine on
Linux could be real good for the system. But I don't have access to
anything more advanced than x86 and it is crap even for me, pure-software
boy. So, I can only think about something portable - therefore it may not
be as functional as old S/370 was. But it may still be very useful, IMHO.

>
> > Also, I'm interested in JVM (Java Virtual Machine) built into the kernel.
> > Has somebody started this already on Linux? Yes, I know about Java
> > support in current kernels but it's in user space. I'm interested in
> > kernel-space one. How about other languages - Lisp, perhaps ?...
>
> You don't want to do that. There is no benefit available from putting a
> language interpreter into the kernel, and you lose the protections the
> kernel provides to user-space programs.

I'm not quite sure you are right. Perhaps there is no use to put in in
the kernel for normal. But I am thinking about doing some kind of research
work.

What is the difference between inserting java code and inserting - say -
module? Supposing that one will scrap such things like exceptions (perhaps
they could be added later) and this will be very primitive code
interpreter, there are possibly no security threats. And what a great
research tool would it be!

> > Third problem I would like to ask about is if there is any work going to
> > make Linux kernel hotswappable? I mean, having kernel, say, 2.0.33 I'd
> > like to replace it with kernel 2.0.34 (or better 2.0.36 :-) ) without the
> > need for reboot.
>
> Again, the hardware does not allow this. You would have to be able to
> transfer the hardware state of every peripheral on the system from old to
> new kernel, which is not possible in general.

Well, why not? If the driver has some state, it can be transferred to new
driver in new kernel. And you don't need to touch devices while switching
kernels. So you get new driver with older' state and device doesn't know
about the switch.

>
> zw
>

bye
T.

--
** Tomasz Rola          I am going to forward myself to /dev/null  **
**                      To check if data is really discarded there **
**                      Or is it a gate to another Universe...     **
** mailto:rtomek@cis.com.pl ,    http://www.cis.com.pl             **

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html