Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
Technology

Multiple OSs Concurrently 97

Josh H. writes "VMware will said they will debut a product at Demo99 that lets the user run multiple OS's here. If this thing really works like they says it does, this could means no more reboots to change OS's for those of us running dual-boots."
This discussion has been archived. No new comments can be posted.

Multiple OSs Concurrently

Comments Filter:
  • Why don't they just include the necessary libraries to run Linux/MIPS applications on IRIX/MIPS? Like glibc, etc.
  • Sounds like a neat toy to have, if I ever rebooted for anything.
  • When I first was reading the article, I thought you would install this VMWare thing on your system first, then install other OS's on top of it. That seems like that would be a better way to go. I don't know a whole lot about this type of stuff, but it just seems like that would be faster?
  • Hi Ben!!!

    It's probably not new - but let's watch them be granted a patent on it anyway.... :-)
    --
  • The 386 and later processors had almost all special functions privilegied (memory table modifications and hardware access), except the function that enable to check in which ring (0 is kernel level, 3 is user level, some OS use level 1 and 2). The problem is the OS (Linux, NT, Win95) or DOS drivers (QEMM, EMM386, ...) will check in which level you are and refuste to run if you are in V86 mode or rnig other than 0... Except the instruction to query the processor ring level, the others important ones are privilegied and can be emulated.

    With lots of clever tricks you could intercept this instruction, that's what Merge (under SCO and others) and probably VMware does.

    I could imagine a way to intercept this instruction that would not completly kill the performance (in real mode the performance it would be bad, but not fatal, in protected mode, almost nil)... e-mail me for further details...
  • I have a hard time imagining how interacting with certain pieces of hardware would work. I mean, if we just consider a PNP sound card, which OS initializes it? When the card generates an interrupt, which OS handles it?

    With the price of computers coming down as quickly as they are, I think I'd rather just buy two computers if I really need to run two operating systems concurrently. The cost of a basic headless PC isn't that much more than the $300 asking price for the software and you don't have all of these kinds of headaches. Sounds like a bad idea to me.
  • At least this VMware stuff sounds better than that big load of bollocks about the reconfigurable supercomputer we had yesterday. It even seems quite plausible (remember that you can achieve a similar effect with OS/2, which can load another operating system while it is running, although only those that don't attempt to run in ring 0, like DOS, CP/M-86, Xenix, and the Win95 setup disk). We'd still have to see how this how this software would manage sharing of hardware resources (how can both OS's talk to the SCSI controller or Ethernet card at the same time?), and how it would compare to hardware partitioning a la IBM ES/9000.
  • No problem. You can configure XFree86 to use whatever weird resolution your card/monitor can deal with.

    --

  • Am I missing something? I submitted a link to Pixel Co. over a week ago and it never got posted. Around the same time I posted a reply to an article that never showed up. Is it because of the database problems? My breath? I'll brush, really!
  • DEC had (has?) a system called Galaxy that is capable of running WinNT, Digital Unix and OpenVMS on a 6 CPU system, and CPUs can be exchanged between operating systems.

    I really just want an 8400: 144 PCI slots (who knows how many independent busses this is?), to 28GB RAM and 14 - 600MHz CPUs. Fun....

  • It is possible to get the multiple OS's to share the same hardware. Concurrency is somewhat of a problem, though. The solution is to completely emulate the hardware, which is exactly what VirtualPC and RealPC do on the Mac. They emulate a SoundBlaster Pro, and IDE controller, and S3 card, etc. Then they translate all I/O operations to the equivalent Mac API.

    --
    Timur "too sexy for my code" Tabi, timur@tabi.org, http://www.tabi.org
  • Most people don't try Linux not because they're afraid to leave Windows, but because they don't need Linux.


    --
    Timur "too sexy for my code" Tabi, timur@tabi.org, http://www.tabi.org
  • I shoulda checked the Sheepshaver site before I posted, theyve got status on their LinuxPPC port of Sheepshaver:

    Status of the LinuxPPC version:

    * PPC/68k run-time environment: partly done (interrupts only handled by 68k)
    * OS utilities: done
    * Time Manager: done
    * Mouse: not yet implemented
    * Keyboard: not yet implemented
    * Video: under development
    * Sound: not yet implemented
    * Floppy: done except for disk change detection
    * Disks: done except for disk change detection
    * SCSI: no suitable API in Linux
    * CD-ROM: done
    * Host filesystem access: done (no resource forks)
    * Ethernet: not yet implemented
    * Serial I/O: done

    Im surpised at the disparity with the BeOS project, I imagine they werent doing much via a vm and instead did a lot of the original version as Beos drivers. In any case if they can get a version done providing low overhead and stability there will assuredly be Mac users migrating to Linux in droves, if for no other reason than to follow the trend.

    Oh, and multithreaded for SMP Id hope, though I seem to remember Sheepshaver running in a single thread on Be, which was also a dissappoint me as I have an SMP card which screams on Be.
  • The x86 line can't run virtual 386+ machines in hardware. If their product really did what they say it does, then ANY os would work on it, not just WinNT and Linux.

    My bets on them having recoded the lowest layer of the Linux kernel to abstract it a step from the hardware... Three years ago when I was bored out of my mind at work and was being forced to use NT, I'd thought about the possibility of having a core microkernel sitting directly on the hardware, and having customized kernels for Linux and NT that mapped their memory management, task switching, etc all through the microkernel.

    I wonder if they're claiming a patent on it... I know I've got a whole notebook of notes sitting around on the idea. :)
  • It seems strange to work on something, or even use something, like this considering that the price of machines, as recently reported here on slashdot, is approaching zero.
  • Very cool idea, and I really like the fact that a linux version will be out be for the winnt :)

    Anyway, I wonder if this will allow you to bind an os to a particular cpu in an smp type system. Now, that would really rock.
  • On a typical work day, I'll have 3 operating systems booted simultaneously on my Mac G3: The MacOS [apple.com], SoftWindows95 [insignia.com], and MachTen (BSD 4.4) [tenon.com].

    This seems to be an example of someone else trying to catch up to the same idea.

  • And I could be booting four -- just run MacOS under BeOS via SheepShaver...

    I don't see why this is a big new idea.
  • From http://www.vmware.com/products/forwindowsnt.html

    For example, with VMware Virtual Platform, you can take your personal or business applications with you, and run them on the machine of your choice. Or you can run Windows NT concurrently with other operating systems such as Linux® on a single standard PC.

    Bet you feel dumb now :) Never mind.
  • Or is it just something IBM did 30 years ago. Hmm.
  • You might want to look at the University of Utah's
    work on recursive virtual machines.
    http://www.cs.utah.edu/projects/flux/
    ftp://mancos.cs.utah.edu/papers/fluke-rvm-abs.ht ml
  • I read somewhere that SGI was working towards dual-boot Irix/Linux boxes that don't actually require a reboot. Anyone know if this is similar technology?

    If this VMware thing actually works, and the overhead is low (less than 10%) I'd buy it. I am a bit skeptical though...

    -beb
  • Things announced at Demo99 tend to be close to reality, i.e. not marketing BS. If this works, Redhat would be dumb not to buy into this company with some of their venture $$, just to be able to bundle it with their linux distro.

  • It's real. I saw it a couple of weeks ago; the VMWare people were kind enough to give a demo to a few of us Transmetans.
  • Have a look at their website, http://www.vmware.com/ - it's pretty informative, with architecture diagrams etc. Looks like a VM/390 style virtual machine hypervisor, i.e. each guest OS is transparently multitasked with other OSs. The only reason there are Linux and NT versions, IMO, is so that the control applications to toggle between OSs etc can run under an OS, and are therefore a bit easier to access. Any version should be able to run a wide range of guest OSs including Linux, NT, FreeBSD, Win98, etc.

    I've put my name down for the beta - it's pricey but then the market is probably quite limited, and it's not trivial to develop.
  • I have a hard time believing that something like
    this can be done without modifying any of the
    linux source code and NT source code. Well, I can
    believe they tweaked Linux kernel here and there
    but what about NT?

    It would be even more bizarre if they say that we can take an off the shelf Redhat CD and NT CD and install on top of VMware.
  • The Linux version is available soon, but the NT version is not? How is this supposed to be running multiple-OSes. Plus, how many users have extra space around their desktop? I have a 17" monitor and no extra space. Besides, 2 OSes is not that enticing. I also have BeOS crammed onto my computer.

  • $299 is a bit much for us OpenSource freaks. :) Maybe a WINE type project may arise from this.
  • Funny, but not quite what I meant. I was going for the "reverse engineer" or re-implementation of APIs and such. So I guess SAMBA might fit too?

    By the way, I'm sorry you think WINE sucks... Works for what I "need". :)
  • This is exactly what we need. Keep the possibility to run Windows so it is not painful to try out Linux.

    Most people don't want to switch to Linux because that are scared of not having all their little WinGizmos anymore.

    Slowly, people will stop using Windows and start using Linux more and more... After a while, Windows will only be used for games, its true nature since it is a toy anyway.
  • Do a search for (Compaq OR Digital) AND Galaxy.
    Schweet.

    K.
    -
  • > If their product really did what they say it does, then ANY os would work on it, not just WinNT and Linux.

    So you didn't read the web page either? Linux or NT are just the HOST NT. With the Linux version, you can indeed run ANY OS.

    > I wonder if they're claiming a patent on it... I know I've got a whole notebook of notes sitting around on the idea. :)

    As, I'm sure, does IBM. Perhaps something about their IMPLEMENTATION is patentable, but not the notion of Virtual Machines.
  • Virtualization of the 386 is pretty simple. Only the privileged instructions require emulation. Non-privileged instructions execute directly on the processor. The vmware executes NT and Linux as processes with normal, user-level security access. Thus when they attempt to execute priveleged-level code, they trap into vmware, which massages the instructions. For example, vmware will catch a TLB insert, and modify the mapping to match that which vmware desires.

    The designers of Disco (specifically Rosenblum) are behind vmware, so you can understand the product by reading the Disco papers at Stanford. Look for the FLASH project.

    Disco implements the vmware concept, but for IRIX. Their papers describe the performance impact caused by the virtualization, which is fairly negligible. If your program executes mainly non-privileged instructions, then the virtualized machine has no impact. Boot-up time of the OS probably sees the greatest impact, due to processor initialization, address space construction, and hardware probing.

    The performance impact caused by virtualized hardware devices can be minimized by coding drivers for NT and Linux that interact directly with vmware. I suspect vmware followed that route.


  • As if all the crap I have running at one time isn't enough to chew up my resources. Now I can add another OS to the pile. I'll bet the RAM and processor manufacturers are loving this.

    M
  • This looks like the Real Thing(tm).

    From what I can tell from their web site, you boot a primary OS, NT or Linux are the only two they going to support so far - and then from that OS you launch virtual machines that should be able to run any OS.

    I guess this is similar to how NT runs 16 bit windows apps.

    The only thing is, I would have though that the x86 chip would have to be able to virtualize itself entirely, i.e. provide a virtual machine with all the same capabilities of the actual chip itself. From what I understand, the VM mode of the x86 chips is a limited subset of the features of the chip itself.

    Also performance could be weird. It looks like each VM is just a process in the host OS, subject to the scheduling of the host OS. If you boot Linux from NT and NT decides to give a native process 90% of CPU, it doesn't look like there is much Linux, or the Virtual machine manager can do about it.

    -josh

  • actually it is new. The vm86() call cannot, and never will allow you to run another 32bit os. It supports DOS great because DOS doesn't put the cpu in "protected mode". Intel CPUs only have hardware support for virtualizing 8086s, an 80386 cannot be virtualized in hardware on an intel chip. Too bad they never bothered to fix this.
  • Then just setup a small linux partition which does virtually nothing from after the kernel boots. The kernel takes very little time to load, it's mostly the init scripts that take a while.
  • Why do people always feel the need to be so violent? Take a deep breath, drink some water.
  • Firstly, let me say that PixelWare appears to be very sour vaporware. I called them last year when I saw something about their product in InformationWeek. After pressing the question, they said ``yeah, it runs in Windows 95. Unix support will be out soon.'' That was six months ago. Read: it's not happening.

    Virtual machine emulation is interesting, however. Freed software like GNU/Linux or opensource software like BSD is, quite obviously, the easiest to encapsulate on a new platform. I've already got Linux (kernel 2.2.1 <grin>) sort of working in OS/2; I junked things like the memory-manager, and created a special filesystem that just talks to OS/2, rather than actually accessing disks. It is absolutely not complete: things like networking are missing and direct hardware access does not work yet. I really want to get in touch with the Linux kernel people and work on a new architecture--perhaps a VM architecture, for running on other platforms.

    I've also toyed with running Windows under other operating systems (in my case, it's Windows 95 under OS/2, but the same would apply for any OS under something like GNU/Linux or BSD). Here's what I've done so far:

    I started with Bochs, and put it in tracing mode. Then I booted Windows 95 up to the point where it loads the GUI. I took the resultant 750MB trace file (it took hours to generate) and began analyzing it for things like privileged instructions. Specifically, I wanted to watch the call flow for calls to the memory manager.

    Next, I tried hooking the memory manager calls (this was quite simple) and making some changes to Bochs

    This stuff is nowhere near pre-alpha quality yet. I'm more actively working on XCLIENT for OS/2 and some other OS/2 software at the moment. However, if you're working on a VM and would like to chat, feel free to drop me a note. It's not as hard as you think, and I did get Windows 95 to boot with my special memory manager.

    I also tried recoding Bochs to execute instructions natively, but that did not work. What looks like it might be promising is hooking the memory manager so that instructions that access memory (such as MOV EDX,[EAX]) can run natively. I haven't tested this, though. Emulating I/O hardware is silly, however--just write Windows 95 device drivers that place calls to the host operating system.

    Cheers,
    Joshua.
    You can see --jon. Postel here. Love that beard! [iana.org]

  • At the risk of bringing up both the MacOS & BeOS in such a Linuxcentric realm, may I mention Sheepshaver. It's a $50 prog for BeOS which allows the MacOS to run in a window (or fullscreen) at native speed, concurently with the BeOS, allowing data transfer between os's, etc. A version for LinuxPPC is underdevelopment. The sheepshaver site is http://www.sheepshaver.com, for any interested folks.

    -k-
  • http://www.thepixelcompany.com/myspace/product/ind ex.html

    "It's not Windows-dependent - which makes it possible to run two operating systems (like Windows and Unix) independently, and simultaneously."

    The system requirements, however, say only Win95/98.

    "...the MySpace control bar has limitless content possibilities. It can launch any technology - it can manage applications; manage hardware; link to the Internet; control your CD; WebTV, and more. It can also be used to add Java applets and other operating systems. But most importantly, MySpace is always right in front of the user."

    It sounds like a FreePC sort of advertising area drawn outside the standard resolution scan area.

    -tak
  • by Darmox ( 16016 )
    I had a bit of a thought about this... Say you are running the Linux version. That'll be one process, right? Under that you run NT or 95... Whichever, it's not important. Anyways, 95 for instance can't use multiple processors. BUT, Linux can. So, if the app is threaded, could you expect the increase in performance? Even if not, you could still have one processor for Linux and one doing 95 stuff... Anyways, looks like some really cool stuff... Just a thought on it.
    Darmox
  • I don't know about anyone else but I have never had any "extra" screen space, as a matter of fact, I never seem to have enough.

    "Trouble is, just because it's obvious doesn't mean it's true"

  • maybe you should take your own advice, the web page clearly and repeatedly states that it runs real mode or protected mode OSes, including NT4. This of course is not new, since you can do this on SCO unix using "Merge."
  • You are angry that you don't know what a self-virtualizing instruction set is; huh, guy?
  • How will running two O/S's affect users like myself running lowly p166's? No Dice.
  • So at a certain level, before mainstream acceptance, programs like this will be seen as a try before you buy type scenario...
    "I've heard all these neat things about Linux, but I still need to use WinNT for my daily operations..."
    This user then has the chance to try out Linux as painlessly as possible, if VMWare isn't a hoax, because Linux will just be another program on an NT machine. The user will then come to realize that Linux is stable and can do most of what is needed, and switch accordingly.

    However, a dearth of applications will prevent people from trying, not just using, Linux, so this program fulfills some of that loss. VMWare is going to help Linux just through sheer exposure.

    The problem I see is that if Linux takes more resources while under NT because of overhead, it's much vaunted stability and resource thriftiness may be lost. We shall see.

    AS =)
  • Now, if this thing will work on a dual-processor machine with a dual-headed video card - i.e. one proc + one head per OS - then I'll definitely be interested...

    Have to keep an eye on this one.
  • I've not heard anyone mention bochs written by Kevin Lawton. I found out about it here, on Slashdot. It's a virtual 386 that will run on any Unix flavor (Mac and Win too). I created a 400MB disk image, fdisked it, and installed Windows 95. Was cool to see Windows running in a Linux Xterm. Too slow for everyday use but he's working on some tricks to speed things up.
  • keep me posted on that!
  • I remember being flamed over and over a few months back for claiming that this was possible :-)

    Intel CPU's can't be fully virtualized. However, there's nothing stopping someone from virtualizing most of it, and "verify" code before you let it run natively. Most code would never do anything that would give you any problems, and could be executed directly. The small parts that would cause problems, can be modified to call a handler that emulate whatever the original code tried to do.

    Of course this causes code to run slower, as you'd have to do a lot of work to ensure the integrity of the system, but it would still be a lot faster than a full emulater like Bochs.

  • ROFL

This screen intentionally left blank.

Working...