You are not logged in.

#1 2006-09-15 15:02:48

Dusty
Schwag Merchant
From: Medicine Hat, Alberta, Canada
Registered: 2004-01-18
Posts: 5,986
Website

Has anything like this been done (Virtualization)

Hey all,

I'm not terribly curious about virtualization, but the OS inside an OS concept is kind of neat, and I've recently found myself running a remote Windows in rdesktop so I could have access to a decent and an inferior OS from the same keyboard.

As far as I can tell, virtualization usually entails running one OS inside another OS, kind of a master/slave thing. I was wondering if something has been done where two operating systems can be run in parallel. I thought maybe a stripped down and customized Linux kernel that would boot first, followed by virtually booting two different operating systems on different virtual consoles, for example. Even more points if it would be possible to have the two OSs on different screens in a dual screen system and be possible to copy paste, pipe, mount, or otherwise transfer data between them.

It'd be interesting if multiprocessor and multicore systems could have a CPU dedicated to each system...

Was just wondering if the "linux is slow when I run it inside Windows" or the "Windows is slow when I run it inside Linux" phenomenons could be reduced by running the two in parallel, and if anything like this has been, or could be done.

Dusty

Offline

#2 2006-09-15 15:09:23

nogoma
Member
From: Cranston, RI
Registered: 2006-03-01
Posts: 217

Re: Has anything like this been done (Virtualization)

