What’s In a Number? Various Thoughts

What’s in a number?

I got to thinking about this when a question was asked about the kernel version I’m running on my desktop. The question presumes that just because I don’t have the most ecent kernel version, or rather kernel line, that somehow I’m shortchanged or missing something.

Nothing could be further from the truth.

HOW OLD IS YOUR EQUIPMENT?
Age is relevant to the question about loss of utility. The kernel I’m running was released last week — it isn’t archaic and it isn’t out of date. This computer is older than the 2.4 kernel. It has a 400mhz Celeron processor and over the years it’s received what I consider very minor upgrades over the decade or so I’ve had it. First there was the doubling of RAM from its original 64 to 128. Then this past winter I doubled it again to 256. Hardly impressive, but it makes a big difference in how it functions. This computer will probably outlast me and I don’t intend to toss it out while it still works.

When I bought this computer, Linux was still in 2.2 — 2.4 was available. I think I installed my first 2.4 kernel some time in 2003 when 2.2 development ceased. It was 2.4.10, IIRC (I’m not 100% sure of 2.4 version but I know it was 2003 when 2.2 development stopped — same year MS was supposed to drop NT4 life cycle support), when I switched. I think I could still resort to 2.2 and have nearly full function for everything this computer needs except (maybe) the particular USB adapter I use now (I’d been able to use CDCEther previously but that required connecting directly via bridge). I’d have to check changelogs and see if the adapter would work with 2.2. But 2.4 is very manageable for this particular computer (and would be reasonable, imo, even for my 1.4ghz Athlon box).

HOW OLD IS YOUR KERNEL?
The kernel is probably the one part of the system that can continue to be updated even when various software — especially window managers, desktop environments, and GTK+ applications — become too hefty to keep updated. I wasn’t enthralled with KDE or Gnome when I first used them. They’ve become much to cumbersome since then to use on this computer. Even Xfce is a bit too much now, imo.

WHAT’S THE BEST GUIDELINE BETWEEN HARDWARE AND KERNEL VERSION?
How do kernel changes relate to your own hardware? I don’t think too much has changed in terms of function between what was contemporary when this computer was bleeding edge. Many changes in kernel versions are bug fixes and security patches and the like. There’s some performance enhancements and lots of new drivers for newer hardware — I’d appreciate performance gains I might get from 2.6 (threading?) but I don’t need support for stuff this computer doesn’t and won’t have. I’m not hamstrung or limited or reducing anything. It freaking works.

If you have much more recent hardware, you obviously need a newer kernel with newer drivers; some of the newer drivers (including SATA support) are also in 2.4 so you don’t necessarily need 2.6.

If you’re still using older hardware — and I am — how new does your kernel really need to be? I think it’s a testament to the wisdom of Linus Torvalds and all the contributors to his kernel that what was efficient on this computer nearly a decade ago doesn’t really need much improvement. Certainly there are bug fixes and security issues that have been dealt with in the interim. Those don’t require the size of a 2.6 kernel.

I think it’s also fair to make this kind of comparison with other operating systems. When this computer was new, it had all kinds of stickers about how it was engineered for Windows 98. Windows 98 was gone shortly (as in hours) after I got it home, and the stickers still decorate an old desk like little war trophies.

Could this computer run XP? Yeah, but it would crawl. Even with 256MB of RAM now, I wouldn’t care to see how it runs. I wouldn’t even think of installing Vista on it. I thought of using my WinNT license with it but the only way to get USB support is via third party (Dell has a free driver) and Microsoft no longer issues SPs for NT. So what’s the point?

Yet that’s what I see so many people doing in equivalence with Linux. They’re taking bleeding edge distros intended for XP/Vista-era hardware and installing on Win95/98-era hardware. Sometimes the results are acceptable, but I’ve used KDE on this computer (last version: 3.5.8 iirc) and it was too slow for my tastes despite my best efforts to reduce icon sizes and other factors that can bog it down. The question I was asked isn’t asked in reverse — “Do you really need such new software on older hardware?”

I don’t think anyone does unless they have some new device that has only recently gotten driver support somewhere in the kernel. That’s the case with my laptop because I sold and loaned out my other two wireless devices that were 2.4-capable and my current card — Broadcom 43xx — has had kernel support since 2.6.19.

I mentioned something above about contemporary hardware:software relationships. While development continues, hardware is a snapshot in time. One of the things that many people observe when trying to keep bleeding edge software on vintage hardware is that it rarely works better than the software that was bleeding edge when the hardware was. Isn’t that to be expected when the software is being targeted at hardware made at that particular point in time?

That’s one of the reasons why I think Linux advocates are off-base when they suggest that newer distro versions are appropriate for older hardware. They rarely are. There are some that work better than others, and some that are oriented for older hardware. Truth be told, it rarely makes sense to upgrade more than two years after your computer becomes kind of “old” — which I put around five, six years. In the case of this old desktop, I could still happily run Slackware 8 which is still supported with updates (security, bugs, etc.).

There’s also something else to be said here about support cycles. Microsoft tries to keep its OS support on about seven year cycles. They take a lot of flack for doing that from users and critics alike. Ubuntu has LTS (long term service) which runs in five year cycles. They seem to get praise for five year cycles from the very people most willing to criticize Microsoft for seven year support cycles. Hypocrisy. But the point is, you can find adequate support for average hardware life cycles without having to stay bleeding edge — Windows does it, Slackware does it, and even Ubuntu does (though they’re relatively new to the game).

I think what matters most, though, is matching software to hardware with respect to era. What’s in 2.6.25 that I need on this desktop? Nothing. This computer is Linux 2.2/2.4-era — the same time frame as pre-XP. I have legitimate needs for 2.6 on a couple of my other computers — such as for bcm43xx support for the laptop and some of the new (proprietary) video drivers for the new desktop (I think I also scrolled past what I need in menuconfig for 2.4.36.3…).

In conclusion, don’t presume that the higher version number is inherently better for everything. It may be, it may not be.

Advertisements

2 Responses to “What’s In a Number? Various Thoughts”

  1. momerath616 Says:

    I feel kinda dumb now. Time to go read some more articles…

  2. lucky Says:

    No, no, no. You’re not dumb. Smart people ask questions and inquire and are open to learning. You’re to be commended for checking it out.

    Like I wrote yesterday, I think part of it has to do with the tendency to presume the most advanced and most recent is automatically the best choice for everyone. Sometimes it is, such as when there are bug fixes or security patches or when specific drivers with more features are added. Sometimes it isn’t the best choice.

    I have several partitions set up on this computer. One of them has 2.6.25 and another has 2.4.36.3. Both kernels are customized for this computer and with as little else as possible — I did leave in modules to support adding scanners or USB printers even though I use another computer for that. So I have comparable levels of support.

    One thing I have with 2.6 that I don’t with 2.4 is HAL and automounting, which is something I can take or leave. For the trade off on size and the cycles it takes to run a polling daemon in the background, I prefer to leave it — and try formatting a stack of ZIP disks and having to umount them because they mount as soon as you insert them.

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: