Sun to run unmodified Linux Binaries
Quite a number of people wrote in to address the latest announcement and news from Sun Microsystems. Using a program they are calling lxrun, Solaris will be able to run "unmodified Linux binaries".
← Back to Stories (view on slashdot.org)
1. You have a commodity box intel multiprocessor system.
2. You need high performance SMP
3. Better Java x86 support than Linux
4. Oracle more mature on Solaris x86
5. Need log-structured file system
6. Are a fortran or numerical analysis type.
Now, you could say "why not just buy an UltraSparc", but then again, you can buy a multicpu system for as little as $3k.
Linux isn't the answer because:
1) Linux SMP performance still sucks, and it's thread model sucks.
2) Java support still in its infancy
3) Oracle8 is barely out of its diapers on Linux
4) Linux has a shitty default file system (ext2fs) that takes FOREVER to fsck, especially if you have a 72gb RAID, and, its performance sucks.
5) Linux doesn't have a parallelizing compiler that can even come close to Sun's. Go run a dejanews search on linux, solaris, and linpack. You'll see that the performance difference is as much as 1000% on some of the tougher Linpack benchmarks.
Basically: You want to use cheap hardware, but don't want to settle for Linux's bottom-rung compiler, SMP, I/O handling, and filesystem.
Now, if you run Solaris x86 on a single-processor machine than you are a *dummy*
(yes, performance sucks. Solaris is tuned for SMP, not single-cpu)
Yeah yeah BSD has had this for a while, but the exciting part is the big picture. The various UNIXen will likely stay "fragmented", but if other vendors rally around a common binary that's a big step.
Sure, you probably have to statically link all yer friggin libraries (I'm reacting to the headline NOT the announcement text), maybe not. I'm sure there will be drawbacks, but it's one less thing for the NT crowd to point at.
"I may not understand what I'm installing, but that's not my job. I just need to click Next, Next, Finish here so I can walk to the next system and repeat the process" - anonymous NT admin
Don't get me wrong -- lxrun is a nice piece of software, and pretty simple in concept. Since Solaris and Linux both use the ELF executable format, each can _attempt_ to execute the binaries for the other. Unfortunately, other incompatibilities soon scuttle that.
:~(
Lxrun is basically a wrapper for executing Linux binaries. What lxrun does, first of all, is set up the search paths for loading the dynamic libraries that a Linux binary needs instead of trying to use the Solaris libraries.
However, even with the native libraries, Linux and Solaris have different sets of syscalls. The other part of lxrun's job is to intercept those syscalls and translate them to something that supposedly does the same thing in Solaris. There are still quite a few that are missing, but it seems enough of them work to get all those programs Sun has demonstrated running.
I find it interesting that they had Quake 2 running because when I tried it, the path names that it searched for its files were all wrong. The same with Quake 3 test (and now it bombs out completely because it searches for stuff in a directory with the CTRL-A character for a name!) It's possible that because I'm using Solaris 2.6 things are different then in Solaris 7, and that causes the errors.
Finally, there is at least one isssue with the OS itself (at least version 2.6) that causes problems. It seems Solaris can't access memory addresses that PCI cards get mapped to (stuff like 0xf7000000) for whatever reason. Therefore, you wouldn't be able to use VESA framebuffers or the Voodoo driver
Of course, you need all the Linux libraries required for the programs yoou want to run. And given the GPL, you need to make source available for them too. What I want to know is if Sun is going to distribute the libraries with the OS, or as a separate package.
lxrun on Solaris does seem like it's been developed for Solaris 7 anyway, though. So some of these problems may be figments of my old OS.
Glückwünsche, haben Sie Slashdot ermordet, indem Sie zum korporativen Druck beugten und Subskriptionen einlei