Slashdot Mirror


A Comparison of Solaris, Linux, and FreeBSD Kernel

v1x writes "An article at OpenSolaris examines three of the basic subsystems of the kernel and compares implementation between Solaris 10, Linux 2.6, and FreeBSD 5.3. From the article: 'Solaris, FreeBSD, and Linux are obviously benefiting from each other. With Solaris going open source, I expect this to continue at a faster rate. My impression is that change is most rapid in Linux. The benefits of this are that new technology has a quick incorporation into the system.'"

78 of 318 comments (clear)

  1. wishfull thinking by scenestar · · Score: 5, Interesting

    If only they could compare the NT kernel along with them

    *sigh*

    --
    perpetually dwelling in the -1 pits
    1. Re:wishfull thinking by wlan0 · · Score: 2, Interesting

      Can one really see how the NT kernel works, with all the stuff stuck together like Windows is?

    2. Re:wishfull thinking by Cheapy · · Score: 2, Insightful

      Well...I'll go out on a limb here and say that it matters becuase it's a kernel that is used extensively.

      --
      Would you kindly mod me +1 insightful?
    3. Re:wishfull thinking by level_headed_midwest · · Score: 2, Funny

      It's all in the source code that we all got about a year ago from W2K when it- gaah!

      ***Microsoft Trade Secrets Protection Act***
      The person that wrote the above post has been dealt with for sharing Microsoft (R) Windows (R) proprietary source code and is violation of the End-User License Agreement as well as Microsoft Revised Penal Code section 192.168.0.1. The person has been terminated and please disregard the above message.

      Thank you,

      Microsoft Support Team

      --
      Just "gittin-r-done," day after day.
    4. Re:wishfull thinking by Anonymous Coward · · Score: 2, Informative

      If you're interested in the details of Windows I suggest that you pick up a copy of "Windows Internals". It's quite detailed about the inner workings of Windows.

    5. Re:wishfull thinking by TheNetAvenger · · Score: 3, Insightful

      Can one really see how the NT kernel works, with all the stuff stuck together like Windows is?

      Saying that the NT kernel and Windows (the Win32 Subsystem) have any relation would be like asking how you can compare any *nix kernel with all the XWindows stuff stuck together...

      NT is NOT what most people consider Windows, however it does POWER windows.

      Also the NT kernel is not too shabby, considering its design age, and it came from Microsoft. Go pick up Inside NT or a current version that deals directly with the NT kernel and not the Win32 subsystem.

    6. Re:wishfull thinking by freedom_india · · Score: 2, Informative
      Win32 subsystem is TOO much tied to NT kernel and closely coupled to achieve the performance it has today.

      That is why NT 3.51/3.53 was more robust than NT 4,0 which moved major parts of the UI code to kernel mode.

      Please actually read Inside Windows NT 3.51 by Helen Custer and THEN read Inside Windows NT 4.0 to know the difference.

      --
      "Doing what i can, with what i have." ~ Burt Gummer
    7. Re:wishfull thinking by TheNetAvenger · · Score: 5, Informative

      Win32 subsystem is TOO much tied to NT kernel and closely coupled to achieve the performance it has today.
      That is why NT 3.51/3.53 was more robust than NT 4,0 which moved major parts of the UI code to kernel mode.

      Please actually read Inside Windows NT 3.51 by Helen Custer and THEN read Inside Windows NT 4.0 to know the difference.


      Sorry, hun, read both and even had this discussion with a key kernel developer at Microsoft a few years ago. (1997 in fact, as we were starting to work with Beta 1 of Windows 2000)

      NT 4.0 ONLY moved video to a lower ring. It had NOTHING to do with moving the Win32 subsystem INTO NT - that did not happen.

      That is why Windows NT Embedded exists, and also why even the WinCE is a version of the NT kernel with NO Win32 ties.

      Microsoft can STILL produce NT without any Win32, and just throw a *nix subsystem on it if they wanted to, but yet have the robustness of NT. Win32 is the just the default interface because of the common API and success of Windows applications.

      I think you are confusing Ring dropping of the video driver with something completely different.

      NT is a client/server kernel... Go look up what that means, please for the love of God.

      Win32 is a subsystem, plain and simple. Yes it is a subsystem that has tools to control the NT kernel under it, but that is just because that is the default subsystem interface. You could build these control tools in any subsystem you want to stack on NT. PERIOD.

    8. Re:wishfull thinking by dajobi · · Score: 2, Informative
      NT is a client/server kernel... Go look up what that means, please for the love of God.

      I've never heard of such a thing. Neither has google. You probably mean microkernel, which is what MS was claiming NT was until they got tired of academic microkernel nuts telling them it wasn't (everyone except Tanenbaum who was busily claiming that Linux, with its unfashionable monolithic design, was obsolete) NT is a monolithic/microkernel hybrid.

    9. Re:wishfull thinking by TheNetAvenger · · Score: 2, Informative

      Here to get you started, here is a article I send Linux friends, since this was written by a Linux fan - it is several years old though.

      http://www.cosc.brocku.ca/~cspress/HelloWorld/1999 /04-apr/security.html

      Secondly, just put in: nt kernel client server

      Into almost any search engine, Google is what I tested it on. You can also substitute client-server to help weed out some of the articles just talking about client server computing models and not the NT kernel and OS architecture itself.

      Basically, NT has a client/server kernel and is a client/server OS architecture as well. It is not monolithic and serve multiple layers at the kernel level, but does so in a way that performance is not lost at the rate of other layered kernel designs like you would find in Linux.

      It is just a different kernel concept that the people building NT came up with to give the best of both worlds, almost monolithic kernel speeds, and without the layered overhead. Cutler and his team were no fools, and if people remember came from the VMS and Unix world, not a Microsoft world.

      Take Care...

  2. How can they? by WindBourne · · Score: 4, Insightful

    At this point, in order to see the kernel, you have to sign off on MS's shared source license. By doing that, anybody in the OSS world who signs, is then at risk of being at the receiving end of a MS lawsuit. It would be just as bad as signing off on a SCO license.

    --
    I prefer the "u" in honour as it seems to be missing these days.
    1. Re:How can they? by WindBourne · · Score: 2, Insightful

      a good developer can learn from all systems. Sometimes how to design thing, and other times, how not to. Even from MS, there is a lot to learn.

      --
      I prefer the "u" in honour as it seems to be missing these days.
  3. Flavourful. by Anonymous Coward · · Score: 5, Funny

    " A Comparison of Solaris, Linux, and FreeBSD Kernel"

    One is crunchy, the other's chewy, and the last is malt flavoured.

  4. When will OSI licenses really start working? by Nuclear+Elephant · · Score: 3, Interesting

    Solaris 10, Linux 2.6, and FreeBSD 5.3... all have strengths, weaknesses, features, and deficiencies... so why hasn't the OSI succeeded in the cross-pollination of these three great OS's? If they're really going to benefit from each other, why not get some linux kernels with SMF or better SMP out there? When will apt finally replace /usr/ports in FreeBSD? And when will Soalris' TCP stack not suck by implementing code from Linux or BSD? I hug all three of these OS's on a daily basis, but if open source is really working why can't we seem to make an OS out of these three that flat out rocks?

    1. Re:When will OSI licenses really start working? by WindBourne · · Score: 5, Interesting

      Off hand, I would say that all three flavors rock. And they also currently borrow from each other.

      BTW, you mention Solaris's network stack. For Solaris 9.9.x, just before the release, Sun did an internal test comparing between Solaris and all the major OSs. It turned out that Solaris lost big to Linux 2.6 when it came to networking. So Sun delayed it so that the internal team could re-design it to beat Linux's networking. According to one of my friends there, they believe that they have done so. But he also said that they borrowed ideas from Linux and BSD. So yes, the x-pollination is occuring.

      --
      I prefer the "u" in honour as it seems to be missing these days.
    2. Re:When will OSI licenses really start working? by Anonymous Coward · · Score: 2, Insightful

      Because well none of these licences really permit sharing, well some versions of the BSD licence are GPL compatable (those with two or three clause licences or ISC compatable but not any with the advertising clause. meaning that you could gpl the code (you have to be able to gpl it before you can incorporate it into a system that is already GPLed hopefully you have heard of the viralant nature of the GPL. BSD can't incorporate GPLed code for obvious reasons, CDDL can incorporate BSD code (probably does) but not GPL (conflicts) and vice versa for the GPL. WRT Dtrace it seems doubtful that the CDDL code will be incorporated, the licence (like most out of sun is very, very scary)

    3. Re:When will OSI licenses really start working? by MBCook · · Score: 4, Interesting
      I'd have to agree. As each OS adds something (like randomizing the starting number (can't remember right name now) for TCP a few years ago in one of the BSDs), the others look at it and add it. It can take some time because the code can't be directly lifted due to the differences that exist at the kernel level (unlike user-space where a port between Linux and FreeBSD may require VERY little work). I remember talk about Linux's TCP/IP implementation not being up to snuff with some of the BSD stacks. They are quire competitive now, I think. I remember comparisons about how slow threads were to start in Linux compared to other OSes (although Windows is even worse, I think). But that lead to (or at least put a fire under) the NPTL project (and the others doing the same thing). I image that FreeBSD worked on their version of the Big Kernel Lock and SMP support because of Linux having better and better SMP support in the last few years, and working to remove Linux's Big Kernel Lock (still remains to some degrees).

      The system has been working very good. Plus there are obvious connections. FreeBSD (and I assume Solaris) can both read ext2 (and I assume 3). Both have DevFS (which Linux has had, at least in some form, I don't know how close/far apart they were). So code which can be easily adapted does get moved. I would be VERY surprised if there were only a handful of drivers for FreeBSD that said something along the lines of "Based on the Linux driver by Mr. Reverse Engineer", and I'd imagine there are drivers that go the other way too (I'm not nearly as familiar with FreeBSD as I am with Linux).

      --
      Comment forecast: Bits of genius surrounded by a sea of mediocrity.
    4. Re:When will OSI licenses really start working? by Jester998 · · Score: 3, Insightful

      When will apt finally replace /usr/ports in FreeBSD?

      Hopefully never... Ports rocks!

    5. Re:When will OSI licenses really start working? by jhines · · Score: 2, Interesting

      A port of Dtrace from Solaris to FreeBSD has been announced, and pf from OpenBSD has been ported to the others.

      It is happening. Solaris is the new kid on the block, it will take time for the code to be grokked and made use of. Or vice versa.

    6. Re:When will OSI licenses really start working? by BobNET · · Score: 3, Informative

      No, but a GPL driver can be used as a reference when writing a BSD-licensed one. This happened when the OpenBSD project reverse-engineered the Ralink 802.11 driver from Linux, for instance.

    7. Re:When will OSI licenses really start working? by Thalagyrt · · Score: 2, Informative

      I personally am a FreeBSD guy, but I must say I've looked at Gentoo's portage system and it's astoundingly awesome. They took the basic idea and tree behind ports and made it very easy to use and update via emerge. It's worth a look, even if you don't wind up using it. I'm sticking with FreeBSD as I love the way the userland and system sources are set up, but I can't deny that Gentoo has done something amazing. :)

      --
      Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo!
    8. Re:When will OSI licenses really start working? by WindBourne · · Score: 2, Insightful
      I remember comparisons about how slow threads were to start in Linux compared to other OSes (although Windows is even worse, I think).

      I used to teach linux API and kernel Internals at various companies (HP, IBM, and Avaya). At that time, a student said something similar, so we decided to do some quick benchmarking( on 2.4 vs. 2000). It was what I would expect; Linux was very slow on the thread compared to NT. OTH, Linux blew away Windows on process creation. The simple answer to this, was that Linux's process is nothing more than a thread with memory creation. In contrast, Windows (at 2K) has optimized threads, but not focused on process creation. Where it is at now, well....

      --
      I prefer the "u" in honour as it seems to be missing these days.
    9. Re:When will OSI licenses really start working? by timmarhy · · Score: 2, Insightful

      depending on the licensing issues which the parent probably doesn't understand they could or they couldn't. the gpl is very bad for "infecting" programmers like that. i'm sure it'd be very grey ground to look at gpl'd code in order to write say a bsd version.

      --
      If you mod me down, I will become more powerful than you can imagine....
    10. Re:When will OSI licenses really start working? by adrianmonk · · Score: 2, Interesting
      FreeBSD (and I assume Solaris) can both read ext2 (and I assume 3). Both have DevFS (which Linux has had, at least in some form, I don't know how close/far apart they were).

      I'm fairly sure Solaris was the first to have an automatically-managed /dev. Solaris has had its /dev and /devices arrangement (in which everything in /dev is a symlink to something in /devices, there is no such thing as MAKEDEV anymore, and everything is automatically maintained) since at least Solaris 2.4, and quite possibly since the original Solaris 2.0. And Solaris 2.4 came out in 1994, and Solaris 2.0 came out in 1992, so it seems that Solaris has had an automatically-managed /dev much longer than Linux has.

      In fact, it would seems that Solaris has had an automatically-managed /dev since before Linux even hit version 1.0 (in 1994). Meanwhile, Linux is still dealing with issues like its devfs being declared obsolete before udev (the replacement) was even out of beta. Don't get me wrong. I think the Linux kernel has a lot to offer. But, I think in this one particular area, Linux is literally 10 years behind Solaris.

      (By the way, if someone wants to offer corrections, feel free to go ahead. One of the things that makes me really uneasy about Linux is the way that /dev management seems, from my limited experience, to be an afterthought. If If I were to find out that this perception of mine is only due to ignorance, I would probably feel like the world is a better place and even sleep a tiny bit better at night knowing that there are few potential headaches out there waiting to be dealt with.)

    11. Re:When will OSI licenses really start working? by csirac · · Score: 2, Interesting

      You're right about the sub-par /dev managment in Linux. When I first switched to udev from the deprecated devfs (which I never had any trouble with), I couldn't boot properly from my software raid1 volumes because udev needed the root volume mounted to create the mdN device nodes, but the root volume couldn't be mounted until mdadm was pointed to an mdN device node to assemble...

      That was about 2-3 years ago. It all seems to work smoothly these days, I think they just patched some work-arounds (guess the major/minor numbers) in the mdadm tool itself. Considering I can do a plain Debian install, arranging things so that / (incl. /boot) lives on LVM living on software raid, without hand-tuning a thing is a good sign that things have settled down. Additionally, I can modprobe any driver and have the dev node magically show up in /dev automagically. rmmod removes the driver and also the dev node. So I think things have matured in the /dev side of things over the last few years, even if it isn't as elegant as the way Solaris does it (which I'm not familiar with).

      If the /dev management is your only issue, then that says a lot for Linux I think ;-)

    12. Re:When will OSI licenses really start working? by civilizedINTENSITY · · Score: 2, Informative
      In terms of thread and process design differences
      In contrast, the Unix approach generally has been to favor process creation and context switching at the cost of some efficiency for long-running processes, to favor multiprocessor memory management at the cost of increased hardware complexity, and to favor process or thread-level independence at the cost of making interprocess communication more difficult.
      In terms of real work, for the time frame you are refering to, it is interesting that Oracle runs 25% faster on Linux than on Windows:
      Same database version running the same version of our code, runs at LEAST 25% faster on Linux (RedHat Advanced Server 2.1) than Windows (XP). I don't think I'm allowed to give any numbers for 10g yet, but let's just say it's a whole lot faster than 9iR2 running the same code. 10g + Lniux = blazing speed (sorry for the marketing blurb, but our development team still can't get over how much faster it is).
  5. Filesystems by Bogtha · · Score: 2, Interesting

    Does anybody know why ReiserFS 3 hasn't been ported to any of the BSDs yet? ReiserFS 4 looks as though it's pretty revolutionary, if distributions settle on that as a default, I can see that giving quite an advantage to Linux compared with the other kernels.

    I noticed that the article didn't mention LUFS. This alone allows for tremenduous possibilities, not least of which is rapid development of filesystems. Do any other systems (besides GNU HURD) have userspace filesystems?

    --
    Bogtha Bogtha Bogtha
    1. Re:Filesystems by salahx · · Score: 3, Informative

      LUFS is unmaintained, it has been replaced with FUSE. FUSE includes a LUFS-to-FUSE bridge called Lufis

      FUSE is now merged into the Linux kernel, and will appear in 2.6.14.

    2. Re:Filesystems by gellenburg · · Score: 2, Informative

      The GPL has absolutely nothing to do with it whether or not it can be ported to FreeBSD.

      It's not like there would be any problems with releasing the source-code to the kernel extension for it.

      After all, GCC is included. So is Ext2 & Ext3 file systems.

      Do you mean to tell me those aren't GPL'd either?

    3. Re:Filesystems by CyricZ · · Score: 3, Informative

      Revolutionary often suggests a higher degree of complexity. Licensing issues aside, it's not just a matter of getting the ReisierFS3 or ReiserFS4 code to compile with the FreeBSD kernel. It has to be tested for compatibility, quality and performance. You can't be losing data, and if it doesn't offer a performance benefit over UFS or UFS2 then there's very little point in porting it.

      The FreeBSD and Linux kernels do differ fairly significantly, so it may not even be an easy task porting over the code (again, licensing issues aside). Indeed, it may even be a better idea for the FreeBSD team to perform their own implementation of the ReiserFS4 concepts and algorithms.

      --
      Cyric Zndovzny at your service.
    4. Re:Filesystems by ajs · · Score: 5, Interesting

      "It has to be tested for compatibility, quality and performance. You can't be losing data, and if it doesn't offer a performance benefit over UFS or UFS2 then there's very little point in porting it."

      Clearly you don't know about Reiser (no offense, it's just that that question shows a stark lack of understanding with regards to why Reiser is interesting in the first place).

      Reiser solves one of the oldest problems facing the old Unix-style filesystem: the adoption of btree-order performance directory lookups (using Reiser's "dancing trees") without significant loss in other areas of filesystem performance, e.g. directory entry creation and deletion, etc. This is something which was long thought impossible.

      This lead to further development, since the major reason to avoid creating thousands of temporary files has always been directory lookup times. So, now the question is: how far do you go with files? Reiser 4 answers that question by adding significant semantics to files which were not practical with slower filesystems (again, keep in mind that when I say "slower" I refer to the performance bottleneck surrounding large directories primarily).

      The problem with Reiser is that it is Reiser, and none of the exisiting filesystems can match its performance in these areas. That means that if you write an application that relies on Reiser's performance, it really RELIES on Reiser, and cannot perform well under normal filesystems without significant engineering (e.g. writing special-case code for Reiser and non-Reiser filesystems). In some cases (e.g. databases) this might be worthwhile, but in the case of more mundane applications, having filesystem-specific code is not always viable.

      For more information, see the Reiser4 site: http://www.namesys.com/v4/v4.html

    5. Re:Filesystems by billybob2 · · Score: 5, Informative

      I noticed that the article didn't mention LUFS. This alone allows for tremenduous possibilities, not least of which is rapid development of filesystems. Do any other systems (besides GNU HURD) have userspace filesystems?

      LUFS hasn't been maintained since 2003, and is therefore almost dead. FUSE (Filesystem in Userspace) is the most promising alternative that is getting merged into the 2.6.14 mainline Linux kernel. It works with several network filesystem protocols like:
      SMB for FUSE
      SSH Filesystem (SSHFS)
      FuseDAV (WebDAV)

      Linux-FUSE can also provide all applications on the system (even shell utilities) with access to network locations set up under KDE. There's a tutorial for how to do this, but last time I tried it did not compile :-(

      These are much needed improvements to usability of the Linux desktop, because unprivileged (non-root) users shouldn't have to contact their sys. admins everytime they need to mount network locations. The KDE approach to providing network access is not complete without Linux-FUSE, because only KDE apps can open/save to network locations set up under KDE. Hopefully the KDE devs will create a GUI for mounting/unmounting FUSE shares so that all apps (GTK, Motif, even shell utilities) can access network files.

    6. Re:Filesystems by Arandir · · Score: 4, Informative

      The GPL has absolutely nothing to do with it whether or not it can be ported to FreeBSD.

      Yes it does. A filesystem is a part of the kernel. The kernel is under the BSD license. The inclusion of Reiserfs code in the kernel would require it to be under the GPL license instead.

      So is Ext2 & Ext3 file systems.

      The ability to read ext2 file systems is included, but it is not the ext2 file system itself. You cannot create and write to ext2 file systems with FreeBSD.

      --
      A Government Is a Body of People, Usually Notably Ungoverned
    7. Re:Filesystems by evilviper · · Score: 3, Informative
      Does anybody know why ReiserFS 3 hasn't been ported to any of the BSDs yet?

      Two reasons.

      1. It's GPL'd code. Why in the world would a BSD-licensed project include GPL'd code, and in the kernel of all places?

      2. UFS2 is better in just about every way. The issue of journaling vs. soft-updates has been rehashed a million times over, and soft-updates are simply better. http://www.usenix.org/publications/library/proceed ings/usenix2000/general/full_papers/seltzer/seltze r_html/index.html
      The one issue journaling had in it's favor was fsck times, and UFS2 with it's "background fsck" has eliminated that problem. A system based on UFS2 will be up-and-running far faster than a ReiserFS journaled system, due to reiserfsck taking much longer to complete.

      So let me ask you. For what reason should anyone even consider porting reiserfs to any of the BSDs?
      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
    8. Re:Filesystems by SnowZero · · Score: 2, Interesting

      The problem with Reiser is that it is Reiser,

      I'd say the real problem is often Hans Reiser. He's usually got good ideas, but he tends to quickly get on people's bad side with his argumentative style. What's strange is that this is usually limited to the first 10-20 posts in some big discussion, then he calms down and works more directly and constructively with developers. If you look at the past few Reiser discussions on lkml, they seem to follow this pattern.

    9. Re:Filesystems by SnowZero · · Score: 4, Insightful

      I agree that BSD does not need Reiser, but I disagree with the blanket statement that BSD's filesystem is necessarily better. Comparative benchmarking of full implementations has shown that the differences between filesystems is not that large for most workloads, so nobody needs to care as long as the filesystem safeguards its integrity.

      2. UFS2 is better in just about every way. The issue of journaling vs. soft-updates has been rehashed a million times over, and soft-updates are simply better.

      The link you give is (a) written by the people that wrote soft updates, and (b) compares outdated journaling file systems, which are essentially strawmen. Reiser looks great in the papers on their own website too, but that's not a really an objective comparison either. If you want to put this to rest, you'll need to run a benchmark with more modern journaling file systems (in particular, those with wandering logs).

      The one issue journaling had in it's favor was fsck times, and UFS2 with it's "background fsck" has eliminated that problem. A system based on UFS2 will be up-and-running far faster than a ReiserFS journaled system, due to reiserfsck taking much longer to complete.

      The point of a journaling file system is that you don't need to run fsck (except in the case of a hard drive failure, of course). Mounting a several-hundred GB Reiser partition takes a few seconds, even if it was not cleanly unmounted. How much faster do you want that to be?

      Last I heard from some of the authors, the main drawbacks keeping softupdates from being used elsewhere were that it was more invasive to the VFS than a journaling file system, and had extremely bad memory usage behavior for specifically crafted (but unrealistic) benchmarks. I'd be interested in knowing if there has been some progress on these since 2000. Journaling file systems have come a long way in that time.

    10. Re:Filesystems by TheRaven64 · · Score: 2, Informative

      It's a slightly confusing area. If you have a BSD kernel, and you load a GPL module, then the entire kernel becomes GPL. When you unload the module, the kernel reverts to a BSD license. While the kernel is GPL'd, all of the components other than the GPL'd module itself are still BSD licensed - it's just the sum which is GPL'd.

      --
      I am TheRaven on Soylent News
  6. I was expecting a beefier article... by Improv · · Score: 5, Funny

    The article was a little bit short and without sufficient substance to be noteworthy on slashdot, I think.

    --
    For every problem, there is at least one solution that is simple, neat, and wrong.
    1. Re:I was expecting a beefier article... by elronxenu · · Score: 4, Funny

      You don't come here much anymore, do you?

    2. Re:I was expecting a beefier article... by Rik+van+Riel · · Score: 4, Informative

      It also had a few factual errors, for example ext2 and ext3 are not extent based at all, they are classical block based filesystems.

      Also, most of the Linux page fault code is architecture independant. As it happens, I just wrote an article explaining Linux page fault handling for the Linux-MM wiki. You can find some details there...

  7. Linux kernel better than Solaris kernel. by Anonymous Coward · · Score: 2, Interesting

    Interesting comparison between the Linux and Solaris kernels from someone who used to work SunSoft in the kernel group.

    http://www.ultralinux.org/faq.html#q_1_15

    1. Re:Linux kernel better than Solaris kernel. by ChrisGilliard · · Score: 3, Informative

      You can come up with stats that say each OS is better. Solaris supports the big iron better typically, so I'm not surprised that Linux can outperform it on a 50 mHz processor. From what I've seen Solaris handles Java threads much better, so if you're using Tomcat or another java application server Solaris could be better. Also, if you're using a 8 processor system, Solaris will typically be your best options.

      --
      No Sigs!
  8. kprobes? by ChipMonk · · Score: 2, Informative

    While not entirely equivalent, kprobes do give you an excellent way to examine and monitor the current system state.

    However, the quality of a kernel is not automatically improved by the inclusion of DTrace. Not to disparage Solaris and FreeBSD, but DTrace is primarily for kernel developers and sysadmins. The common user and app developer have little use for either DTrace or kprobes.

    1. Re:kprobes? by ChipMonk · · Score: 2, Interesting

      For the typical user app, profiling is the answer. A program bottleneck, such as a file being read over and over, will be revealed in profiling. A bottleneck in the kernel needs to be resolved in the kernel, not in userspace.

      This is not meant to disparage Solaris dev tools. This is merely to point out that Linux has its own, very powerful developer-oriented tools.

  9. Re:The Answer is Clear by LnxAddct · · Score: 4, Informative

    A) All of those OSes are macro.

    B) Linux has SystemTap, which goes above and beyond what DTrace is capable of. It is still in heavy development by Red Hat (Intel and IBM also helped start up the effort), and it's already quite a product.

    Your post was one big troll, why do you find it amusing to spread random misinformation?

    Regards,
    Steve

  10. Re:The Answer is Clear by TelJanin · · Score: 2, Informative

    Neither Solaris nor FreeBSD are microkernels. Perhaps you are thinking of Mach?

    Also, issues preventing the porting of DTrace to other systems would be because of licensing, not technology.

  11. Re:The Answer is Clear by CyricZ · · Score: 2, Informative

    The term is usually "monolithic kernel", rather than "macrokernel".

    --
    Cyric Zndovzny at your service.
  12. 50MHz processors?!?!?! Linux 2.0.27?!?!?! by Anonymous Coward · · Score: 3, Insightful

    How about data from this century?

  13. Hyperthreading by MBCook · · Score: 5, Interesting
    This was an interesting little article, I read it earlier today when I saw a link from OSNews. But one thing struck me as odd (there were a few others, but this was the one I was sure about).

    For hyperthreaded CPUs, FreeBSD has a mechanism to help keep threads on the same CPU node (though possibly a different hyperthread). Solaris has a similar mechanism, but it is under control of the user and application, and is not restricted to hyperthreads (called "processor sets" in Solaris and "processor groups" in FreeBSD).

    I am positive that the 2.6 kernel understands hyperthreading and does something similar to FreeBSD. Why wasn't that mentioned? Did the author not know that?

    Overall through, it was interesting. I'd read it as a longer series, if they had one. This is an area that I'm interested in. I read kernel-traffic, and subscribe to LWN (you should to!) almost entirely to read the kernel page. I've learned so much about operating systems and computers from reading about the improvements in the Linux kernel, why the old version wasn't good enough, etc. While I no longer use Linux since I got my Mac (OS X fills all my needs), I continue to learn a large amount about computer architecture and operating system concepts from it.

    --
    Comment forecast: Bits of genius surrounded by a sea of mediocrity.
    1. Re:Hyperthreading by octogen · · Score: 2, Informative

      Processor sets allow binding processes to a set of processors (for example, if you have 10 processors, and you want a process to run only on CPUs 2, 5, 6, 8, you can create a pset of these CPUs and bind the process to the pset rather than to a single processor, so if the process has multiple threads, these threads can spread to multiple CPUs inside the pset, but not all CPUs in the entire system).

      However, I don't see what this has to do with hyperthreading. I don't know if there is a hyperthreading-specific feature in Solaris, but there is at least a cache-affinity feature, that tries to dispatch a process to same CPU always. On Hyperthreading-CPUs, it would at least try to keep the process on the same hyperthread (because it sees each hyperthread as one CPU), and an hyperthreading-specific extension would be to keep the process on the same CPU, but possibly on a different hyperthread (because that does not matter, as two hyperthreads on the same CPUs share the same cache memory, and that's what FreeBSD does).

      You can even see how cache affinity works, provided you've got an SMP box. Just start a process with no more than a single compute-intensive thread, and you will see one CPU running at 100% for some time, while the others are idle (only every few seconds, the process will probably jump to another CPU). If there where no cache affinity, you would see all n CPUs running at approximately (100 / n) percent of load, because the process would be dispatched to any free CPU, regardless of where it had been dispatched previously (and as you are monitoring CPU load in steps of one second or so, and the process' time slice is only about 60 ms, you will see some load on all CPUs where the process had been running in the last second).

      (Note: you can monitor CPU load per CPU using 'mpstat', as most GUI performance meter only show total system load, but not load per CPU)

  14. Userspace Filesystems: try Plan 9 from Bell Labs by djs55 · · Score: 5, Informative

    Plan 9 had userspace filesystems. Moreover, it encouraged services to export control interfaces as filesystems -- so you could mount a service and then configure it using open(), read() and write().

    Have a look at the Plan 9 wiki. You can even run it inside vmware or Xen.

  15. Re:The Answer is Clear by AstroDrabb · · Score: 3, Insightful
    Since Solaris has DTrace (and FreeBSD will have it soon as well), wouldn't they automatically be better than the Linux kernel?
    No. First, niether Solaris nor FreeBSD are microkernels. Second DTrace is for kernel developers and sysadmins. As a USER, what I really care about is overall performance of a kernel. This article about comparing MySQL Performance on Solaris 10, Linux 2.4/2.6, FreeBSD and OpenBSD pretty much sums up what matters to me. I run MySQL and Tomcat on Linux 2.6 because it just is faster. While Solaris 10 is good, it just wasn't as fast as Linux 2.6 from my tests. Linux 2.6 allowed me to get the most "bang for the buck" out of my servers for MySQL and Tomcat.
    --
    If Tyranny and Oppression come to this land,
    it will be in the guise of fighting a foreign enemy. -James Madison
  16. Serious things were missed.... by postbigbang · · Score: 2, Interesting

    1. The SELinux kernel wasn't mentioned; it's security model is different, perhaps better in the final analysis than OpenSolaris.

    2. The concept of Solaris containers is nearly science fiction. Building them and then watching them through dtrace is a work of art, as in the Sistine Chapel. LVM is a different school of thought that gets to a similar conclusion; this all skewed by the beauties of VMWare and multiple instance/clustering management possibilities.

    3. The licenses-- very important differences in licenses-- are glossed==> ignored. There's all that messy intermingling of licensing trivia that's somehow an invisible characteristic of all of this. Fooey.

    4. While Sun can speak anytime Sun wants, at least there were other citations mentioned early. This is Sun propaganda. Remember that. Well thought out propaganda, but propaganda, not a third party examination of the facts and implications.

    5. There are other *nixes missing. Consider that real-time OS and embedded OS considerations are real, and while BSD and Linux has made progress there, Solaris is essentially missing, unless you consider weird programming profiles still based on non-Solaris OS.

    These are just the extemporaneous thoughts. Take this article with a grain of salt, although it's not bad for a vendor-hosted view.

    --
    ---- Teach Peace. It's Cheaper Than War.
    1. Re:Serious things were missed.... by joe_bruin · · Score: 4, Insightful

      Who modded this insightful? As the author states, this is a comparison of three components that are similar in the three OSs (and even those not in great detail). It is NOT an overall comparison of every feature of the three kernels. This throws out the parent poster's points 1, 2, and 5. This was a technical analysis, so license is not relevant (parent's point 3). The article is skewed to a Solaris direction, but I would hardly call it propaganda. To summarize the skew:

      1) Solaris has more abstraction for architecture dependent code than Linux, and is therefore slower but more portable.
      2) There are also more people working on Linux, leading to faster development but not as high a quality.

      See, that wasn't so bad. Overall, the author concludes that the three OSs do things quite similarly and stand to benefit from each other in the future.

  17. SCO Engineers Do It Best by Anonymous Coward · · Score: 3, Funny

    Since they wrote the linux kernel, SCO engineers had a lot of skill and foresight to create such a great operating system.

    Don't say it isn't true - or our lawyers will be calling.

  18. It's not written to provoke flamewars. by CyricZ · · Score: 2, Insightful

    The article is purely technical, and does not focus on topics (like licensing) that often lead to flamewars and other disagreement. Indeed, it is written in such a way that only the technical issues are discussed, rather than ideological issues.

    --
    Cyric Zndovzny at your service.
    1. Re:It's not written to provoke flamewars. by Will2k_is_here · · Score: 2, Insightful

      You must be new here. This is slashdot. Who the hell reads TFA? Slashdot comments that do not touch on ideological issues. Now THAT would be huge!

  19. Re:Big lock by DigitalNate · · Score: 2, Interesting

    This is where you should take advantage of one of FreeBSD's greatest assets, it's documentation. The SMP Project has a lot of info...

    http://www.freebsd.org/smp/

  20. Interesting Model Breakdown... by TemporalBeing · · Score: 5, Interesting

    I find it quite interesting that (at least according to the article) Solaris (which supports a few x86, and mostly Sun's Sparc line) has a full abstraction, while Linux (which supports some large number processor architectures) goes with less abstraction; with FreeBSD somewhere in the middle. It certainly does yield higher performance for Linux, and makes sense in that respect...It's just interesting that the OS that seemingly runs on fewer processor architectures and has been controlled by an incorporated company would take the abstraction route, while the OS that runs on a far greater number of processor architectures and is not tied to corporate funding (directly, at least) is more focussed on less abstraction & fewer layers.

    P.S. Sorry to repeat myself on that...just not sure how best to say it.

    --
    Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
  21. Re:Big lock by mi · · Score: 4, Informative

    Only for some of the drivers, which nobody got around to modifying yet. Most of the things are outside the "Giant" already. 6.0-release is imminent. Try it...

    --
    In Soviet Washington the swamp drains you.
  22. Re:The Answer is Clear by Anonymous Coward · · Score: 5, Informative

    Aparently you need to stop reading the media and do a bit deeper research into what systemtap is and how unstable it is. You can start with Active Bug, non guru mode. That bug affects non-guru mode, which is supposed to be safe to use in production. Nothing like that ever happens in dtrace. Why you may ask? Because its developed to be safe in Production use at the expense of giving up some features. For a more indepth comparison of systemtap and its problems check out the links mentioned in my blog's SystemTap Links. Systemtap vs. dtrace the debate continues is a good place to start.

    Of course, systemtap is still in its infancy, perhaps after a couple re-writes that seem standard in major components in the Linux Kernel, they can make it stable. But today its, not and any where near stable. There for your statement of "Linux has SystemTap, which goes above and beyond what DTrace is capable of. It is still in heavy development by Red Hat (Intel and IBM also helped start up the effort), and it's already quite a product." Is complete rubish. Of course one would have to think about. If its still under heavy development, also shows just how far from ready it is.

    Of course, the truth really is that DTrace is far more feature rich than systemtap is, or will be for a long time. Systemtap biggest stumbling block is "guru mode" that allows the user to disable any protection that systemtap engineers have added. Systemtap's language is lacking in some basic concepts, like variable types like struct and typeset, making guru mode necessary for far too many scripts, and in-escapable when userland probes are created. Along with the other problems documented in my blogs.

    You may try and dismiss me as a troll, but nothing could be farther from the truth. I'm stating the facts, I have also contributed to the Systemtap product, and commented on code changes. But I refuse to sit quietly as people try and pass Systemtap off as stable or better than DTrace. Dtrace is stable, and Enterprise Production ready and more full featured than Systemtap, even though they have left out features, that have to be worked around by the programmer.

  23. FreeBSD Ports by 0xB00F · · Score: 5, Insightful

    Wow! Is that all it takes to get a +5 Insightful now? So I guess this will be modded Troll or Flamebait.

    I can never really understand why FreeBSD ports is better than Debian's APT. Perhaps it's only because they look at "package installation" as the only use for these tools, whereas I use these tools for "package management". Everything comes down to the packagers who make and maintain the packages and the quality of the tools used to make and maintain the packages. I've used FreeBSD, Gentoo, and finally Debian for servers and desktops. Based on my experience APT is a more elegant solution to package management compared to FreeBSD Ports and Gentoo Portage for the following reasons:

    Package Building

    Although building Debian packages can be a bit overwhelming especially for newcomers, it really shines especially if you have installed debhelper, dh-make, dbs, dpatch, and lintian. What's really great about APT is the automatic runtime dependency resolution prior to packaging the final debs. After building the package and before it gets packed into a deb, a dependency checker is run through it and it will automatically figure out the runtime dependencies for you. On FreeBSD Ports and Gentoo Portage, you have to figure out and specify runtime dependencies yourself.

    The "Dusty Deck" Problem

    When I install a package using ports or emerge, it will also install the dependencies. But most of the time you will essentially be installing from source (and yes I am aware that Ports and Portage also have pre-built packages). When you do that, Ports and Portage will install and build the build-time dependencies of the package you are installing. Now, that's fine if those build-time dependencies are also needed at run-time. But some dependencies are only used at build-time and will never be used again until you upgrade the packages that depend on them. You can decide to remove them after build time, but then when you update the package they will be downloaded, rebuilt, and installed again. You eventually grow tired of this cycle that you just leave these build-time only packages and then they continue to accumulate on your disk mostly wasting space.

    This is probably the reason why there are "developer" packages for libraries that contain only the header files and the link libraries. Once you're done with building, you can uninstall the developer package. Try doing that under Ports or Portage. Oh, wait! You can't. The runtime and build-time dependencies are all in one package.

    Package Uninstallation

    Now this is where Ports and Portage, IMHO, really suck. When I uninstall a package from my system I want it gone. apt-get remove --purge and a properly packaged deb will do that for you. Ports and Portage will leave "package cruft" on your system. "Package cruft" can be anything from stale config files to build-time dependecy packages. You will have to track and remove those things manually.

    I know these three points can be resolved on both Ports and Portage if the packages are done correctly. This is where APT has an advantage over Ports and Portage: being able to make a proper package. On Debian, with the tools I mentioned above installed, a package maintainer's life is greatly simplified.

    Ports (and Portage) does Rock, but only if all you ever care about is package installation and not package management (package building, installation and uninstallation).

    1. Re:FreeBSD Ports by molnarcs · · Score: 2, Interesting
      Wow! Is that all it takes to get a +5 Insightful now? - I could ask the same of your own post, because some parts are factually wrong.

      Now this is where Ports and Portage, IMHO, really suck. When I uninstall a package from my system I want it gone. apt-get remove --purge and a properly packaged deb will do that for you. Ports and Portage will leave "package cruft" on your system.

      I don't know about portage, but ports don't leave cruft behind. When you remove a port, you effectively remove a package. FreeBSD does not differentiate between ports and package deinstallation. Portinstall/upgrade tools, share the same command for package removal, whether it was built from ports or installed as a binary package. pkg_deinstall -rd fooo* will recursively deinstall every fooo* package and those packages that depend on it. Not only that, but it will remove the directory as well - unless you modified some files by hand, in which case if will tell you which files it couldn't remove (because they didn't match original checksum). Ports leaves "cruft behind" is a myth - or sounds to me like superstition or something. ALL installed files by a port or package are recorded in the plist, and all those files will be removed on deinstall - unless you changed them manually, in which case you will notice (and probably don't want to delete them anyway before making a backup).

      Ports (and Portage) does Rock, but only if all you ever care about is package installation and not package management (package building, installation and uninstallation).

      WTF? The reason I use ports is because I care about package management. I have to take care of a small lab with old computers. 3 of them run freebsd+blackbox+opera/gaim/irc combo (and a simplified menu so all can use it). What makes the whole setting really nice is that I can compile every installed package (there aren't that many - ~ 110) optimized for that hardware on my home puter. Than I can point portupgrade -PP to my ftp repo, and don't have to worry about dependencies and whatnot: everything will be upgraded/installed in the right order (and removed if I wish to). Yes, this is possible with deb and rpm as well, it is just not that easy. Forgot putting a required package in the repo? You can create binary packages with pkg_create -b pkgname from a package installed on your system. It doesn't matter if it was installed from source using ports or from a package. Package management knows of every file belonging to that package and the proper paths, and it will create a binary package for you, which will similar to any .deb: it will register all the required dependencies as well (unlike slack .tgz). Again, how could you do that if package management would not accurately keep track of everything? In other words - you pull this "cruft" stuff out of your ass (don't know about gentoo though) - ports doesn't leave any cruft behind (no more than apt does).

    2. Re:FreeBSD Ports by Just+Some+Guy · · Score: 2, Interesting
      When I uninstall a package from my system I want it gone. apt-get remove --purge and a properly packaged deb will do that for you.

      So [package uninstaller] on [OS] completely removes that package. Golf clap. A properly packaged (your words) application will work that way on any OS, not just Debian.

      I love Debian, and have used it for years. It's great. However, the real admin nightmare comes when you decide you want some non-standard feature supported systemwide. On FreeBSD, for example, if I want LDAP support then I install the OpenLDAP client port (or let it get brought in as a dependency when I request LDAP support in some random program). Et voila, ports compiled from then on get LDAP support where appropriate. Gentoo fans: yeah, I know you have this too. Portage earns its name, I'll give you that.

      Debian, on the other hand, requires you to hand-roll special locally-built versions of every application you want to have LDAP support - when a new version comes out, it's hand building time again. Yay! If LDAP is too common to be a good example, check out Kerberos. Debian/unstable has OpenSSH 4.2p1. Nice! If you want a version with Kerberos support, though, plan on rolling back to OpenSSH 3.8.1p1 and losing all of the other features you might have liked to use, or cranking up gcc and your beloved packaging tools.

      As I said, I like Debian. Still, I can't pretend that it doesn't have several critical issues that make its administration a lot harder than need be. If the official packages cover all your needs, then it's a dream. If not, things get ugly quickly. You might not like the tradeoffs that FreeBSD and Gentoo have made, but they're there for a reason and are exactly what many of us want and need.

      --
      Dewey, what part of this looks like authorities should be involved?
  24. Re:How much of Solaris has gone open source? by Anonymous Coward · · Score: 3, Informative
    "Its been what, 2-3 years since the open-source solaris announcement came out?"

    The official announcement was last January (nine months ago). Rumors had been out earlier, of course.

    "How much has been open sourced? AFAIK, all the have opened sourced is DTrace (a very cool tool/framework), but nay else."

    That's what was released in January; as of April, the answer is (per the FAQ at http://opensolaris.org/ :

    Initially, the OpenSolaris project includes source for the Solaris OS core kernel, networking support, libraries and commands. This set of source is often referred to as the OS/Networking consolidation (O/N).

    "Lets see them open up the kernel internals like the thread model..."

    Done.

  25. Re:The Answer is Clear by mcrbids · · Score: 3, Insightful

    . As a USER, what I really care about is overall performance of a kernel.

    Ok, so as a USER, why would you care about MySQL? Because as a SYSTEM ADMINISTRATOR, what I really care about is stability and easy of administration. Once performance reaches "good enough", I could give a shit about improved performance. Hardware is cheap, a $5,000 1U MP system can blast down just about anything I'm going to care about.

    But, I want it to work today, tomorrow, next week, and next year. I want to reboot when I plan to (doing a kernel update, for instance) and only then. It had better be stable, and shouldn't be all that noticable in my day-to-day schedule. Doing updates had better not involve a half-day compiling, because downtime is !@#!@ expensive.

    But, performance? Can you name a SINGLE INSTANCE where you chose your O/S based on some performance graph? Unless your technology depends on Windows (I feel for you if it does) any of the *nixes out there are "good enough" to do just about anything up to the very high end. (Linux/BSD/Solaris/AIX/OSX/etc) Even at the very high end, it's unlikely the choosing the "worst" OS will cost more than switching to the "best" OS!

    In the end, it really doesn't matter all that much. Pick what you like, and roll with it. Performance is way down the totem pole, pay attention to stability, security, licensing, and compatability with your specific needs. Then, worry abouut performance!

    --
    I have no problem with your religion until you decide it's reason to deprive others of the truth.
  26. Re:STFU CYRIC! by jericho4.0 · · Score: 3, Funny
    Yes he posts a lot. Yes he sometimes states the obvious. On the other hand, he resonably often says something useful, can spell and construct sentences, and, as far as I know, is not waging a war as an anonymous coward against others. His OP above, even if he didn't mention b-trees, is still a true statment. I think I'd rather have him over for dinner than you.

    --
    "A language that doesn't affect the way you think about programming, is not worth knowing" - Alan Perlis
  27. Re:Toy computers need not apply by TheNetAvenger · · Score: 3, Insightful

    They wanted to test a real OS, one that can scale to more than 2 processors.

    Wow, a troll on slashdot, how novel. And an intelligent one as well, again how novel... *gag

    Considering NT was scaling multi-processors before Linux even existed, this is a bit of a rich statement. (Especially since Linux didn't even consider SMP until 1996, when it was a mature feature of NT by then.)

    Considering there is 128-way SMP version of Windows (running on NT) available, I would assume NT knows how to handle more than 2 processors, just a guess though.

    Also considering the desktop versions of WindowsXP support 2 processors standard - and NT has for years and years, I might suggest that it even has an edge on some OSes that SMP is just becoming realistic. (XP does Dual Processors with HT, effectively managing 4 virtual CPUs and this is the desktop edition for the average Joe.)

    Now should we talk about how it hasn't been until later versions 2.4 of Linux that in an SMP world, process affinity even become stable. (According to Intel, AMD and other people trying to create real world Linux SMP solutions.)

    Or we could talk about hotplug of memory and processors with Linux - which is still not supported as it is with NT and Solaris. (And Linux you even get the fun of reconfiguring if you want to flip processors in downtime even.)

    Call NT a Toy OS all you want, if you actually knew a little about the NT architecture and not just the 'windows buzz', that RUNS ON NT, then you probably wouldn't be laughed at so easily.

    *Cheers.

  28. Re:did anyone read the articles full of "facts"? by smash · · Score: 3, Insightful
    OK...

    Try a commercial app on anything but redhat.

    Open source is great and all, but there's specialised apps where there simply is not a viable alternative. And if you're bound to a commercial app, then you're either going to run redhat, or get no support from your app vendor, in most cases. Yes, you can likely get it to work, but as soon as you run into an application bug, you're screwed - reinstall on redhat or you'll probably get no support.

    Modular mining for example...

    smash (linux user/promoter of 9 years).

    --
    I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
  29. Re:How much of Solaris has gone open source? by adrianmonk · · Score: 3, Interesting
    Its been what, 2-3 years since the open-source solaris announcement came out? How much has been open sourced? AFAIK, all the have opened sourced is DTrace (a very cool tool/framework), but nay else.

    Well, it's good that you said "AFAIK", because what YK turns out to be out of date. Browse the Solaris source code right here.

    Lets see them open up the kernel internals like the thread model

    OK, here's the directory with the dispatcher stuff and here's thread.c specifically.

  30. Re:SOLARIS 10 IS A MICROKERNEL OS by civilizedINTENSITY · · Score: 2, Insightful

    Well, been a couple years since I took Operating Systems, but I thought a microkernel was "a system kernel that runs itself in protected memory space, and all drivers and processes in a seperate memory space allowing for (theoretically) better stability." Monolithic kernels are faster, but less robust. You are saying that, "Drivers are loaded from it and run in the same context for performance reasons", but that in all other ways it would be a microkernel. Thus, it is perhaps almost a microkernel. It isn't a bad kernel. :-) There is no reason to exagerate.

  31. Yeah, right, NT scales so well by Anonymous Coward · · Score: 4, Informative

    Just because there's a version of NT that can run on a 128-CPU SMP box doesn't mean it scales that in real-life situations.

    If it did, with all Microsoft's billions of dollars, how come there's no NT equivalent to this for Linux, or this for Solaris?

    Those two bad boys scale damn near linearly. I know that, I don't have assume that. I can afford a 7-figure house because I can make those things sing. That Sunfire E25K has 72 CPU slots, and each UltraSPARC-IV chip has 2 full CPUs on each die. The IBM 595 has 64 CPU slots, and when I was at SC-04 in Pittsburgh last year, IBM claimed they were working on an 8-way version of their Power CPU. That's 512 CPUs on an SMP box.

    There's nothing like that in the NT world that anyone could buy. And you don't have to sign some NDA that would keep you from getting a job in a lot of places to see the source code for either OS.

    Keep your damn toy OS, and your self-admitted assumption that "NT knows how to handle more than 2 processors", because there's no commercially-available system to support that assumption.

  32. Re:did anyone read the articles full of "facts"? by dodobh · · Score: 2, Informative

    RPM is the equivalent of .deb.
    Yum is the equivalent of apt-get.

    Don't confuse between the two.

    --
    I can throw myself at the ground, and miss.
  33. Re:Userspace Filesystems: try Plan 9 from Bell Lab by diegocgteleline.es · · Score: 2, Informative

    And they're coming to Linux in 2.6.14, the port of the 9P protocol has been included. FUSE (a alternative filesystem-in-userspace approach) has also been included

  34. Re:Toy computers need not apply by octogen · · Score: 5, Informative

    Considering there is 128-way SMP version of Windows (running on NT) available

    I might be wrong, but AFAIR, the largest SMP configuration supported by NT is 32 CPUs (or, probably, 16 Hyperthreading-CPUs) because of a constraint compiled into the kernel (Windows "Datacenter Server" Edition).

    Anyway, even if you could run NT on some 128 CPUs, it would not scale well. If you actually knew a little about the NT implementation and not just the "microsoft propaganda", you'd possibly figure out, that a lot of (theoretically independent) code portions in the NT kernel synchronize on only one mutex-like synchronization lock (CRITICAL_SECTION) that is shared between these code portions

    Example:
    If you've got 50 independent data structures, you could use 50 mutex locks (one for each data structure), to protect it form becoming corrupted due to simultaneous modification by multiple threads. The NT design in this example would be to use only 5 CRITICAL_SECTION locks for the 50 independent data structures (one for every 10 data structures), so one thread modifying a data structure will potentially lock out 9 other threads who could be modifying 9 other data structures.

    The lack of fine grained synchronization on NT makes it scale pretty bad, especially compared to Solaris (which scales so well probably mainly because of very fine grained and sophisticated synchronization, for example by using RW-locks instead of mutex-like CRITICAL_SECTIONs in situations where this is possible).

  35. Re:The Answer is Clear by @madeus · · Score: 2, Interesting

    Ok, so as a USER, why would you care about MySQL? Because as a SYSTEM ADMINISTRATOR, what I really care about is stability and easy of administration. Once performance reaches "good enough", I could give a shit about improved performance. Hardware is cheap, a $5,000 1U MP system can blast down just about anything I'm going to care about.

    It's fair to say then, you obviously have very modest requirements.

    Unless your technology depends on Windows (I feel for you if it does) any of the *nixes out there are "good enough" to do just about anything up to the very high end. (Linux/BSD/Solaris/AIX/OSX/etc)

    Wrong (sadly).

    Even at the very high end, it's unlikely the choosing the "worst" OS will cost more than switching to the "best" OS!

    Also wrong, there is a huge difference, though the gap varies depending on the role.

    For example, Mac OS X - which I love dearly - is the slowest operating system this side of 'Slowaris' (which has that nickname for a reason), and is many times slower than Linux (on the same hardware). It's embarrassingly slow at some things. If it was a person, it would be part of a 'Care in the Community' program. It's as close to being 'autistic' as an operating system can be.

    However, it has some really great features, including the quartz UI and really good multitasking for user software, which are what make the poor performance otherwise very bearable.

    We have lots of FreeBSD systems here, while there are no issues with lower end systems (where there are multiple systems in a load balanced group not doing very much) they don't live up to our needs under stress, you start finding bugs with software under high load (often these are not always the fault of the OS - but exist none the less). You can also run up against kernel limitations (and find FreeBSD doesn't like really large file shares, or it buckles under certain types of load, or it behaves in a way that is not agreeable with some existing software you need to use).

    This is especially with multiple CPU dual HT systems IME, even with just regular dual CPU HP DL360/DL380 systems. You can certainly coax better performance out of the FreeBSD systems but for a whole host of tasks (mail, web, dns, proxies, databases, etc) even after significant time doing manual optimisation of your software and multiple kernel recompiles (to determine optimum settings) Linux wins hands down every time IME, not least because more developer hours are spent optimising and testing those applications (and libraries) on Linux.

  36. Re:Toy computers need not apply by ookaze · · Score: 4, Insightful

    Considering NT was scaling multi-processors before Linux even existed, this is a bit of a rich statement. (Especially since Linux didn't even consider SMP until 1996, when it was a mature feature of NT by then.)

    I find it rather rich that trolls like you have the guts to call others trolls, using rhetoric to prove your point and hoping nobody will notice.
    Linux 2.0 came in June 1996 with SMP support. So if SMP was not considered in Linux until 1996, you are basically saying that in less than 6 months, SMP was implemented in Linux better than in NT, where you say it was a mature feature ?!!!
    I would call that a feat.And I wonder how you can call SMP a mature feature in NT, when it was not scaling better than in Linux, which was implemented in less than 6 months, like you implied.

    Considering there is 128-way SMP version of Windows (running on NT) available, I would assume NT knows how to handle more than 2 processors, just a guess though.

    I never heard of any 128-way SMP version of Windows. I heard of a custom secret implementation that supposedly does that, that's all. But no version of Windows commercially sold actually does that. And SMP versions of Windows scales very poorly.

    Also considering the desktop versions of WindowsXP support 2 processors standard

    Against that's false. Home edition does not support 2 processors standard (HT is not SMP nor 2 processors support), Pro edition does. Stop lying ... oh you can't, without destroying your point.

    and NT has for years and years, I might suggest that it even has an edge on some OSes that SMP is just becoming realistic. (XP does Dual Processors with HT, effectively managing 4 virtual CPUs and this is the desktop edition for the average Joe.)

    Continuing your lies huh ? HT is not SMP, stop your nonsense. SMP was realistic in Linux way before NT, despite SMP being implemented in NT first : that speaks volumes for NT OS, and tend to prove GP point. Again, WinXP Pro support your 4 virtual CPUs, not Home. The distinction is important, if you want to make Linux comparison, because standard desktop editions of Linux distros come with SMP support. For Windows, standard desktop edition is XP Home, which has no such support. It could, but it doesn't.

    Now should we talk about how it hasn't been until later versions 2.4 of Linux that in an SMP world, process affinity even become stable. (According to Intel, AMD and other people trying to create real world Linux SMP solutions.)

    Still lying huh ? Process affinity wasn't becoming stable at end of Linux 2.4, it was just not implemented before. And it ended up implemented pretty fast. But I know why you added the word 'stable' in your rant : rhetoric implying it was there but not stable before.
    Anyway, despite not having process affinity, Linux kernel was running circles around NT kernel, so you should keep this subject hidden.

    Or we could talk about hotplug of memory and processors with Linux - which is still not supported as it is with NT and Solaris. (And Linux you even get the fun of reconfiguring if you want to flip processors in downtime even.)

    Well, you got me there. I did not even know that there was this type of hardware supported in x86 architecture. You are not credible though, because these kind of hotplug are only in limited set of configurations, not available to most Linux programmers, that's why, if they exist, they are still not implemented. There are little numbre of devs that can afford a E25K you know ? But you chose a good example, forgetting the load of other features that Linux kernel has, that makes NT kernel a toy OS. Stability is enough to kill any of your arguments though. You will give me crap about NT running for months (with 1 service) and you having seen Linux crash, the difference is that :
    Stability in Linux is the norm, in NT it's the exception.
    I mean that a Linux crash is news, while a NT running for years is news too.

    Call NT a Toy OS all you w

  37. Re:How much of Solaris has gone open source? by be-fan · · Score: 2, Funny

    "Bovine Scatalogical Pathology"? Given your comment, it seems you suffer from "Foot in Mouth Disease".

    --
    A deep unwavering belief is a sure sign you're missing something...