Does it matter that "Linux is bloated"?

Summary: Yesterday at LinuxCon, Linus Torvalds founder of the Linux kernel, made a few comments about Linux usually reserved for Windows: "Linux is bloated!"

Yesterday at LinuxCon, Linus Torvalds founder of the Linux kernel, made a few comments about Linux usually reserved for Windows:

"Linux is bloated!"

It gets worse ...

"We are definitely not the streamlined, hyper-efficient kernel I envisioned when I started writing Linux."

And ...

"The kernel is huge and bloated, and our icache footprint is scary. I mean, there is no question about that. And whenever we add a new feature, it only gets worse."

OK, harsh words, but does it matter? Well, from the point of view of the user I don't think it makes any real difference. In fact, the bloated nature of the kernel might actually help Linux compatibility. Given the wide variety of platforms that Linux can run on, it's hardly surprising that the kernel isn't "streamlined" or "hyper-efficient".

According to Torvalds, the it's not causing much problems with regards to stability:

"I think we've been pretty stable. We are finding the bugs as fast as we're adding them, even though we're adding more code."

From a developer perspective a messy kernel will make things more difficult to update the kernel. But then again, in a situation where a project is constantly on the grow, adding new features is sexier and take priority over tidying up existing code. In fact, getting developers to go back to basics can be an uphill struggle.

But it is interesting to see how open source is vulnerable to the same problems associated with bloat in the same way that commercial projects are. What I think is interesting is how as Linux has become bloated, both Microsoft and Apple have been working hard at optimizing code and tidying up their code.

Bottom line though, unless code bloat is at the point where end users are affected by it, then it's not really a big deal. Bloat from the perspective on the user, and bloat from a developer's point of view are two very different things.

Topics: Software, Linux, Open Source, Operating Systems

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback

70 comments
Log in or register to join the discussion
  • well compare to what

    compare too its former self ... ultra thin but
    lack finesse

    compare to win 2k
    compare to win xp
    compare to vista /win 7 will all there crapware

    compare to Mac and its hardware lock in

    Its easy to state Linux is bloated but on
    what ....

    the vision the Linus add back then ....


    Linux is bloated maybe in the end it change
    what performance , usability , bloated what
    .....
    Quebec-french
    • Maybe I am misunderstanding you

      So the fact that Linux is bloated is acceptable because Windows and OS X are bloated?
      GuidingLight
      • I think he's arguing that it isn't bloated

        Because of the size by comparison.
        Michael Alan Goff
      • Bloated Linux

        Well, you know the x86, and maybe ppc is like this, but not nearly as funky.. Is full of gotchas.. and honestly not one os can cover everyone of these gotchas, such as drivers. While it would be nice to see at least one Linux distro, highly intergrated, gui and all. With a low bloat count. Yeah this would be good. But you have all these gui's slapped on a linux kernal, not one big project, no many small projects.. all trying to work togther. Yeah so.. it would be nice to see that. Whos going to actually make a lean and mean linux? Every single distro I have ever used still had some kind of bloat, and most of them where lacking most of the "features" I would find as needs. Yeah this is far and away the truth about most modern os's there bloated. Windows 7 uses a hibernation file by default, and theres no "easy" way of just turning off that feature... Mac OS X has crud too.. and You stop and think, Doesnt it really have to be? Not if we where all using the same hardware, and the whole os was developed by the same people... Even then, It's unlikely to happen!
        Robert Wheeler
    • compared to an OS sitting on a devastating exploit for 8 years

      ... and doing nothing about it while blatantly claiming self to be secure b/c of many (blind) eyes are reviewing its code?
      LBiege
      • Compared to

        the null pointer exploit researchers recently found (while no one was doing nothing about it, by the way, since it was only recently discovered) in Red Hat's kernel and for which a patch has already been released?

        The exploit that nobody has exploited since 2.4 because, well, it took those blind-eyed researchers to find and and back track it to 2.4 while nobody was actually, well, exploiting it?

        That exploit that nobody has been doing anything about except for patching it as soon as it was discovered? The exploit that is fixed if people bother to update?

        Do try to keep up, please.
        PaddyO
        • BTW...

          Forgot to mention.

          It affects local privilege escalation.

          Physical access has, and always will be, the mother of all security risks.

          That goes for all operating systems.
          PaddyO
  • Well, duh. That's what you get with a monolithic kernel

    model. It was a stupid decision when he initially made it, and
    now it's come back to bite him in the butt.
    frgough
    • Excuse Me ?

      Most Ditro's ship the kernel in a modular fashion. The Modules that are need will get loaded when the system boots up.

      On the other hand, as I learned in MY CS courses back in th 70's, that the best OS is one designed specifically for that piece of hardware, SO my kernel's tend to be a MONO kernel custome configured for what I am running it on.


      While try, there ARE probably WAY more modules / drivers /low level routines than what is really needed and it all adds bloat, but makes the kernel pretty much run on anything.
      linux4u
    • It has to be for performance reasons

      All kernels are monolithic because microkernels are too slow.
      T1Oracle
    • If microkernels were easy...

      ...we would already be using them. They are incredibly complex and even the most basic examples have an overhead in their processing that kills performance. Where a monolithic kernel can pass information directly, service calls to pass the data around, again, even in the most nominally functional microkernel design can be 100Xs the overhead.

      Scaling up a microkernel to be as functional as Linux or Windows or OS-X grows exponentially. Here is from a person who is very PRO microkernel.

      http://www.osnews.com/story/14353
      [B]And here we encounter the double-edged sword that is a microkernel; the easier a muK is to maintain on a local level, the harder it is to maintain on a global level. [/B]

      That's why microkernels live in embedded and simple, ultra fast ultra reliable niches.

      All the code is available for the entire kernel in Linux, you literally have every piece of code for every function available, so if it could be converted to microkernel architecture, it would have been already. I would suggest that duplicating the current 6M lines of kernel code into true microkernel architecture (keep in mind, "all" you have to do is subdivide it) would take a thousand coders 2 years, and be truly, globally, unmaintainable.

      TripleII
      TripleII-21189418044173169409978279405827
      • Stil there should be an alternative.

        It seems most Linux is based upon 3 kernels. Those are Debian, Redhat and Slackware. From these arise a myriad of distributions. It seems to me that there ought to be at least one lean mean kernel available for developers and distribution compilers. For now though we must just cut back code on existing projects. (Example: AntiX is a lightweight reduction of Mepis. You probably know of several others)
        Sagax-
  • Take a look at Haiku

    If you are concerned about Linux kernel bloat, then take a look at Haiku, the open source successor to BeOS:
    http://www.haiku-os.org
    Fast, loads quickly, micro-kernel designed for responsiveness, multi-threaded, great performance.
    After many years of hard work it's now an alpha release, they need developers to jump in and help.
    cjc5447
    • BeOS

      I really liked BeOS, wish it would have survived! Fast and stable... not many aps back in 99 but it was the fastest OS I had seen out there.
      Linux User 147560
    • Haiku

      I wasn't a fan of BeOS when it came out but Haiku shows a lot of promise. I used it for a little bit in virtualbox, its pretty decent.
      Loverock Davidson
    • ummm

      I hate to be a stickler, but the last time that I checked Haiku was a Hybird Kernel, same as WinNT/XP/Vista/7 and The Mac OS X/10.x series.

      I will admit that I have had an eye on Haiku for a while. I am rather interested in what ideas are forthcoming for R2, given how they have been working for years on R1 it would be nice to see if there are any ideas going forward.
      IssacS
      • Haiku is better then what some think...

        This is the real deal here.. BeOS was (still is) one of the most fasiest, most stable os's out there, and Haiku fallows right in the same foot steps.. While there is alot more to Haiku, BeOS 5.0.4 was limited on more modern hardware. I had recently installed, and I use Haiku os right now as we speak, it's light, fast.. (booted on my quad core with 4gb ram) in under 4 seconds flat. You want to talk about fast. I Installed it, and it knew all my hardware.. even automaticly was able to use my connection.. just that easy. While I did foot with it to make it even more quicker, out of the box was most impressive. It put's even mac os x to shame in some areas. It's true, just like BeOS Haiku lacks apps. It's a good thing most BeOS stuff works like a charm under it. I am a developer anyway, so I would take notice of things. I think the team has done a wonderful job.. I can tell they do have work ahead, but never the less, it's impressive.
        Lastly "given how they have been working for years on R1" My friend it's new.. really all new.. It's not BeOS with some code slaped on it. Building an OS does take years. The developers have worked hard without getting payed to bring Haiku where it's at. Give it 2 years and see where they will have it.
        Robert Wheeler
  • RE: Does it matter that

    When you DL a Linux Distro the kernel needs to be able to detect all kinds of hardware. On the other hand, if you were selling Linux Netbooks there would be no need to have kernel support for all kinds of hardware. You'd need to support only the hardware you're selling.

    Or embedded.

    That might not impact the developer experience but on cheap hardware it would improve the user experience.







    :)
    none none
  • Bloat means "full of useless stuff" such as gas!

    Any "universal" distro that runs on anything IS probably full of useless stuff "just in case it might be needed someday".
    I wish it was easy (and automatic) for the "non-programmer" to compile a lean fast kernal on the fly for the hardware installation at hand.
    kd5auq
    • Agreed- that would be pretty cool

      And extremely useful!
      unclefixer@...