IIRC, Xen works more like you describe, although I'm not sure the dual display thinger is possible. Of course, you're restricted to running OSes that have kernels that can be Xen-ified, i.e. not Windows, so perhaps this is not what you're really looking for. If you do want something where Windows is in parallel, I think you'd have a problem, as I think the kernel needs to be modified to allow sane sharing of hardware resources when you truly want to run them in parallel (I don't think Xen is even really doing it truly in parallel, but has a small host OS that is responsible for making the different guest OS instances switch, and makes sure they each get equal share). Stuff like VMWare and whatnot manage this by having the guest OS running in a child process on the host OS, so the VMWare application can manage all of the guest OS's requests for resources. In that case, however, the VMWare application is subject to the host OS's scheduling, so it can't guarantee its guest OS gets a fair share of processor time.


-nogoma
---
Code Happy, Code Ruby!
http://www.last.fm/user/nogoma/

Offline

#3 2006-09-15 15:37:26

Mr Green
Forum Fellow
From: U.K.
Registered: 2003-12-21
Posts: 5,893
Website

Re: Has anything like this been done (Virtualization)

http://digg.com/linux_unix/Xen:_Windows … ly_faster)

Vmware is a os in a window .....

Xen runs many kernels at once

Would be cool to run a kernel per core but I'm not sure it works like that (would love to try it!)

Xp ... whats that lol


Mr Green

Offline

#4 2006-09-15 16:18:14

Dusty
Schwag Merchant
From: Medicine Hat, Alberta, Canada
Registered: 2004-01-18
Posts: 5,986
Website

Re: Has anything like this been done (Virtualization)

nogoma wrote:

If you do want something where Windows is in parallel, I think you'd have a problem, as I think the kernel needs to be modified to allow sane sharing of hardware resources when you truly want to run them in parallel

Hmm... well, I was thinking more like having a well-designed host-OS that is designed exclusively for virtualization, and then having two child OS's (ie: Linux and Windows) running inside this host in parallel. The trick would be to take out all junk in the host OS so that it would take as little processing power away from the children as possible, while still allowing them to run unmodified.

Dusty

Offline

#5 2006-09-15 16:55:38

Mr Green
Forum Fellow
From: U.K.
Registered: 2003-12-21
Posts: 5,893
Website

Re: Has anything like this been done (Virtualization)

Xen is the closest to that atm ....

not sure if anyone here has had it running (under Arch!)

very complex set up ....

Would rather run OSX under Linux lol.... sweeeet


Mr Green

Offline

#6 2006-09-15 18:21:34

Dusty
Schwag Merchant
From: Medicine Hat, Alberta, Canada
Registered: 2004-01-18
Posts: 5,986
Website

Re: Has anything like this been done (Virtualization)

Mr Green wrote:

not sure if anyone here has had it running (under Arch!)

Im not talking about running anything under anything... more like a new distro (and probably kernel patchset as well) designed specifically to run two OS's and not do much else but allow each OS to talk to the hardware without stomping on the other OS.

My interest is mostly academic, I don't really need this kind of thing right now, I just wondered if it had been done. Since apparently not, what do people think of the idea, is it possible, would it be worthwhile? Again, I don't really intend to do anything with it (talking to hardware is something I let other people do... I only curse it!), just wanted to get the idea out there in case someone wanted to run with it, point out difficulties, whatever.

Dusty

Offline

#7 2006-09-15 18:28:03

Mr Green
Forum Fellow
From: U.K.
Registered: 2003-12-21
Posts: 5,893
Website

Re: Has anything like this been done (Virtualization)

ok  :oops:  I'll built it for you, I know how you hate to compile stuff ;-)


Mr Green

Offline

#8 2006-09-15 20:03:23

cactus
Taco Eater
From: t͈̫̹ͨa͖͕͎̱͈ͨ͆ć̥̖̝o̫̫̼s͈̭̱̞͍̃!̰
Registered: 2004-05-25
Posts: 4,622
Website

Re: Has anything like this been done (Virtualization)

Dusty, the closest thing I can think of that you are talking about would be vmware esx server.

It is a customized os (linux based I do believe), that runs on bare iron. It is specifically designed to handle only such things as virtualization and some other hardware stuff.

You then run your os instances on top of it, just like with regular vmware.

The unlerlying vmware-os does nothing more than handle the virtualization and a select few other things (interface and such).

Xen is similar in scope. The unerlying os handles virtualization and hardware.
You can have xen using a mountpoint directly, or use a special file for its filesystem use.

The host Xen can be as stripped down as it can be..and really only needs to support the hardware, have Xen support in the kernel, and have hardware devices that are needed.

Then it is a matter of network attaching to the Xen instances.

So..virtualization as it currently stands, requires some initial system to handle the hardware interface, and the cpu scheduling, interrupts, etc.
The host os can be made very very thin (vmware-esx, stripped down xen install, stripped down openvz base install), but there needs to be something to handle that lower layer stuff.

There are different approaches to virtualization, but that is a differnet topic.

for reference, I have a workstation running vmware server (the free version), with a few linux installs, and a few windows VMs on it.

From the host, I remote desktop to one of the windows vm's, to handle building some python-win stuff. Works pretty well.
My linux vm's run things like a dns server, samba, web devel environments, etc.


"Be conservative in what you send; be liberal in what you accept." -- Postel's Law
"tacos" -- Cactus' Law
"t̥͍͎̪̪͗a̴̻̩͈͚ͨc̠o̩̙͈ͫͅs͙͎̙͊ ͔͇̫̜t͎̳̀a̜̞̗ͩc̗͍͚o̲̯̿s̖̣̤̙͌ ̖̜̈ț̰̫͓ạ̪͖̳c̲͎͕̰̯̃̈o͉ͅs̪ͪ ̜̻̖̜͕" -- -̖͚̫̙̓-̺̠͇ͤ̃ ̜̪̜ͯZ͔̗̭̞ͪA̝͈̙͖̩L͉̠̺͓G̙̞̦͖O̳̗͍

Offline

#9 2006-09-15 21:34:26

iphitus
Forum Fellow
From: Melbourne, Australia
Registered: 2004-10-09
Posts: 4,927

Re: Has anything like this been done (Virtualization)

have been using vmware-server here myself too.

for any process, you can set processor affinity using schedtool,
http://freequaos.host.sk/schedtool/
i wonder whether setting a process to be on one cpu, then setting it to be realtime would affect the rest of the syste.

James

Offline

#10 2006-09-16 03:56:59

Cam
Member
From: Brisbane, Aus
Registered: 2004-12-21
Posts: 658
Website

Re: Has anything like this been done (Virtualization)

if you don't use windows for heavy things and have an older pc around you could look at synergy. its rad, one keyboard/mouse, dual screens, dual OSes but it feels like one. they guy is even working on a way to drag-and-drop between them

Offline

#11 2006-09-16 07:12:26

Mr Green
Forum Fellow
From: U.K.
Registered: 2003-12-21
Posts: 5,893
Website

Re: Has anything like this been done (Virtualization)

I got like a question... maybe ot .. but if you have dual cores .. could/can you run two kernels?

(How do we know that other cpu is used?)

Know when I boot up I get two logos (thought system was fscked at first lol!)

Know that dual core does not mean twice at fast but can we make use of extra core?

Just curious ....


Mr Green

Offline

#12 2006-09-16 15:46:56

Dusty
Schwag Merchant
From: Medicine Hat, Alberta, Canada
Registered: 2004-01-18
Posts: 5,986
Website

Re: Has anything like this been done (Virtualization)

Your kernel should be automatically taking advantage of the two cores, since its recognizing them (two logos). It will schedule some tasks on one and some on the other (actually now I think about it, I'm not sure if the kernel does the scheduling or if the CPU schedules the two cores itself), and they will be running simultaneously, unless both tasks are awaiting the same hardware (hard disk, network card, etc).

I'm not sure why you would want to run two kernels, but it is an interesting theoretical question. The kernel is responsible for a lot more than the CPU though -- memory, hard disk I/O, printing, sound, network, etc. All of these resources are shared. Runnining two kernels and having them communicate over these resources would be very.... strange.

Dusty

Offline

#13 2006-09-16 20:01:08

Mr Green
Forum Fellow
From: U.K.
Registered: 2003-12-21
Posts: 5,893
Website

Re: Has anything like this been done (Virtualization)

ok does that like mean kernel needs to be compiled to *see* the two cores ?

justt askin'

Two kernels thats just dumb lol ..


Mr Green

Offline

#14 2006-09-16 23:48:20

Cam
Member
From: Brisbane, Aus
Registered: 2004-12-21
Posts: 658
Website

Re: Has anything like this been done (Virtualization)

Mr Green wrote:

ok does that like mean kernel needs to be compiled to *see* the two cores ?

justt askin'

Two kernels thats just dumb lol ..

dual-core is just a form of smp. any smp kernel will see and use both cores just fine although a lot of apps aren't threaded and won't use both. i can always tell with conky, when i'm doing something cpu intensive yet conky reports ~51% cpu usage it's obviously using only one core. crack open top, push 1 to see each cpu independently and start another process and you see user jump on the idle cpu which is the kernel assigning the new process to your second core.

Offline

Board footer

Powered by FluxBB