Solaris vs Linux Continues
raffe writes "Solaris Kernel Developer Eric Schrock is bloging more about the Solaris vs. Linux issue and linux kernel moneky Greg is answering on his blog.
Eric's first part is is also still up and Greg's answer " Another reader also submitted reviews of the Linux desktop vs. Solaris 9. User reviews are welcome; please note that ITMJ is part of OSTG like Slashdot.
Solaris vs Linux Continues:t =5y
http://finance.yahoo.com/q/bc?s=SUNW&
Why do people feel compelled to do these things?
Two excellent tools - hammer, screwdriver.
Both can be used to install fasteners. (nail/screw)
Each tool has its place. And sometimes you can use one tool and its parts in place of the other with no adverse results.
It doesnt make them better than each other.
Just different.
comment directly in my journal
I'd like to hear from people what their experience is with camera and video drivers for Solaris.
apt-get install kernel-image-X.X.XX
This is my sig, there are many like it, but this one is mine...
raffe writes "Solaris Kernel Developer Eric Schrock is bloging more about the Solaris vs. Linux issue and linux kernel moneky Greg is answering on his blog. Eric's first part is is also still up and Greg's answer " Another reader also submitted reviews of the Linux desktop vs. Solaris 9. User reviews are welcome; please note that ITMJ is part of OSTG like Slashdot.
New words of the day:
moneky
bloging
Moneky bloging!
this sig limit is too small to put anything good h
I really don't think kernel recompiling is the biggest thing keeping Linux from dominating any market. Ease of use is a big thing. Another is simply the myth that OSS is unsupported and/or unreliable. You can point to a thousand studies showing Linux is as good as (or better) than alternatives, but that won't change some peoples minds.
Solaris on x86 is a joke and nobody would use it unless they have a very special need. So, on x86 (and opteron) Linux and BSD are the way to go. Now, we all know that Solaris scales very well and you'd be crazy if you replaced Solaris with Linux on your shiny new E15k. And, really, that's it, run Solaris on your Sun-branded big iron. If you buy from SGI and IBM you might be running Linux on high end hardware. I don't see why people waste time discussing this. The $25,000 RISC workstation is dead, even more so since the AMD64 was announced, get over it.
Turbo Smorgreff
i've used linux for exclusively for over 7 years at home and I've never recompiled my kernel.
properly packaged distros usually do not require a kernel compile.
PHP is the solution of choice for relaying mysql errors to web users.
It's tough for me to believe that people can argue on the internet without it turning into a flame war. Apparently, according to this article, it can happen.
Sun needs to seriously stop trying to piss people off and simply be a company. The hating Microsoft thing was fun and quite funny. This new Anti-linux thing is just dumb. Make your money off your freaking Hardware, if AMD, IBM and Intel are beating your procs, USE their's I'm sure they'd sell to you.
You know, when I first encountered Linux back in 1997 (IIRC) I managed to successfully build/install my own kernel within an hour of first booting the CD. And I had no UNIX background back then. It's the _easier_ (and well documented) part of finding your way through the system. Setting up Samba, for example, IMHO is more complicated.
* "Reliability is more than just "we're more stable than Windows." - anybody else remember the eCache problems? At a former employer, we applied every patch and none of them fixed the issue. The machines were still spontaneously rebooting when I left six months ago. Sun's response was "upgrade to new hardware at full price."
* "we need to be able to solve the problem in as little time as possible with the lowest cost to the customer and Sun." - a co-worker spent a month corresponding with Sun to get them to admit there's a bug in SunOne AppServer (it compiles JSP pages even if they existed on the server in jar files).
Again, it took him a month to enter a bug into the system. They're not going to fix it, but they've admitted it's a bug.
- Linux Versus NT
-
Linux versus FreeBSD
- Linux versus TwinView Nvidia GForce4 MX 4000 (ok, it's a bizarre one, but we are being thorough
:)
-
Linux versus MacOS X Server
- Linux Versus On Time RTOS-32 for Real-Time Embedded Systems
And, most importantly: Linux Versus Linux. (No you can't actually read it..)Ok, this was the first page.. I got bored copy'n'pasting afterward.
I mean seriously. We have a debate about the relative merits of Solaris and Linux, and you come out and say, "LOL no context haX0rs@!!~ OMFG linux is so wei faster than Slowaris lol!"
I mean, did you even read his blog entry? I know, I know, this is Slashdot. But come on. He isn't comparing Linux and Solaris as gaming platforms. Yeah, your FPS for Doom 3 is probably faster on Linux (LOL d00d don't you know Doom 3 doeznt run on Slowaris haha you fail it!) but what he's talking about is no downtime, ever.
He's talking about kernel debug utilities. About hardware hotswapping. About being up 24x7x365 doing 1000s of database transactions per minute. We aren't talking about your mom's basement here, with your little network, or even the nice little RAID setup you have going at work that saved your employer a pretty penny. We're talking about big iron. Speed is not the issue here; reliability is. One of the reasons Solaris is slower than Linux is because it checks everything. It is one extremely anal system, and it never ever goes down.
Now, I'm a big Linux fan (typing this on my Debian box), but no one who has seriously admined Solaris boxes can say that the two are even remotely equal on big servers. No contest indeed; Solaris kicks the shit out of Linux.
I don't think this will be the case forever. Unlike the anal blogger referenced in the writeup, I think Linux is catching up faster than Solaris is improving. While he makes good points about Linux's lack of sysadmin accessible kernel debugging tools, traceability, etc, people attempting to sell Linux to big vendors will provide those tools.
But Linux isn't ready for the big iron machines Solaris dominates yet. Don't say IBM, please. IBM runs multitudes of instances of the Linux kernel in parallel on their machines, so that if one fails, it doesn't take the whole system down. Those big iron Sun machines run one kernel, baby. Just one.
I tell you, if they open source Solaris (yeah right) we're going to be looking at some pretty amazing code. Some of the best hackers ever have hacked that thing.
I like Eric's blog. It's probably the first Sun person's blog I've read that isn't filled with debate-class drivel. He actually lays down the facts in a technical, but concise manner which significantly eases getting his point across. Many of the other Sun-sters should take note.
Tell us why we really need to add this new feature to the kernel, and ensure us that you will stick around to maintain it over time.
There really is no way to "ensure" the support of the developer. She has not signed a legally binding contract and could jump ship to the evil empire: Micro$oft.
Therein lies the only potential risk with open source software without the backing of a stable commercial company. The software relies on the goodwill of the developers. How do you ensure "goodwill"?
Therein also lies the reason for Linux exploding in popularity after IBM publically backed it with $1 billion. If any developer were to jump ship and abandon a Linux feature that she developed, allowing it to flounder like a beached whale, IBM would step into the picture and "own" the feature. Under no circumstances would IBM allow its own customers to suffer anything "worse" than 6 sigma reliability.
The actual compilation step is no big deal; it doesn't actually require any user interaction, and it's reasonably quick. Chances are that you'll spend longer downloading than compiling. The hard parts are configuring and installing the new kernel. Installing is a bit tricky because you want to be able to switch back if the new one doesn't work. Configuring is tricky because there isn't a non-expert tool for it. There really ought to be a configuration tool which would start with a distro-specific configuration, check the devices you have installed, ask you to plug in each USB device you use in turn, check the filesystems in your fstab and detected on your devices, and generate a configuration that supports everything.
All of this is easier in 2.6 than in 2.4 and before, because the kernel developers decided that they really wanted the build process to be efficient and accurate (which they care more about than people who don't do it constantly) and they wanted the configuration system to be consistant and well-specified.
Comment removed based on user account deletion
Oh Dude! :)
You're missing out. Why would you want to recompile your kernel? Because you can.
If nothing else you can watch all those cool compiler messages fly by enhancing your innner sense of 1337ness
"They're already dead, they're just not broke yet..."
Sun is already dead, or at least their current product line is.
They'll still be able to sell extreme high end servers and mainframes to a relative handful of corporate and government clients, but everything below this level is already all but lost to them.
They're caught in quite a predicament. Their architecture is getting its clock cleaned by competitors and their OS is spartan and obtuse compared to Linux. They don't have an advantage anywhere that triple 9 availability isn't crucial, assuming of course that their stuff really is stable, robust and ages well. I can't say that it does. It may be stable, but lets see you get Veritas 3.4 running on Solaris 8 with ALL of the latest recommended patches. You can't because two of the patches BREAK Veritas and there is no fix other than backing out the patches, which leaves the system vulnerable. Sun's solution? Spend $15 to $25 thousand dollars to upgrade to the latest version of Veritas. That is just for software mind you. My solution? Replace the damned thing with a Linux server running BRU-Pro for $4 thousand that includes new hardware and software.
I work for the college of engineering at Arizona State University where I support Unix systems for the computer science department. The sun systems here are withering on the vine. Every time one is in need of replacement a Linux system is bought to take its place. I expect that within 5 or 6 years sun systems will be all but gone at ASU. Our central IT organization is going through a similar migration.
This isn't because of some edict from on high either. This is happening because every single time, Linux on commodity hardware makes more sense from multiple angles than Solaris on proprietary and extremely expensive hardware. This will not change, if anything it is going to become more and more true as time goes by.
This is why Sun is doomed if they don't find a new product to sell. Stick a fork in them, they're done.
Muslim community leaders warn of backlash from tomorrow morning's terrorist attack.
Can anyone cite a real life example where Solaris was used in place of linux on a new project for a valid reason?
Here's one.
The reasons? Linux couldn't handle emergencies, and wasn't always available.
I've not had to recompile a kernel for my desktop Linux systems in a long time - the one that comes with the distro is fine, and gets updated by the distro's tools just fine too.
The only kernel I have to recompile is the rather specialist one for one of my servers which runs a heap of virtual machines. That is expected on an experimental system. If you couldn't recompile the kernel it wouldn't be much good as an experimental system.
I've not had to compile a kernel for a 'production' system in years.
Oolite: Elite-like game. For Mac, Linux and Windows
Why is this insightful? Solaris 10 isn't out yet so there is no comparison between it and Linux.
Today is Monday. Does that mean Sun loves Linux or hates Linux? I forget.
/usr/j2se ? /usr/jre1.4.1_05b1? /usr/java? /usr/java1.3? C:\jdk1.4.1_03? C:\Program Files\jdk1.4.1_03??? C:\Program Files\Java\j2re1.4.2_04 ? (The last three all exist on my Windows box).
More then anything, Sun's demise has to do with the fact that Sun can't figure out what they are doing, and won't stick to their decision for more then a year.
- Is Solaris supported on Intel86 architecture or not?
- Does Sun sell Cobalt appliances or not?
- Does Sun resell Linux or not? Today, is it RedHat or Suse?
- Is Java a programming language or is it a more General Product? What does "Sun Java Desktop" have to do with Java?
- Can I redistrute the JDK with my own applications or not? Wait, just javac?
- Is Java called 'Java', 'Java Two', 'Java one-point-two-and-above' or 'Java Five-point-oh'?
- Where is Java installed today?
94% of Repubs and 21% of Dems voted to renew the Patriot Act
At work we have a compute farm that includes both Solaris and Linux. How many of each we run is based on the software requiements to do our work, of course.
Overall, Linux does a great job. But we experience odd lockups we can't easily track down. The only alternatives seem to be pulling software developers from their real work to debug the kernel, or paying fat licensing fees to one of the Enterprise class Linux vendors. At that point, Linux is suddenly in the same arena as Sun, WRT price. Of course, there's always the option of simply replacing the hardware; it is fairly cheap compare to Sun hardware. Now there's a green thought. 8^/
And for the monkey's edification, some of us do care about library compatibility. I've certainly run into issues.
And for the record, I haven't been able to get my sound card at home to work on Linux ever since I moved into the 2.4 kernel space.
Linux is a good thing. But so is Solaris. And "Use the source, Luke" is the wrong answer for the average end user-- even the average technical end user. It reminds me of why I picked Linux over BSD almost a decade ago. ``Just write your own damned driver and quit whining.''
If I start hearing much more of that, I'll start looking for an alternative to Linux in a heartbeat-- and I'm referring to the compute farm at work as well as this system at home.
I have used Linux for years but I've also used Solaris. Solaris is simply more reliable and more fault tolerant hardware-wise. It's a fact and as Solaris is opened up and more people become aware of it, it will be obvious. Linux is a great OS and works wonders but it's not up to Solaris standards in many ways. Likewise, Solaris isn't as widely used as linux and doesn't support nearly as many peripherals and isn't as good on the desktop.
:)
That said, Sun's cash cow or former cash cow was its hardware not software. Solaris was a nice OS that was icing on the cake. Now that their cash cow is gone, their emphasis will be on Solaris but there's less revenue here. I hope they go bankrupt and GPL solaris personally.
The rebuttal wasn't a rebuttal either. It didn't mention kgdb which allows you to debug kernels using source code.. it can also work with UML kernels. Also the rebuttal didn't address the points raised:
Reliability - Reliability is more than just "we're more stable than Windows." We need to be reliable in the face of hardware failure and service failure. If I get an uncorrectable error on a user process page, predictive self healing can re-start the service without rebooting the machine and without risking memory corruption. Fault Management Architecture can offline CPUs in reponse to hardware errors and retire pages based on the frequency of correctable errors. ZFS provides complete end-to-end checksums, capable of detecting phantom writes and firmware bugs, and automatically repair bad data without affecting the application. The service management facility can ensure that transient application failures do not result in a loss of availability.
Serviceability - When things go wrong (and trust me, they will go wrong), we need to be able to solve the problem in as little time as possible with the lowest cost to the customer and Sun. If the kernel crashes, we get a concise file that customers can send to support without having to reproduce the problem on an instrumented kernel or instruct support how to recreate my production environment. With the fault management architecture, an administrator can walk up to any Solaris machine, type a single command, and see a history of all faulty components in the system, when and how they were repaired, and the severity of the problems. All hardware failures are linked to an online knowledge base with recommended repair procedures and best practices. With ZFS, disks exhibiting questionable data integrity can automatically be removed from storage pools without interruption of normal service to prevent outright failure. Dynamic reconfiguration allows entire CPU boards can be removed from the system without rebooting.
Observability - DTrace allows real-world administrators (not kernel developers) to see exactly what is happening on their system, tracing arbitrary data from user applications and the kernel, aggregating it and coordinating with disjoint events. With kmdb, developers can examine the static state of the kernel, step through kernel functions, and modify kernel memory. Commands like trapstat provide hardware trap statistics, and CPU event counters can be used to gather hardware-assisted profiling data via libcpc.
Resource management - With Solaris resource management, users can control memory and CPU shares, IPC tunables, and a variety of other constraints on a per-process basis. Processes can be grouped into tasks to allow easy management of a class of applications. Zones allow a system to be partitioned and administrated from a central location, dividing the same physical resources amongst OS-like instances. With process rights management, users can be given individual privileges to manage privileged resources without having to have full root access.
And of course windows is but a Play Thing.
2 years and no mod points. Join reddit. Because openness is good.
I'm not a developer, but I deal with different types of systems, and appreciate both Linux and Solaris for their respective strengths. In the telecom space, for instance, Solaris is well respected for building embedded applications. While AT&T invented Unix, they never meant it for critcal "five nines" real-time telephone call processing. Yet the dial tone on my desk comes from a Solaris-driven central office switch. (Not Lucent!) While the switch vendor's own code has crashed, the Solaris layer beneath takes a lickin' and keeps on tickin'.
I think the big fallacy in Linux is the driver ABI. Linus likes to change it, as a way of forcing hardware developers to have open-source drivers. Nice Stallmanesque politics, but impractical in the real world, for at least two different reasons.
1) Not all drivers can expose the source. This is often because complex devices hide proprietary details in the code. nVidia does that with its "compile in the stub" 3D drivers. Even more limiting are the wireless-card drivers, wherein regulatory approval is dependent on limiting user access to some of the chip registers which, in an open-source driver, could be used to create out-of-band or over-power emission. Life ain't all Ethernet cards nowadays. I had No Fun trying to make a PCI wireless card work with Linux, partially because of the (older) version dependency of the vendor's binary-only driver. Solaris and indeed most (not all) Microsoft OS versions have been better about that.
2) There's a lot of custom hardware out there. Sure, Linux users generally think about "computers" that are either "desktop" or "server" systems. But embedded systems are even more common. Solaris works in a lot of big ones, like aforementioned telephone switch. Some of those systems use different makers' boards; said phone switch, for instance, is made by a company that buys critical boards from other companies. Changes in the ABI would make a difficult revision process even harder. And even if you make your own peripherals, having to recompile or, gag, rewrite the drivers to meet Linux' latest idea of an ABI is, well, a serious pain in the kiester. Very unprofessional!
So while most mainstream dekstops do get better support in Linux, in part because of the better volume of applications, the Solaris approach still wins for those big systems where an hour of downtime is worth tens of thousands of dollars.
Because the Sun guy actually makes coherent and valid points whereas this guy says a load of what is essentially meaningless cheer-leading? I think you'll find a lot of businesses like to have a reasonable degree of reliability in their servers. Telling people to get stuffed when ReiserFS decides to randomly shit the bed and completely annihilate your business data won't impress many people (it's done this several times for me on MAINLINE KERNELS, there is absolutely NO excuse for that. Don't tell me to send in dumps and patches, mainline means "this does not NEED debugging and is safe to use", period). I'm not talking running a major financial institution or a nuclear power plant here, I'm talking about being reasonably sure that today's data will still be here tomorrow.
That's just filesystems. Once upon a time Linux was really great because it was amazingly robust, small, fast and elegant. Today we have frequent kernel panics and X server flakiness, gigantic frameworks for desktop environments and gigabyte sized base installs. I suppose I can forgive flaky and sometimes limited support for exotic hardware because PCs are really complicated beasts these days, and a lot of hardware manufacturers are incredibly pig headed about these things but it would really be nice to have my two year old laptop actually wake up from ACPI sleep. No it's not a DSDT error. No I do not want to use Software Suspend because it is a hack. Nevermind the fact that it takes 5 minutes (as in around 300 seconds) to suspend on a 1GB swap with 256MB of RAM and several minutes to wake up again.
Linux sucks, get over it. Yes I use it, that's because everything else sucks more.
But one big factor is that the Solaris OS is based on hardware that is largely controlled by Sun, which gives them a big lead, potentially, on reliability and stability. It certainly helps to avoid over-complexity in the handling of hardware issues. Linux has to run on hardware that is often badly documented, if at all. Many of the reliability features of any OS need specific hardware provisions, which are simply not there in a PC.
So it is like comparing apples and oranges, or pears and bananas, or Saddam and Dubya. Actually on that last point I may be wrong, because neither was properly elected.....
The only question is whether "scratch your itch" results, in the long term, in a more reliable (observable, etc) system than "design for reliability (observability, etc)". This is sort of a reprise of the "worse is better" argument, and I think it is by no means resolved.
The evaluation of an action as 'practical' . . . depends on what it is that one wishes to practice.
Actually, after reading the various posts, I would say that a version comparrison isn't worthwhile at all and as the Sun developer mentioned, Linux and Solaris have different philosophies and approaches. Where I dont agree with him is that they have different markets entirely.
As an example, he talks about swapping hardrives and CPU boards in failure events. From Suns perspective of selling an E10K for $1mil to a customer to solve a database problem (as an example), this is a very neccessary feature. From a customers perspective, however, I can solve this problem with either an E10K or a Linux cluster. In the linux cluster I wouldn't care about swapping out a CPU while the machine was running as I would swap out the machine and the _system_ would still be running. Google is solving a traditional big-iron problem very differently then the way Sun would solve it for them.
I disagree with the statement that since Sun solves problem X with solution Y and Linux uses solution Z that they are competing in different markets. Truly there are things that Sun can do that Linux isn't well suited for and vice versa, however, the majority of corporations out there do not fall in either of those two areas. Where Sun has an advantage is not in its technology to solve standard corporate problem X but in its unified marketing, training, support, and existing market base. Those are assets but they are not technical reasons why Solaris is better then Linux at solving the technical problems of a business.
If we are going to post Suns blogs shouldn't we post the Red Hat exec's Blog defending against Sun?
-- "of course thats just my opinion, I could be wrong." --Dennis Miller
i've used linux for exclusively for over 7 years at home and I've never recompiled my kernel.
properly packaged distros usually do not require a kernel compile.
parent neglects to mention he's still using the 2.0.32 kernel.