Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Java Software IT Linux

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!"
This discussion has been archived. No new comments can be posted.

Emulated PC Enables Linux Desktop In Your Browser

Comments Filter:
  • And it'll still be more responsive than slashdot.
  • Refresh = reboot! (Score:5, Insightful)

    by IBBoard ( 1128019 ) on Friday July 03, 2009 @08:56AM (#28571161) Homepage

    Rrefresh = reboot!

    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)

      by drinkypoo ( 153816 )

      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.

      • A java applet container like a web page in a browser, perhaps? That's what they're seemingly aiming for ;)

    • by MindKata ( 957167 ) on Friday July 03, 2009 @10:18AM (#28572023) Journal
      I was wondering, if we run a Java x86 PC emulator that is emulating an Amiga that is emulating a Spectrum, is it still faster than a real Spectrum or do we need to optimise it a bit?
      • I was wondering, if we run a Java x86 PC emulator that is emulating an Amiga that is emulating a Spectrum, is it still faster than a real Spectrum or do we need to optimise it a bit?

        Yeah, you'll still need to optimise windows ;)

    • 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.

  • by Anonymous Coward

    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)

      by 0100010001010011 ( 652467 ) on Friday July 03, 2009 @09:01AM (#28571219)

      I heard you like running x86 so we emulated your x86 in java to run on your x86.

      • Re: (Score:2, Funny)

        by A12m0v ( 1315511 )

        It would be great (and dangerous) if it were possible to bypass the emulator and JVM and run x86 code directly.

    • by ls671 ( 1122017 ) *

      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

  • by gbarules2999 ( 1440265 ) on Friday July 03, 2009 @08:59AM (#28571189)
    I'm just waiting for somebody to go, "fuck that Java shit." But read the summary, people! Secure means security which means secure!

    Also: But can it run Crysis?
    • by gardyloo ( 512791 ) on Friday July 03, 2009 @09:01AM (#28571215)

      Fuck that Java shit.

    • by SpzToid ( 869795 ) on Friday July 03, 2009 @10:22AM (#28572057)

      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.

      • 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

          • 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

            • 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...

              • 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

    • by Lennie ( 16154 )

      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]

    • 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!

    • 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)

    by Anonymous Coward on Friday July 03, 2009 @09:05AM (#28571257)

    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.

    • 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?

    • 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!

      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.

  • by madfilipino ( 557839 ) on Friday July 03, 2009 @09:06AM (#28571261)
    They must've been using IE to run their web server inside of it
  • Imagine... (Score:5, Funny)

    by cptdondo ( 59460 ) on Friday July 03, 2009 @09:06AM (#28571263) Journal

    A Beowulf cluster of these.... In tabs on your browser.

  • Yeah... (Score:5, Funny)

    by IANAAC ( 692242 ) on Friday July 03, 2009 @09:07AM (#28571269)

    ... is now available with online demos and downloads.

    No it's not. Site's down.

  • 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.

  • by forgot_my_username ( 1553781 ) on Friday July 03, 2009 @09:15AM (#28571335) Homepage
    Man, this is totally awesome!
    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)

      by A12m0v ( 1315511 )

      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.

  • Old news (Score:5, Informative)

    by Kazymyr ( 190114 ) on Friday July 03, 2009 @09:16AM (#28571339) Journal

    JPC has been around for at least 3 years, and on Slashdot at least twice before.

  • 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.
    • 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!

    • Run from a stick (or from a basic web server) on a computer without a lot of privileges?

    • by Osvaldo Doederlein ( 34220 ) on Friday July 03, 2009 @09:51AM (#28571723) Homepage

      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.

      • 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!!"

    • by peppepz ( 1311345 ) on Friday July 03, 2009 @09:56AM (#28571777)
      Having a PC emulator written in Java means to be able to run any previously-written x86 code on any Java-enabled machine out there, forever. And don’t forget about mobile devices, too. JPC needs not to be run in a browser, it can be run standalone, and has already been ported to high-end phones - I, for one, think that running Windows 3.1 on a phone is quite cool. Running old games might even be funny.
      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 :D) of ancient software;
      - interoperability with not-so-ancient software.
      • I, for one, think that running Windows 3.1 on a phone is quite cool.

        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.

    • by TheRaven64 ( 641858 ) on Friday July 03, 2009 @10:21AM (#28572051) Journal
      It's a good (for given values of good) way of turning those old bits of legacy code into web apps. How many businesses have you seen that depend on some bit of 16-bit Windows software, probably written in VB or Delphi, which had source code once but no one's seen a copy for a decade? These programs ran okay on a 386 and ran well on a 486. Now they'll run in a web browser on whatever platform you want, including something very cheap like a Loongson 2F or ARM.
      • 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.

    • Infidel. Turn your geek badge on the way out.
    • 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...

    • 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? ~

    • I saw this article and couldn't figure out why I would want to run an x86 emulator in my browser

      I'm running Cell, you insensitive clod.

    • by aled ( 228417 )
      Playing old DOS games in a browser is cool enough for me. I have an old DOS application I would like to run in a browser but I don't know if its possible yet because it uses protected mode. The possibility of running an x86 emulator in any Java supported platform is at least technically interesting.
  • Most secure!? (Score:3, Informative)

    by lithero04 ( 1257186 ) on Friday July 03, 2009 @09:35AM (#28571541)

    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]

  • by johnjones ( 14274 ) on Friday July 03, 2009 @09:44AM (#28571621) Homepage Journal

    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)

      by peppepz ( 1311345 )
      Yes,they do.
      (Not that I expect the source code of a x86-to-jvm bytecode recompiler to be very readable...)
    • virtualbox is pretty nifty but inside a JVM is pretty impressive from a engineering point of view

      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)

      by Anonymous Coward
  • by Pentium100 ( 1240090 ) on Friday July 03, 2009 @09:54AM (#28571763)

    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...

  • 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"?

  • by donberryman ( 591775 ) on Friday July 03, 2009 @10:02AM (#28571857) Homepage
    fast or Java?
  • I can't see why would anyone wants to download an applet just to run a VM on his own machine. Now, if the VM runs on the server, that will be another story.
  • Yes, it runs FreeDOS (Score:5, Informative)

    by Jim Hall ( 2985 ) on Friday July 03, 2009 @10:33AM (#28572183) Homepage

    "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.

  • by debrain ( 29228 ) on Friday July 03, 2009 @10:37AM (#28572223) Journal

    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.

    • By that logic, the single point of failure for any software is access to the base operating system.
    • by Mista2 ( 1093071 )

      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

  • by Brian Stretch ( 5304 ) * on Friday July 03, 2009 @12:23PM (#28573239)

    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.

  • 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).

  • I'm guessing that it only runs on x86 plartforms?

  • Just tried it out on my PS3 with YDL 6.1 installed, no dice.

  • "Refresh = reboot!"

    So it can run Windows then???????!!!!!!!!

    Sorry. ^^

If all else fails, lower your standards.

Working...