Slashdot Mirror


Will Linux For Windows Change The World?

An anonymous reader writes "A month ago, a trial version of a little-known Linux application called 'CoLinux' was released that is the first working free and open source method for optimally running Linux on Microsoft Windows natively. It's the work of a 21-year-old Israeli computer science student and some Japanese open source programmers; in Israel, analysts are already saying it could help transform the software world." (CoLinux is short for Cooperative Linux; we mentioned this project in January as well.)

21 of 770 comments (clear)

  1. Cygwin, MS Services for Unix? by Alternate+Interior · · Score: 4, Interesting

    Whats the difference between this and Cygwin? Or (though I haven't tried it, MS SFU). Cygwin seems to run extremely fast and reliably already. Of course, Cygwin doesn't run executables other than standard Windows EXEs, but what isn't available for Cygwin (or natively on Windows) already? This seems like a project to run Linux for the sake of Linux

    1. Re:Cygwin, MS Services for Unix? by interiot · · Score: 3, Interesting

      You could presumably boot multiple kernels at once, like User Mode Linux. One could get running debian and apt-get installing away, another Mandrake, another Red Hat, one the latest 2.6 kernel, debian with a super-old-but-ostensibly-stable 2.4 kernel. You could do QoS queuing and complex firewalling within one box, or have an entire DMZ within various boxes running on the same phsyical machine.

  2. Good idea by Joe+U · · Score: 5, Interesting

    It's about time someone thought of doing this.

    The NT(2000/XP) kernel has had the ability to run other native applications for a while.

    It sounds like they are going the same way that Win16/WOW, OS/2 and Posix apps currently get run in Windows. There's no reason not to add Linux to this list.

    1. Re:Good idea by Halfbaked+Plan · · Score: 5, Interesting

      The product now called 'Services for Unix' from Microsoft started out as a third party product called 'Interix' by Softway Systems. The earliest versions of it were called 'Open NT'.

      Software became a licencee under NDA of Microsoft's NT code and developed Interix as an alternative and far more robust Posix subsystem.

      One of the things that makes it radically different (and superior) to things like Cygwin is that Interix is a whole seperate subsystem that talks directly to the NT kernel, in parallel with the Win32 subsystem. Cygwin is a DLL kludge that rides on top of the Win32 subsystem. Everything is translated through an entire extra layer for Cygwin.

      I licensed a copy of Interix before Microsoft acquired Softway Systems. My copy came as a nice bundle, with the Interix POSIX subsystem, Motif, the Motif libraries, and the Exceed X server. It included binaries for NT-x86 and NT-Alpha. It included a complete GNU toolchain, including the GNU C Compiler, etc.

      The latest incarnation of Interix, since Microsoft bought Softway Systems, is somewhat 'dumbed down' from what it was in it's glory. With Interix installed on an NT4 system back in the day you could set it up with Inetd and make it a remotely accessable system that nobody even had to know was running on an NT box. Some of that is probably still possible, but Microsoft has pared away a lot of the useful binaries, i.e. it doesn't even have the vi editor anymore.

      At a point shortly before Microsoft purchased Softway Systems, the Softway people put out 'feelers' to see if anybody in the OSS community was interested in Interix being 'open sourced'. Near as I can tell nobody at all responded. Microsoft bought it shortly after.

      --
      resigned
  3. Seems Like by TheKidWho · · Score: 3, Interesting

    Seems Like what apple has done with Mac OS 9 and Mac OS X

  4. If it works very well... by mao+che+minh · · Score: 4, Interesting
    I could put it to use in places where upper management might still be afraid of Linux, so I can run Linux apps. Another use would be to run more powerful versions of software. One example is a web filtering product called SurfControl. The Windows versions, hindered by the poor IP stack I'm sure, doesn't have the flexibility and power of the Linux version (Here is a comparison chart).

    So, the next time your manager is afraid of having a Linux server on the production network, use CoLinux instead?

  5. Support? by kryptkpr · · Score: 4, Interesting

    "As the trend is for Linux to take a more important role in organizations," Shemesh continues, "Aloni's development is extremely interesting. The question is how Microsoft will react and whether it will allow support for Windows systems if they have Linux systems installed on them."

    Hmm.. there's an interesting question. Can Microsoft really refuse to support your windows installation if you're running Linux (as an application, even?) Or is this guy just trolling?

    --
    DJ kRYPT's Free MP3s!
  6. Re:Maybe a stupid question... by interiot · · Score: 4, Interesting
    Imagine a world where you can walk up to any machine, slide a CD in, and be working in your favorite environment in about 30 seconds, with lots of complex network and multimedia apps going. Pull the CD out, reboot, and the computer's owners won't necessarily even know you were ever there.

    Now imagine a world where you can do the same thing, but it takes 15 seconds to boot, and you don't have to exit the person's applications, log them out, shut down their internet daemons, etc. Walk up to virtually any computer, and you have the full comfort of your standard environment.

  7. Three letters... KVM by b00m3rang · · Score: 3, Interesting

    With the tiny micro ATX computers available today, you could have two or three machines and a keyboard/video/monitor switch in the space of a standard desktop case. Then you really /can/ run all the OSes you need to, without them comingling. Now that I'm used to having 4 PCs with different OSes handy (FreeBSD, Linux, Solaris x86, Windows), I couldn't imagine running only one computer. What happens when one of them goes down, anyway? It's nice to have backups.

  8. Re:Conquering Windows by Jahf · · Score: 3, Interesting

    Sorry, you missed out on what I think would be your #0 ...

    0.) Driver support from the vendor side

    Even if we had directX compatibility we would still be missing video drivers, storage drivers, etc. All of those items, to be a sustainable resource, have to come from the horses mouth (as in I can get my Radeon working with the Open driver, but to get 3D acceleration I need the binary driver from ATI ... and you know what, as long as they support it I don't even care that I don't have the source to the ATI driver).

    --
    It is more productive to voice thoughtful opinions (reply) than to judge (moderate) others.
  9. Re:in reverse by Viceice · · Score: 4, Interesting

    Therein lies the problem. To make the situation reversed, where the NT kernel was made to run on top of Linux, one would need access to the source code for the NT Kernel.

    What they (i think) did with coLinux was hack Linux to run within the parameters of a loaded NT enviorment. It's like a low level multitasking dance where NT leads and Linux follows.

    --
    Sometimes I wish I was a plumber, then I'd know how to deal with other people's shit.
  10. Linux on the JVM by Nailer · · Score: 3, Interesting

    User Mode Linux hacker and all-round-cool-dude Dan Shearer has previously mentioned he's interested in porting Linux to the JVM. This would enable you to run native Linux apps on anything than can run a JVM, and also allow you to have multiple OSs on those machines.

    Its pretty hard tho - the JVM is nowhere near a complete hardware platform, but it would be possible.

    1. Re:Linux on the JVM by karlm · · Score: 4, Interesting
      It would be interesting to take OpenJIT and modify it to generate (and compile) ASTs on demand from x86 ELF binaries and .so files rather than class files.

      It would likely be very very slow, but in conjunction with a UMLinux port to the JVM it would allow you to run many Linux x86 binaries on anything with a JVM as long as you packaged enough of the Linux x86 .so libraries with it.

      For a while Sun toyed with the idea of a JavaOS where everything but the kernel ran in a JVM. Unfortunately, few people consider even modern JVMs acceptably fast. The JVM forces the Java object model and calling mechanics on the code, so writing code for a JavaOS would be great as long as Java is the best tool for the job.

      Additionally, stack-based virtual machines are pretty much ideal for interpreters (see Xavier LeRoy's design paper for Zinc, the O'caml VM) but other VM models are much better suited to just-in-time compilation (see Ken Thompson's Dis VM design paper). Java is a great language, but the JVM was litterally designed to be runnable on 8-bit microcontrollers in toasters and fridges 2 decades ago. Now, 32-bit microcontrollers and RAM are so cheap that Sun should really consider keeping 100% source compatibility but scrapping direct binary campatibilty with it's 8-bit microcontroller optimized stack VM. They could always use something like OpenJIT to implement reverse compatibility inside the Java 3 JVM. (The whole "Java 2 Virtaul Machine v.1.4.2" thing is anoying and confusing for many people. Letting Marketing call it "Java 2" but letting Engineering call it the "1.2.1 JVM" was dumb.)

      Diverging back on topic...

      The idea of a VM-oriented OS is nice, but it seems that in order to compete with native applications, higher performance and more flexible VM designs are needed.

      Vmware, Bochs, and CoLinux can all be thought of as more or less high performance flexible virtual machines, each with a different level of virtualization and performance. A complete re-design in Java 3 would make a JavaOS (such as UMLinux and libraries for the JVM) much more attractive. It looks like Microsoft is working towards a .NET VM (CLR) based OS. This is a logical step in a long historical trend towards more hardware abstraction at the application layer. I'm sad that MS decided to leverage so much of its JVM experience in creating the CLR as a stack-based machine that enforces a particular object model at the lowest level (rather than being enforced at the class loader level), but at least it's a step in the right direction.

      --
      Copyright Violation:"theft, piracy"::Anti-Trust Violation:"thermonuclear price terrorism"<-Overly dramatic language.
  11. Re:Conquering Windows by zulux · · Score: 5, Interesting

    Perhaps if DirectX actually was inferior, and if it wasn't the primary or only API for 90% of the games out there, you'd have a point.

    DirectX is great for PC Games - but for real scientific/commercial work it *SUCKS*.

    Whenn Boeing dows the next 7E7 fly-though in DirectX, give me a call.

    --

    Moneyed corporations, non-working 'poor' and criminal prisoners are turning productive citizens into tax-slaves.

  12. Re:possibly not by Viceice · · Score: 4, Interesting

    Yes but then it would only run Linux alone. The beauty of this system is that it provides both a social as well as technical solution to the Open Source problem.

    The technical solution is that it will allow native Linux applications to run in Windows without the massive overhead of emulation.

    The social solution is when some Pointy Head Boss who is taken in by MS FUD about the evils of linux and wants you to write an app in that runs in Windows for a task that you know Linux can preform better.

    So what do you do? With coLinux, you can still write the app to run in Linux, then run it on the windows machine with coLinux. So it makes the PHB happy by giving the impression that it's running on Windows, but Linux is actualy doing the work and at the same time you gave Linux a foothold on Windows' terrortory.

    So down the road, when MS decides it's time to "Upgrade" you can propose that instead of spending millions on new MS licences, you can show that all the applications that were written to run the business runs perfectly and exactly the same under Linux, and it's time tested since all this while Linux was doing the work, thereby justifying ditching MS altogather.

    Why this is good is that it provides a bridge between Windows and Linux. You can demostrate without leaving the Windows enviorment, the power of Linux and at the point where you eventualy make the transition, re-education needs will be minimal as employees will already be familier with using native linux apps.

    Finally, a technological fix for a social problem.

    --
    Sometimes I wish I was a plumber, then I'd know how to deal with other people's shit.
  13. Why a user might want to run coLinux... by ghost1911 · · Score: 5, Interesting

    I've seen a number of scattered reasons (above) for running coLinux but here is the scenario I have for using coLinux.

    The need to run a linux Distribution from within a Windows box not the need to run Linux applications on a Windows box:

    First I want to point out that cygwin will get you a secure shell, gcc, and a number of other biaries, as ported from Linux. But it will not natively behave the same way that Linux does. The primary difference I'm referring to is hardware support and native binary support. It is for this reason that Cygwin will never be as useful to the Linux world as other distributions are. (Contributions back to Linux from Cygwin are not practical.... [Mozilla aside, there are no other good examples of OSS projects where there is a large number of developers porting their software from a Cygwin environ back to Linux]). There are several interesting cases of Linux software being compiled for windows (Xine, Gaim, X, etc) but these programs are not sufficient to be considered a "linux distribution within windows" instead should be considered, Linux apps for windows.

    Consider now, my personal usage example, I have had a Linux dist sitting idle on my drive because I sold my second box (power is expensive!), and I needed to develop in MFC (Direct X 9.0) for a course that I was taking (leave linux on one part, install XP on the other). Right now there are several applications and other things that I'm missing from when I had primarily booted Linux, but I can't move away from Windows and still continue my studies (and btw, dual-booting is not an option I'm eager to go back to [takes forever, and I always want that one windows or linux app when I'm in the wrong boot]). So, after this project matures, I will hopefully be able to mount my existing Linux partition, boot my kernel, and access my applications and settings as I left them before, without disturbing my continued study with MFC and Direct X.

    A few final points:

    1.) XP is not as unstable as everyone here seems to contend, I have had weeks of uptime on my computer at work, as has the other developer who works with me.

    2.) Cygwin does not allow developers to comfortably develop Linux apps on windows, and is limited inherently by Windows (terminal width constrained to less than 72 characters, X Windows loads slowly, etc).

    3.)There are a number of practical uses for virtual machines but the speed of these systems, their somewhat limited application (hardware) support, and the price of the software ($$$ you would pay a heck of a lot more for VMWare than for Windows XP, buddy) tends to leave something to be desired from that corner of the market.

    In conclusion, yeah, coLinux may not change the world, and it may not even turn a few heads, but it certainly could be useful for a number of people such as myself who are looking to get a little bit more Linux out of their Windows boxes.

    --
    .: 2+2 = PI SQRT(1+N) :. All together now, what is n?
  14. One Practical Use: GnuCash! by spiritraveller · · Score: 4, Interesting
    I have searched far and wide for a way to run that program on a Windows machine.

    No Windows version.

    Can't compile in Cygwin.

    Enter coLinux... finally a way to run GnuCash on my Windows laptop.

    I am sure there are other programs like this.

    It is even possible to run Linux programs in rootless windows so that they appear to be native Windows applications.

  15. Re:Conquering Windows by omicronish · · Score: 3, Interesting

    DirectX is great for PC Games - but for real scientific/commercial work it *SUCKS*.

    Is there a reason why it sucks for such work? I've only done experimental game-related graphics work with both APIs, and although each has its own unique style, I don't really see any major problems of either that would prevent work of any type from being done using it.

    I think the real reason why DirectX isn't used for scientific work is because it only works on Windows, and it hasn't been around for as long as OpenGL.

  16. Becuase some devices have only Windows drivers by erice · · Score: 3, Interesting

    I have a film scanner. The nearest equivilent which *might* have linux drivers is over $1000 more. So, you can see why I don't just buy a different scanner.

    So, why not just boot into windows, do my scanning and get out?

    Because scanning a roll of film can take hours of off and on work. I don't want to to be stuck with Windows that whole time.

    Wine (when it works at all) is of no help. It runs only apps, not drivers. Even VMware, when the host OS is Linux, is of no help.

  17. It actually works! by WoTG · · Score: 3, Interesting

    And I might add that it seems to work too!

    I happened to be playing with coLinux for the first time this afternoon (beating the /.'ing for once...). There are two distributions "images" available from coLinux, and it sounds like the changes to get any distribution working within coLinux are quite minimal (I think it's mostly setting up the virtualized hardware drivers...).

    It works easier than I expected. And it really does use regular binares. For instance, I've just installed X and KDE from the regular Debian package repositories.

    I tend to think of this as a specialized, i.e. Linux Only, alternative to a VMWARE for Windows license. Free, and moderately easy to install - I'm sure that in time, it'll be a lot easier to setup.

  18. Re:EULA by prockcore · · Score: 4, Interesting

    Whaddya bet that MS changes their EULA to make running another OS concurrently a violation of said EULA? I can see that happening judging by their history.

    That'd be dumb, since then they'd prevent xbox developers from doing work. It would prevent pocketpc developers from doing work.

    If they made an exception for MS OSes, it'd be a very obvious anti-trust move.