Linux - GeneralThis Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I recently ran across the following quote from Gartner Group:
“A downside faced by the Linux kernel maintainers, as expressed by Bill Joy, co-founder of Sun, is the increasing size and complexity of the underlying C code, which poses challenges to the reliability and stability of the kernel (a problem all Unix vendors face, though with a greater track record).”
The collective source notwithstanding, does anyone have any idea about how many lines of C code are supporting the 2.4 kernel?
Secondly, how does that number compare to the lines of code required to support W2k or XP?
An end compiled bzImage kernel... the binaries, is only the ballpark of a meg. The source code is what they're talking about... which has gotten quite ridiculous, 170Mb for 2.4.17 as compared to 20Mb or so for 2.0.1 only four years ago (You do the math on how many lines that is). The thing the article doesn't take into account is that not all, heck not 1/10 of that gets used in most RedHat/Mandrake/Slackware boxed shipping kernels. Not only that, but if you slim it down and compile your own, its down to 1/100.
You have to remember that in comparison to say... DOS, support for everything, every piece of PC/Mac/Sparc/Mips hardware on the planet ends up in the kernel. Rarely, and actually I can't think of a single occurence, does the vendor of a device produce the linux driver for it, that's what the geeks do.
How does the code compare to windows? Which one? (95,98,Me) is one product compared to (NT, 2k, XP)... and really, I have no idea. In order to get the source code I'd have to sign my non-disclosured soul over to Uncle Bill.
Thanks for the responses. I thought I remembered reading somewhere that W98 was more like 30M. So, unless your friend is Bill Gates, I guess we still don't really have a clue....
I say the Linux community adapt a UI like the Mac's OS X did, it sit's on top of UNIX, write a ton drivers for it, and give the vast majority of Users, who's job isn't programming or being a super system admin, another viable, free choice!
While I thoroughly enjoyed reading acid_kewpie's very thoughtful response, these last two posts are the kind of information I was really looking for. Thanks to all for responding.
So, WinXP has 45M lines of Code, the 2.4.x kernel has 30M lines of code and "A downside faced by the Linux kernel maintainers, as expressed by Bill Joy, co-founder of Sun, is the increasing size and complexity of the underlying C code"? I would say that since WinXP 'may require addition hardware' and Linux could quite possibly 'require less hardware than you currently have', I'll be sticking with Linux, thankyou.
Location: Pretty much the whole US but living in Chelmsford Mass for the next few years
Distribution: SuSE
Posts: 16
Rep:
"Stick w/Linux?" Agreed!
And keep in mind what our friend "finnegan" says.. there are options to not install items, and to do a little compiling ourselves. Not options with MS OS's.
Amoungst other things, bulky MS OSs affects performance immensely. Forget all those gaudy performance numbers marketing departments put out. Look at single system results. Those are closer to the truth.
As for the comment that code for every piece of hardware on the planet is added to the kernal. Code does get added, but in a layered fashion. Thereby adding millions of lines more, to the OS. The core of the kernal itself is epoxied. Figuratively speaking!!
That's why when MS recruits Dell to unseat a major Oracle install on OVMS and Alpha systems saying they can beat performance and reliability with SQL, they don't! Performance numbers are approx. 6 times slower!
Originally posted by Thymox I don't think intelligence has anything to do with it. I think the word would be brainwashing. The MS employees are brainwashed into writing bad code.
Now that's a little far... that's like blaming a factory line worker for the fact the Pinto explodes in a fender bender. I've known a couple guys who went and interviewed with The Beast, and even one that actually works for them. Its just like any other major company: Employee A gets assigned Project 1 by moron Boss B, who then doesn't realize that the submitted Project 1 is a kludgey hack job because Employee A wuld rather be, and was actually hacking on kernel 2.4.17 on company time.
Employee A has to satisy somewhere between one and maybe twenty to thirty guys from testing to architecture to supervisory. A kernel hacker has to satisfy every geek on the planet that bug snoots his/her code; theoretically at least.
shadowhacker:
You should realize that Windows is not designed for smart people.
Each yearh, dumb and dumber people start using Windows.
Simple people can easily get intrigued by Linux, but quite not
with Windows (well, it's smart people who get pissed off by
windows, is a different thing). In addition to that, MS have
lot more hardware to support.
GEnerally, M$ doesn't start an OS development from scratch. They
just add build one OS on top of another. Most of underlying code,
even in Win98 is still 16 bit, a reminiscent of Windows version 1.0
from 1980s. This adds millions of lines of code. Win 98 code is
full of patches, so it's impossible for figure out exactly what a
code snippet does. The new developers add a few if then else
and make it work (just in time for release), and add few more
lines to put some more patches (service packs ).
As for stability of their code, I heard recently that MIcro$oft
themselves do not use Visual Source Safe for version control.
They still rely on Unix machines.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.