Plex86 Runs DOS
Adam Bertil was one of a number of people who've written about the recent announcement from
www.plex86.org that Plex86 will now run DOS applications. Kevin Lawton apparently did the work and a screenshot is on Plex86 [?] .org.
← Back to Stories (view on slashdot.org)
DOS (or what's left of it) will be removed in Whistler
Ya know, I've got this bridge in New York, and I'm having a hard time keeping up the maintenence. So I'll tell ya what, I'll sell it to ya for, oh, five hundred bucks. It's the one connecting Manhattan and Brooklyn.
Steven E. Ehrbar
How soon until this gets added to the Mozilla project so I can run Word for DOS in my web browser that has been customized to have a Word 2000 GUI interface?
Speak truth to power.
I'm sure there are enough people around here that have differing opinions about open source, but to head off discussion in that direction, it's merely an impression I have and I'm possibly wrong. I've never contributed a line of code - something I hope to change.
I think the whole concept of emulation/VM is something to be embraced and which could _really_ revolutionize the computing model. So as opposed to encapsulating already native code to sneakily let it think it's running as a base system, go ahead and really change it, emulate it - don't just "bracket" it.
Why? Currently, we're essentially writing compilers for a non-existing platform. The x86 platform as originally seen has long been "dead", what we're seeing now is chips that convert this "universal" language into their own microops and then execute them. The internal structure of a P3 / Athlon has a large section dedicated to this very task. But what if we could throw all that away, and make a chip that simply crunches numbers as good as current technology allows? We have the making of a darn fast chip. If I had to make a completely uninformed guess, we could well stuff two "Athlons" (if we can still call them that) on the same die if the whole x86 ISA is dropped.
In comes the virtual machine... we simply convert the bytecode into native code and run. Sort of like java does it - but better, as we have a chip that can run faster and possibly more efficiently.
Guess what? Sun is already doing just that with MAJC. The point is, Plex86 should not try to run code natively at all. It simply happens to have a bytecode that's identical to the native code. This gives us an architechture that is far longer-lived than something that can run legacy x86 systems on x86 systems. This might be portable to newer things as well.
Proof that this sort of thing is possible is incarnate in the Transmeta Crusoe chip. Of course, they chose to have a chip that is really power efficient, but imagine a a chip that is to speed what Crusoe is to power - Yummy.
I've heard objections that speed gains in the architecture might be outweighed by speed losses in the transformation. This is not true. The optimizations that a run-time VM can do are quite astounding - it can not only decide to unroll loops when necessary, but to expand a frequent multiplication by a memory adress into constant bitshifts, it could dynamically choose what to place into registers far more wisely that a traditional compiler can, look ahead and do IO access before the program needs to... I am no expert, but there's obvious potential here.
And here again, there are some innovative people at work, just look at HP's Dynamo - which takes native code and does real time optimizations (actually it does more than this, and is an interesting read. Transmeta wasn't the first. One of the interesting things is that actual optimized native code can still run faster under dynamo than simply natively. Obviously, this isn't the case for all programs, but its certainly not the case that Emulation/VM-ing is by definition slower than native execution. And realize, we're talking about an architecture (originally PA-RISC but porting activities are ongoing I believe) that wasn't even designed for this sort of activity. A CPU with this in mind could well do even better.
So my conclusion is that we shouldn't emulate VMware, we should, well emulate. Weird as it may sound, emulation is the future.
--EMN
Personally, I think they've come pretty far in only a few months. BTW, this project grew out of the BOCHS project (which provides an Intel platform emulator under Unix), the difference is, Plex86 doesn't emulate an x86 CPU, it runs x86 code natively and traps privlidged instructions (and also pulls some other tricks to trap non-trapple privlidged instructions) so that it can run an alternate OS under Linux at near-native performance (about 80 - 90% of the native hardware). This is so you don't have to dual boot. Also, unlike Wine, Plex86 will allow you to boot any support OS under under it (just like VMWare).
DOS screenshots... God, they're beautiful.
2000-08-02 14:28:18 Compromised Linux servers used in DOS attack (articles,news) (rejected)
Speak of the devil.....
Me, I'm still getting over how cool running MacOS 7.5.3 in Basilisk II is...
Free BeOS, runs from a Linux partition
I get the sense that the Mighty Commander Taco is otherwise a very intelligent individual. So, I'm sure there was a good reason for the lapse in judgement in the choice of his alma mater.
As with most lapses in judgement, perhaps there was a woman involved?
Fire and Meat. Yummy.
It's not an emulator. It's a virtual machine. There is a big difference there which some people seem unable to grasp. I agree that some emulation is a waste of time. But not all, as some people like to run old game's etc. But since this isn't an emulator it's a moot point. Please get a clue before you flame other peoples work.
Er, it is there. Maybe you didn't click hard enough.
:wq
Exult
There are a couple others too, like this one, for Windows/DirectX:
Guardian Engine,
and then there's a project to turn Ultima VII into an online game.
---
I am the dot in slashdot.org
And for what you get with VMWare, it's dirt cheap.
They did jack the price up lately though...
but $299 for VMWare is *not* 'costly' considering what they've done. Nobody else has a competing product; plex86 will be the first alternative, when it works.
VMWare works well.
Also.. plex86 was originally called 'FreeMWare', but changed it's name due to (regardless of what they say on the site) people angered at the obvious confusion with VMWare.
And how are you supposed to run multiple virtual copoies of Windows or Linux on a SunPCI card? You can't..... you can run *one* at a time.
One large reason for using VMWare in development is the ability to have images of multiple computer setups; to load them concurrently if you like; the ability to have VMWare ask you if you want to permanently write changes to the virtual disk since last startup (great for tech support! you can duplicate people's problems without thrashing a machine)
As for the SunPCI card.. never heard of a project to work under linux. I suppose that would be neat.. but why not just get another cheap PC?
Because if you can't make DOS work, you sure as hell aren't going to get win98 to work.
Works like a charm though but I'd rather just dual boot than pay that much for a virtual machine.
:wq
No, from http://www.plex86.org:
Will this run on my Mac?
This kind of technology allows you to concurrently run multiple operating systems written for the same processor. In the case of Plex86, you will be able to run multiple Intel x86 based operating systems on the same machine. Thus the answer is no. However, the virtualization concepts used by Plex86 can be extended to other platforms.
For running x86 operating systems and applications on non-x86 machines, check out Kevin Lawton's x86 PC emulator site www.bochs.com. He's currently adding dynamic translation, which will really speed up the emulation.
You are in a maze of twisty little passages, all alike.
When will Moto or Intel make virtualization easier? What are the current obstacles for doing this. The plex86 web page says that hardware simulation for the x86 VM is one obstacle, what are the others?
Are there any advantages to host-OS shared/emulated hardware VMs versus software-based hardware partitioning?
In other words, is it better to boot to a complex like Linux and run plex86 processes, with all processes sharing all the hardware at the same time, or is it better to boot to a simpler VM manager meta-OS and launch the VMs on partitioned hardware segments?
I like the latter personally for fault tolerance, but I also like the idea that an otherwise idle VM running DOS isn't owning an entire CPU and memory block, which doesn't seem possible under hardware partitioning unless you have a really sophisticated VM manager meta-OS or you boot into a complex OS to begin with, in which case you seem to lose the hardware paritioning ability.
Runs great. My configuration: Windows NT 4.0, SP5, 256 MB RAM, Dual PII / 400 machine.
However - be sure to read the docs, and install the VMWare video driver within the virualized machines, otherwise preformance SUCKS!
Typically at any give time, I have the following running: 1 copy of Windows 98, 2 copies of Windows NT, and one copy SUSE Linux running KDE. NT and Linux sessions take about 1 - 2 % CPU utilization when they are not actually doing anything important but running idle. 98, on the other hand, takes about 18 - 25% utilization off of one of the processors (it may be a dual processor machine, but 98 only gets to play with one of them - VMWare can't do anything to help that unfortunately.
The one downside at the moment with VMWare - no support for 3D acceleration. I really want them to fix this - while I use VMWare for testing my games and such (DirectDraw only - no 3D in these games) I'd love to be able to move completely to Linux for my base OS, and boot up a VMWare session to play UT and things like that (plus it would help for testing on the game that I've been working on that DO utilize 3D hardware!) A minor (?) setback is that it also doesn't support MIDI ouput - no big deal to me really, but, it's important to a couple of older games.
My two favorite features: running NT and Linux on the same box, and just switching back and forth, without really noticing and preformance degredation (*MOST* of the time - there are some things you can do that really do slow things down!), and the 'Suspend / Restore' button on the various OS's. If you actually need that 2% CPU power restored back to your 'real' OS, or the memory back, just hit the 'suspend' button, and close VMWare. Later, open it again, and hit resume - I've got your "Instant On" right here!!!
Davis Ray Sickmon, Jr - looking for something to read? Check out my three free novels at MidnightRyder.org
Some people actually use their computers to get work done. As one small example: you'd be amazed how many control systems for industrial machinery are still run on DOS PC's. I run into them all the time.
Often their software was written by a long-since defunct company. Windows port? Hah! This stuff hasn't been rev'ed in atleast a decade. The company died, and the program sources went with it to it's grave. This is among the greatest arguments for open source software. If we had source to these control programs, then we could rewrite it for a Linux machine, or a Be machine or whatever-the-heck we wanted. We could update it to use more modern or more reliable computers. Instead, we're stuck hoping that that old 286 keeps chugging along.
Fortunately, for the most part, those 286 systems *do* keep chugging along. There are plenty of workhorse PC AT's sitting in cabinets, unceremoniously controlling production equipment -- pushing the GNP along. Eventually, they will die, and a replacement will have to be found. But as long as the old, dusty system still runs, why throw money at a replacement?
DOS was so universal for so long, and so much application software was written for it that it will be around for a very, very long time. Infact, DOS may even outlive the x86.
--Lenny
Great! Now I can use my Linux box to run a DOS emulator. Then I'll run Win 3.1 on that... And load up a mac emulator. So then I can play Nintendo games with my NES emulator that only runs on OS8. Finally...
DOS applications run very quickly... there's none of the GUI overhead in the way, just you, the code, and almost bare metal. Things run so quick it's amazing. These programs are now running on machines that are at least 1000 times faster than the minimum hardware they were meant to run on.
Those who don't learn the lessons of history, are doomed to repeat them. Those who throw out legacy applications, are doomed to rewrite them. I still don't know of anything as simple and quick as EDWIN for working with text files. (The macro features were always just enough to save hours of work)
--Mike--
Yes, and an emulated machine is just like a real machine, only a little slower. So why would you *need* to buy a 486 to run DOS, if you can run it on your current machine? Not to mention the development potential it has. There would be nothing to stop you hacking away on the Linux kernel, or whatever else takes your fancy. If the machine crashes, you just start a new one. There are far more reasons to create a decent free virtual machine than there are reasons not to.
You can also find tools out there that take over the parallel and serial port drivers, and log data. The tools page at www.gphoto.org has the links.
Part of the beauty of this system is that you can run the guest os off of a disk image file. You can keep copies of the file. Run WinXX and try installing a program. Oops, it just messed up your VBRUNxx.DLL! Close the VM and copy from your "last known good" disk image. Also comes in damn handy for testing windows installation software for those of us who do cross platform development.
How's my programming? Call 1-800-DEV-NULL
While I'm sure you'll be able to do this with Plex86, I know you can do it with VMWare - that's how I did some Y2K here at the offices. Works pretty well.
As a side note - VMWare looses time slowly but surely. It's kind of annoying, to tell you the truth!
Davis Ray Sickmon, Jr - looking for something to read? Check out my three free novels at MidnightRyder.org
Bochs. Kevin Lawton is the creator and maintainer of bochs, which, like Plex86 and VMWare is an Intel emulator. It also runs on Linux, Windows and I think Mac. Best of all, it was recently GPL'd (or LGPL'd maybe). That's why Kevin is working on Plex86 now. He's kind of merging the two projects together.
I've tried bochs and it's neat--but very very slow. I'm running Win95 in the emulator on my PII 350 (with 128MB) and it is so slow as to be totally unusable. It's also got some issues with devices (like it doesn't support network and the mouse is really flakey).
--
Linux MAPI Server!
http://www.openone.com/software/MailOne/
(Exchange Migration HOWTO coming soon)
I believe Plex86 has x86 emulation, so you can run x86 apps even if your box doesn't have an x86 CPU ... which I believe VMWare doesn't have ...
Wrong!, Plex86 will only feature x86 virtualisation, emulating an x86 on an x86 would be silly.
Howevever, the program Bochs (written by the plex86 author) has x86 emulation, but only parts of the bochs code will be used in plex86. In other words: if you want an x86 emulator, use Bochs. If you want virtualisation, use plex86 (when it gets usable) or buy VMware.
I have been following the Plex86/FreeMWare since it's inception. While I doubt it does much more than booting dos, it is impressive progress.
For those that invariably complain that you already have a dos emulator, the goal of the project is not to give you another dos emulator. It is to provide a free clone of VMWare. That is, to allow you to freely run any OS under (i386) linux. I don't doubt that it will be portable and will be ported, though. Booting DOS is the logical first step for its simplicity.
The point... When a project arrives at a milestone, don't complain because you think that it is not complete or because you don't understand what it's attempting. One of the problems(advantages!) with open source software is that people get to see the software in all of its stages of development. For those that are used to commercial software, you just get to see the final product, (usually) polished, and ready for the general public.
Plex86 is by no means finished. However, it has attained a significant milestone. And for that, they should be praised. I can tell you, the kind of work they are attempting is not easy!
For an Operating Systems course I took, we modified the linux kernel, and tested our changes in VMWare running linux on a stable kernel. The cost of the VMWare liscenses was a bit prohibitive, but for anyone doing experimental work at the the kernel level, software such as this is endlessly useful. If a modification seriously damages things, one can simply kill the vmware/plex86 process, copy over a clean disk image, and immediately restart, rather than having to have a seperate whole system which has to be painstakingly rebuilt after each error.
To have a free version of this software could only help kernel development, making all of us linux users much happier
Well, now when I feel like emulating an x86 CPU on an X86 computer (yeah, rudundant but useful, kinda), now I can play my old DOS games. Woopee... (kinda)
Eh...
So, it'll run Windows 98 then, right? Just a DOS app, what's the problem?
Does anyone know if this DOS support extends to the int 10 mechanisms for setting up graphics? It would be interesting to be able to easily run my collection DOS games and demos under this.
...as if the script kiddies didn't already have enough Denial Of Service tools at their disposal.
M$: "We're #2!"
Nobody wrote a node for Plex86 on Everything2 yet, so the [?] link doesn't work. Maybe this story will let someone write one.
Just goes to show one of the downsides of the distributed-encyclopedia model Everything2 and other sites (h2g2, for one) use for content.
For more information, click here.
Well, since you asked!
No, there are at least four controller-based PCI modems. If you are curious, these modems are the Multitech MT5634ZPX-PCI, the Actiontec PCI56012 (IBM 33L4618 or GVC MD0223), the 3Com/USR 3CP5610, and the Zoom 2920 (Digitan DS550-558). The Well Communications FM-56PCI-TP (GVC MD0321) has Linux support, but I have not received a user confirmation yet.
Source: Winmodems are not modems
The Actiontec even includes 6 pages of Linux directions (basically how to point /dev/modem to the right port). The down side is that they don't seem to answer email. (1 data point)
A firewall can not protect you from yourself. Turn off what you do not need. Do not use the firewall to do your work.
I currently have VMWare up and running on my system. For those who don't know, VMWare stands for Virtual Machine Ware. From what I've gathered about Plex86, it does the same thing as VMWare, which is create a virtual machine that runs like a separate machine. It really is quite interesting software.
The difference I can see, however, is that VMWare is already developed and is already costly. For the student version (which is usually substantially cheaper) it costs $99. And for Joe Student, $99 is a whole lot. However, the technology is already advanced such that under my Linux box I have had Win98 running (for apps that just don't work under Wine). If you get the chance VMWare is avalable for a 30 day demo, which I highly recommend.
--
Bad spellers of the world, untie!
I have an AMD Athlon 700, 256 MB RAM. Tried running VMWare (demo version) with Win98 and the performance was absolutely disgusting -- even in full-screen mode (ie. windows are visibly painting themselves). I had allocated 128 MB RAM to VMWare -- perhaps this was my mistake, but the docs said this should be more than enough (it states 128 MB on the physical machine is enough, IIRC).
Now, granted there is some sort of accelerator that you are supposed to install (which I did, eventually, but Win98 was still not usable under any circumstances).
I am sure there are a number of ways to tweak it, but I just didn't have the time to mess with it. For $100 (student), it should work (fast) out of the box IMHO. I didn't see anywhere near 90% native speed. Anyone else care to comment on VMWare? Perhaps the best way to tweak it?
Now keep in mind that this was VMWare under Linux running Win98 -- has anyone, ugh, tried it the other way? What kind of performance is there?
--Greg
This is really starting to be annoying. We are completely holding ourselves back by emulating everything that we can get a hold of.
We aren't just creating new technologies - for instance, a processor that might be able emulate things faster than the original can run them - we're learning how to reproduce the set of rules that govern a given system without access to the rules that created that system. Perhaps you'd find that to be a useful skill when studying the physics of our world.
If I need to slowly run old DOS apps... I'l buy an old 486 for $30. If for some reason I want to run windows... I'll jsut buy a copy of windows.
You're perfectly welcome to do so; I'm guessing a few of those people creating the emulators have physical systems as well, for study (and fun). I would take an old C64 any day of the week if I could find and purchase one, but right now, that's not convenient. Should I not implement my cool new C64 idea because of that restriction - access to physical hardware?
Every step that we have taken forward lately is also a step back because we are refusing to let the legacy stuff be that... just a legacy. There is no need for ISA slots on a motherboard. We are so worried about vendors not recompiling software that we have kept the crappy x86 processors around WAY longer than they should have.
Absolutely; the farther back we step, the better we understand "legacy stuff", and so we make better informed decisions - this "stuff" must go, this "stuff" can still be supported, this "stuff" is still useful. Certainly, Intel may not have taken the best market path in processors - but we just started this computer age, it hasn't been a hundred years yet; I'm pretty sure someone is going to get right, and soon.
Just like the OpenWin project that was mentioned earlier, it's a waste of time and talent. There are so many areas of computing that could be impproved on but so many people just want to recode the same thigns over and over.
Because in the end, people will code on whatever makes them feel good. Let's say I want to improve this thing I call "Windows", and Microsoft hasn't provided me any method to do so - I can add extensions, sure, but I can't fix bugs in system DLLs. Argh, that's frustrating. Hey, maybe I can help one of these other Windows projects - I could replace my own someday, or maybe Microsoft will wise up and fix it. Cool.
Don't set restrictions on what people should program - that's reserved for the programmer alone. In a project, sure. In a job, sure. Coding is something that's done as randomly as poetry sometimes; I find out that I want to do something, pull up a window, and do it. Some people get their fun working on Windows debuggers. "What a total waste of time!", many would say. And yet they provide valuable tools to themselves and others, and make themselves as happy as
Please only use this while the real site is slashdotted, as I'm not responsible for the content; I just blatently copied it.
Also, if the plex86.org guys want this removed, just mail me and I'll pull it down.
The author's of Shapeshifter is Christian Bauer.
:-)
Very talented programmer.
The reason he had to write a new emulator (ie Basilisk), rather than just porting Shapeshifter is because Basilisk needed to emulate the 68000 processors as well; Amiga uses the 68K, so Shapeshifter was a good deal simpler (though still an awe inspiring piece of software
(Spudley Strikes Again!)
In the meantime, Plex86 is an x86 virualizer that allows you to run multiple OSen concurrently on a single machine. What this means to you and me is that you can boot Linux, then run a real-live licensed Windows98 under it, without emulation, at near-native speeds. That's the Big Goal, anyway.
One thing it can fer sher handle is booting Linux under Linux, which is a good thing when you want to see if that new kernel boots.
The sites being slashdotted pretty thoroughly right now...
--
This is not my sandwich.
This technology is something the OS community should really keep an eye on. Simply being able to run winzzzz at the same time as linux/BSD/Be/whatever is interesting enough. But that's just the start of the possibilities here.
With Open Source Plex86, it will be really easy to build a custom reverse engineering tool. Want a parallel port scanner? Don't have the protocol? Log all the output to the printer port. Easier said than done under winzzzz - unless its running under Plex86, which is already intercepting the I/O. Simply re-write the I/O traps in Plex86 (OK, not so simply, but certainly do-able) and log the traffic for later analysis. Same goes for WinModems. Possibly even for graphics cards with PCI/AGP I/O.
This is really exiting, and these are just the start. Support this project, folks, it's worth it!
---
WRONG!! If you were to give vmware ring0, every time your host crashes, it brings down the whole system. As an example, have you every seen a module gpf? It's a kernel oops, I believe. The only thing the vmware modules are for are networking things, that requires extra privillages (like changing routing tables).
VMWare simply emulates any privillaged code(ring3). The only thing that I can think of that the modules might also do is modify the page tables, and things like that, so that the host can have virtual memory. It simply emulates the GDT, ITD, and LDT's in user space, and runs everything else natively.
any more than Wine is an emulator. Programs execute in a native x86 environment directly on the processor; the "emulator" simply provides access to a different OS's ABI.
<O
( \
XGNOME vs. KDE: the game!
Will I retire or break 10K?
It'd really suck to have windows bluescreen and bring your line to a halt/activate your plant trip/activate the machinery in a non-standard way and kill someone.
--
Microsoft QDOS (Quick and Dirty Operating System; no, really) is dead (Win2k; Whistler). Lineo and the free software community make two DOS operating systems now. IBM also makes its own PC DOS 2000.
<O
( \
XGNOME vs. KDE: the game!
Will I retire or break 10K?