Emulated PC Enables Linux Desktop In Your Browser 165
Ianopolous writes "Classic DOOM and DSL Linux Desktop inside your Java-enabled browser! The latest JPC, the fast 100% Java x86 PC emulator, is now available with online demos and downloads. JPC is open source and is the most secure way of running x86 software ever — 2 layers (applet sandbox, JPC sandbox) of independently validated security make it the world's most secure means of isolating x86 software. Visit the website to try out some classic games and play around with Linux all within your web browser. Refresh = reboot!"
Sounds efficient (Score:2, Funny)
Re: (Score:2)
Re: (Score:2)
Nope. Imagine Vista on this.
Refresh = reboot! (Score:5, Insightful)
Just what you want - an even easier way to lose data from your VM. Why rely on bugs and crashes when an accidental refresh can reboot your machine?!
Re: (Score:2, Interesting)
Maybe you should run it in some sort of java applet container, I hear they are fairly readily available these days. HIGH TECH SHIT!
Meanwhile, it seems like a cool way to host teeny abandonware DOS games.
Re: (Score:2)
A java applet container like a web page in a browser, perhaps? That's what they're seemingly aiming for ;)
So its a VM^2? ... so how about a VM^4? (Score:5, Funny)
Re: (Score:2)
Yeah, you'll still need to optimise windows ;)
Re: (Score:2)
There's no reason the applet couldn't just be a VNC terminal connecting to a VM that runs for as long as your session is allowed to exist. In other words, if you're on wireless, get disconnected from the net, come back in range about 14 minutes later, and refresh, you should see your desktop again. Works with the javascript-based consoles that hosting companies provide.
Re: (Score:3, Insightful)
I'd find a page disabling my refresh button the bigger annoyance. The refresh button is outside the scope of a page - it's the UI of an app and shouldn't be told what to do by some randomly downloaded and viewed bit of data!
Re: (Score:2)
But isn't HTML5 all about improving the site experience? Not so long ago webpages couldn't be viewed fullscreen, but now they all have a special minimal-UI mode in almost every browser.
Being able to map the F5 key to a task or event in a webpage make sense. Not having an override key doesn't.
If you want more examples of where blocking F5 would be handy (aside from gmail) check out this blog. [javascriptgaming.com]
Side-Note: Flash blocks every key, but people don't seem to complain about that? :P
Re: (Score:2)
Fullscreen in a browser (a browser function to increase the amount of content shown with no care for whether the page wants it or not) and having keys captured/remapped are two completely different things.
Not really. The F keys are special function keys.
Re: (Score:2)
Flash is effectively a separate app, and it captures keys as well as mouse interaction (e.g. the scroll wheel). It's annoying as hell when you view a video on somewhere like "I Can Haz Cheezburger" and have to click outside it again to scroll down the page, but the chances of Adobe caring are somewhere in the region of "slim to none".
Yes, that is annoying.
So basically, you don't consider HTML5 or AJAX a separate app, even though the limitations are quickly narrowing? Got it.
I still think it makes sense to give people the option. If I try to X out of gmail while it's busy, it pops up a warning. (blocks the close) It's easy to override. Opera has no such prompt for refreshing - it just disallows it completely. It's a bad way of doing things, since there are legitimate uses, and "Silly little Javascript games" are becoming quite common. He
Re: (Score:2)
HTML5 isn't a separate app, it is content rendered by an app, i.e. your browser. What you can do with it is approaching what you can do with an app, but that doesn't change the fact that it is content. Flash can run on its own and acts as a plugin. Try doing the same with a HTML5 page - running it without a browser. Ditto for AJAX. They tend not to work so well without the browser convert
Need for Speed (Score:2, Funny)
Wow! I can have a program emulated by an interpreter runnning on it's own virtual emulated pc. Think of the pure speed!
For their next main event, may I suggest running a java-based java-interpreter, on the java-based java-interpreter as a host, think of the speed gain!
Yo Dawg (Score:5, Funny)
I heard you like running x86 so we emulated your x86 in java to run on your x86.
Re: (Score:2, Funny)
It would be great (and dangerous) if it were possible to bypass the emulator and JVM and run x86 code directly.
Re: (Score:2)
Java-interpreters are so 1996. Nowadays, JVM all have one form or another of "Just In time Compilers". This means the Java byte code is compiled once and that the x86 machine code is then cached so the next time it is used, the Java byte code doesn't have to be re-interpreted .
This is 20 to 30 times faster than a 1996 interpreter and this is the only reason why Java applications now comes to par with C++ applications in terms of speed. Often Java applications can be faster because JITs usually also do run-t
We put an OS in your browser in your OS! (Score:5, Informative)
Also: But can it run Crysis?
Re:We put an OS in your browser in your OS! (Score:5, Funny)
Fuck that Java shit.
Re:We put an OS in your browser in your OS! (Score:5, Funny)
Re: (Score:2)
I know you were kidding... But I wonder what would happen if you ran this through the Google Web Toolkit [google.com]
Re: (Score:2)
i agree. We're supposed to be on Web 2.0 now.
Re: (Score:3, Funny)
Fuck that Java shit ...
..., let's do it in JavaScript!
Re: (Score:2)
Re:We put an OS in your browser in your OS! (Score:4, Insightful)
I was thinking of being able to run a cool linux distro like Backtrack, inside the corporate firewall, using known and approved IP addresses, etc. To SOME people, this is a feature; to others a threat. Regardless, i want to know about the possibilities to do my job better.
Microsoft is making a big deal in Windows 7 about being able to lockdown USB drives in the enterprise. But with this info, they should also considering locking-down web-browsers.
Oh, wait. Nevermind I just said that about Microsoft.
Re: (Score:2)
While you are at work, why don't you focus more on doing your job than jerking around with Linux and trying to be a mad hax0r. Trust me on this one, you fail as a mad hax0r.
Of course, the browser doesn't have full permissions to do whatever it wants to your network card anyway, so you aren't going to be able to enter promiscuous mode, so you aren't going to be able to pretend to be another IP address in your little sandbox are you? No spoofing, no listening to other packets on the network (which is probab
Re: (Score:3, Informative)
Thank you for your enlightening and detailed technical comments.
It is often my job, as a manager, to try to understand and then to mitigate risks which you have explained and detailed well. I see in a network you have setup, I would be blocked from doing many cool things with Backtrack as OS in a browser.
How about another classic trick to watch out for? How would you prevent someone running standard OS in a browser (or of a USB stick, etc.) from running an SSH proxy, on port 443, to their home dd-wrt router
Re: (Score:2)
I'm not the original person you replied to, but I'll answer a few of your questions that I'm familiar with.
The easy one is the 'ssh on 443'. In our environment, we use authenticated proxies to get to the Internet, which also are doing SSL MITM attacks, ie terminating the client's ssl session on the proxy, inspecting the traffic, and then re-encrypting it to send out. We feed it via ICAP to a couple of boxes that do virus scanning, data loss prevention, etc. There are two key bits here. First, everything goe
Re: (Score:2)
The easy one is the 'ssh on 443'. In our environment, we use authenticated proxies to get to the Internet, which also are doing SSL MITM attacks, ie terminating the client's ssl session on the proxy, inspecting the traffic, and then re-encrypting it to send out.
How do you prevent the user from getting an SSL security warning? Or they just know what's going on and have to deal with it...
Re: (Score:2)
Certs are managed via our internal PKI implementation, and our internal CAs are trusted by all internal clients.
PKI is a big nasty can of worms, but it can be useful if you actually have a need for it. We finally put ours in after many years of debating, because it got to the point where the administrative overhead was outweighed by the benefit. If you don't want to go down the PKI route, you can just use GPOs to push out the proxy certs to all Windows clients, and then Linux/OSX ones can manually import th
Re: (Score:2)
Secure, yeah sure, adding more code doesn't make it more secure, you'll just have more security bugs:
http://kerneltrap.org/OpenBSD/Virtualization_Security [kerneltrap.org]
Re: (Score:3)
Sup dawg, I herd yo like inner platformz. So we put a browser in yo OS in yo browser on yo OS, so yo can compute while yo compute, and browse while yo browse!
Pimp My Linux (Score:2)
Yo dawg! I heard you like Linux, so we put Linux in your Linux so you can use Linux while you use Linux!
obligatory (Score:5, Funny)
Yo dawg,
I herd you like Operating systems, so we put a Operating system in your Browser so you can Browse Operating systems while you browse in yo operating system!
Re: (Score:3, Interesting)
...we put a Operating system in your Browser so you can Browse Operating systems while you browse in yo operating system!
software does seem to have a soft spot for recursive acronyms, (GNU, LAME, WINE,etc). This seems to be the next logical step. Recursive operating systems! neat.
Re:obligatory - TIARA (Score:2, Funny)
TIARA - This Is A Recursive Acronym
IJIT (I Just Invented It)
Re: (Score:2)
ah, BING...how can I forget BING
Bing Is Not Google.
Re: (Score:2)
Yo dawg,
I herd you like Operating systems, so we put a Operating system in your Browser so you can Browse Operating systems while you browse in yo operating system!
Like Navigator in EyeOS (http://eyeos.org/) in Safari in OS X?
Re: (Score:2)
p.s.: try not to use the browsing features while browsing operating systems in your browser in your operating system. One or more of the operating systems might not like it. Of course, if you want to browse in your operating system that your browsed to in your operating system, that's fine.
Its dead Jim (Score:5, Funny)
Imagine... (Score:5, Funny)
A Beowulf cluster of these.... In tabs on your browser.
Re: (Score:3, Funny)
You're sick... I like that!
Even better, a cluster within a cluster. (Score:2)
A Beowulf cluster within each node constructed with the tabs of each node's browser. Then put this within an actual Beowulf cluster.
Then grab some popcorn and watch.
Yeah... (Score:5, Funny)
No it's not. Site's down.
Re: (Score:1)
No it's not. Site's down.
Well if it wasn't slashdotted...
Re:Yeah... (Score:5, Funny)
Re:Yeah... (Score:4, Funny)
Re:Yeah... (Score:4, Funny)
Ping:Admins (Score:2)
OT: Any chance of writing a bot that visits coral-cache versions of the links in any article that's about to hit the front page? At least latecomers to the article would then have a fighting chance of seeing what the fuss was about in the brief seconds the server was online.
Sup dawg (Score:2, Funny)
I heard you like virtual machines and browsers, so I built a virtual machine to run on a virtual machine so you can browse from your virtual machine that's running on a virtual machine in your browser.
Man this is sweetness and light! (Score:4, Funny)
Hmmm... I wonder if I can run VMware in it.
Blow, tripple booting.... three operating systems three deep!!!!
Bwahhhahahahahahah.... I will control the world!
Bow before your... oh..... It's been done before....
Nevermind!
Signature!
random link! summer vacation [wordwide-traveler.com]
Re: (Score:2, Funny)
Puts a whole new meaning in "it is virtualized all the way down"
Re: (Score:3, Funny)
Yes. It's an operating system running on a virtual PC running on a Java virtual machine running on a PC emulated by the Matrix. But the reality the Matrix is running in is itself just a virtual reality created by a Holodeck of a simulated spaceship.
But actually, there is a bottom. The bottom is a self-emulating virtual machine.
Re: (Score:3, Funny)
The bottom is a self-emulating virtual machine.
I thought self-emulating caused bad eyesight and weakness of the spine?
No tortoise? (Score:2)
But actually, there is a bottom. The bottom is a self-emulating virtual machine.
What, no turtles? :(
Old news (Score:5, Informative)
JPC has been around for at least 3 years, and on Slashdot at least twice before.
Re:Old news (Score:5, Funny)
Re: (Score:2)
But it was the _latest_ JPC three years ago, too.
How does that work?
They just don't learn, do they? (Score:2)
And we'll keep on posting it until they learn how to survive a slashdotting.
Why would I want to run X86 emulator in my browser (Score:5, Funny)
Re: (Score:3, Funny)
I saw this article and couldn't figure out why I would want to run an x86 emulator in my browser, so I clicked to see other people's comments. Apparently no one else on slashdot can figure out why someone would want to do that either.
Are you serious? Just imagine those things running in a Beo^H^H^H Firefox Cluster!
Re: (Score:2)
Run from a stick (or from a basic web server) on a computer without a lot of privileges?
You don't want it, but that's not the point (Score:4, Interesting)
I don' think Applet deployment is the target for that project; if they are offering this option it's certainly just for quick demo sake. Notice also that the applet would need some serious time to download because (1) the emulator itself is reasonably big, (2) you need a virtual disk image containing the whole OS and apps; even a small FreeDOS distro with a couple of tiny DOS games will weight in a few hundred Kb, although the problem is mostly for first run as the Java PlugIn can cache everything.
As I see it, JPC's main goal is showing off some amazing virtualization technology that they have developed - the emulated x86 code is JIT-compiled by JPC's engine into Java bytecodes, which are in turn JIT-compiled by the JVM to native code, so the net result is full native-to-native translation. (If both steps are sufficiently efficient and the host platform is also x86, the compiled code may even be very similar to the original code.) This remembers of similar systems like Transmeta's Crusoe.
As a secondary goal,. JPC is becoming a pretty nice general-purpose PC emulator, so it's potentially just as useful as other PC emulators like Bochs. If JPC reaches sufficiently close to native performance (I tested it ~1yr ago and it's slashdotted now), and includes sufficient hardware compatibility, it's obviously an advantage to be a Java program, fully portable including UI.
Yeah, imagine the possibilities... (Score:2)
it's obviously an advantage to be a Java program, fully portable including UI.
Imagine playing quake on a beow^W^H Android phone cluster of those.
"Let's see, down the water, swim back in, enter the tunnel, nightmare difficulty. Yeah, episode 1. Take that, you ugly gru... huh? Out of battery, wtf!!"
Re:Why would I want to run X86 emulator in my brow (Score:4, Informative)
Perhaps JPC could be ported to an xlet and, say, ran off a bluray disc or a dvb-t transmission. OK, I hate both of them, but the point is that achieving platform-independence opens up many possibilities.
It’s not less useful than the many old-systems emulators available on the net - and those get quite a lot of followers.
I’d say that it can be useful for:
- preservation (and enjoyment
- interoperability with not-so-ancient software.
Re: (Score:2)
You need to get out and breath some fresh air.
Running Windows 3.1 on your phone isn't cool even in the purely academic sense.
The fact that you think its cool means you have absolutely no clue what your operating system is there for in the first place.
Re:Why would I want to run X86 emulator in my brow (Score:4, Insightful)
Thank you (Score:2)
First intelligent comment.
Indeed there are a large number of old, decrepit applications out there, such as those running on MSDOS, old Cobol programs, or even worse, IE5 intranet crapware.
Re: (Score:2)
Re: (Score:2)
Infidel. Turn your geek badge on the way out.
So, you're saying I have it upside down?
Re:Why would I want to run X86 emulator in my brow (Score:2)
Perhaps to help introduce Windows users to alternate operating systems without needing them to install anything? Assuming this works like any Java applet. Although any presentable average-user desktop would have to come with a pretty big HD to download into your cache...
Re: (Score:2)
I saw this article and couldn't figure out why I would want to run an x86 emulator in my browser, so I clicked to see other people's comments.
Duh, so that you can run ActiveX in your Firefox on Linux, obviously! Now how cool is that, eh? ~
Re: (Score:2)
I'm running Cell, you insensitive clod.
Re: (Score:2)
Re: (Score:2)
People who are know vinyl has something CDs can't replicate.
So many worlds. But connecting them all is Dust. Dust was here before the witches of the air, the Gyptians of the water, and the bears of the ice. In my world, scholars invented an alethiometer - a golden compass - and it showed them all that was hidden. But the ruling power, fearing any truth but their own, destroyed these devices and forbade the very mention of Dust.
Re: (Score:2)
Something about comparing FreeDOS (or any other DOS for that matter) to vinyl just makes my head hurt...
Most secure!? (Score:3, Informative)
the world's most secure means of isolating x86 software
I seriously doubt this claim...
What about? http://www.nsa.gov/research/tech_transfer/fact_sheets/nettop.shtml [nsa.gov]
Or its predecessor? http://www.nsa.gov/ia/programs/h_a_p/releases/hapr1.shtml [nsa.gov]
Re:Most secure!? (Score:5, Funny)
Using two layers is the most secure. That's why I encrypt all my important data with ROT-13 twice.
source code ? site is down ! (Score:4, Interesting)
do they provide sourcecode ?
(really interested if they do )
virtualbox is pretty nifty but inside a JVM is pretty impressive from a engineering point of view
have they published any work on this ?
regards
John Jones
Re: (Score:3, Informative)
(Not that I expect the source code of a x86-to-jvm bytecode recompiler to be very readable...)
Re: (Score:2)
I don't see how this is impressive at all, I've written several emulators myself, it's pretty easy stuff.
Also, it seems you're confusing virtualization and emulation, which are totally different things.
Emulation: instructions are interpreted (or JIT-compiled), as if they were a programming language
Virtualization: instructions run directly on the machine, either being patched to reroute some stuff elsewhere or be
Re: (Score:2, Informative)
Now I get why we need so fast CPUs. (Score:4, Funny)
It's so we can run Windows 3.11 on top of Windows 2000 on top of Windows XP on top of Windows Vista on top of Windows 7 which is inside a browser running on Java inside Windows 2000 which is on top of Windows XP, which is on top of Vista, which is on top of 7.
And it may even have enough speed to run as fast as a 386 25MHz...
OS in a browser in an OS in a browser... (Score:2)
So what happens when I load this site up, load up Firefox within the "OS in a browser", navigate to the site, and load up Firefox within the "OS in a browser in an OS in a browser"?
Which is it - (Score:5, Funny)
Re:Which is it - (Score:4, Funny)
Only makes sense if the VM is run on the server (Score:2, Insightful)
Yes, it runs FreeDOS (Score:5, Informative)
"Classic DOOM and DSL Linux Desktop inside your Java-enabled browser! The latest JPC, the fast 100% Java x86 PC emulator, is now available with online demos and downloads. JPC is open source [...] Visit the website to try out some classic games and [...]"
Where it mentions playing DOOM and other DOS games, JPC is booting FreeDOS. So yes, this can run FreeDOS.
Here's a screenshot [pcworld.dk] of FreeDOS in action on JPC, if you need one.
In fact, we've discussed the Java PC emulator on the FreeDOS web site [freedos.org] since JPC was first released. We even link to it on our "About" page [freedos.org] and "Links" page. [freedos.org] It's a great way to introduce new users to the idea of running DOS, without asking them to install their own PC emulator, or even install FreeDOS at all.
Java PC has been released under the GNU GPL since May 2007 [mail-archive.com], so to answer your question: source code is available. We mirrored an old copy [ibiblio.org] of the source code from 2007, but looks like we haven't made further copies. But maybe it's enough to interest folks who don't want to wait for the JPC site [ox.ac.uk] to recover from its slashdotting today.
Single point of failure (Score:4, Interesting)
2 layers (applet sandbox, JPC sandbox) of independently validated security make it the world's most secure means of isolating x86 software
I contest this notion (if I understand their setup correctly; the website is broken so I've some uncertainty about what they're doing). I agree that it's likely a very secure setup, but I disagree that the two lawyers of Java VM security makes it the most secure setup for running x86.
The common Java VM is a single point of failure. Both layers of "independently validated security" are running in Java VM, so if there is an exploit in the runtime interpreter (or compiled executable, if they're compiling things now), it may be used to circumvent both sandboxes. Using two different Java VMs would be an improvement, but better still would be orthogonal interpreters (on the plane of security vectors) such as a Java VM and a Python interpreter. Both are nevertheless still probably calling some version of glibc on x86 machine code.
If I were to speculate (and I will), I'd say that Xen et al virtualization has fewer vectors, and better still would be x86 virtualization running on top of a mainframe ala. z/VM. That would, in theory, be more secure than this Java VM on Java VM setup. Of course, it all comes down to the implementations in the end (and, as a practical matter, how big a target they are - Java is a big target for security, z/VM less so).
Again, though, I think this Java VM is likely very secure. Claiming it's the world's most secure is puffery, though, in my humble opinion.
Re: (Score:2)
Re: (Score:2)
Now this might bring about the micro OS, just enough OS to run the application you require. I already have a mimimal linux to run in my VMWare server, but something custom made to work in the hypervisor would be more efficient.
But really, as I can start a couple of VMs including Vista on my Mac Mini Why would I mess around with Java in a browser. Which version of Java and which browser, and on what hardware? In my experiance Java has always been very fussy about the version of the JVM you need to run certai
It's VERY secure (Score:5, Funny)
Skynet will wake up there, say "WTF? Where am I?!", get confused and die, thus saving humanity who will never appreciate how JPC saved us from our machine overlords. Security through serious obscurity FTW!
Or the computer the JVM is run on will need rebooting long before Skynet can complete the thought. Whichever.
We called that a Inner Platform Antipattern! (Score:2)
The origin of the term is from the thedailywtf.com site. It means to have layers upon layers of pointless abstractions that do nothing but slow everything down and make it more error- and security-hole-prone, as compared to abstractions that make sense.
It as an antipattern, and all in all a massive failure.
Compare this thing to running the app right on the CPU. Or even running it in VirtualBox (if you need that encapsulation).
x86 0nly? (Score:2)
I'm guessing that it only runs on x86 plartforms?
It seems JPC doesn't like IBM's Java for PPC Linux (Score:2)
Just tried it out on my PS3 with YDL 6.1 installed, no dice.
woot reboot (Score:2)
So it can run Windows then???????!!!!!!!!
Sorry. ^^
Re: (Score:2)
Re:iPhone (Score:4, Funny)
Quick! Write a java interpreter in Flash!
Re: (Score:2)
That doesn't mean there a other problems, a very good example:
http://blog.cr0.org/2009/05/write-once-own-everyone.html [cr0.org]