back to article Linux kernel dev has gone well and truly corporate – report

The Linux kernel is growing and changing faster than ever, but its development is increasingly being supported by a select group of companies, rather than by volunteer developers. That's according to the latest survey of Linux kernel of development by the Linux Foundation, which it published to coincide with the kickoff of …

Silver badge
Linux

Snowballing

Steadily unstoppable snowballing.

And before people think its becoming bloated, the majority of the increase in code is in the drivers, new and better drivers get added all the time on each new release.

9
1
Silver badge

Re: Snowballing

All good of course. Does it actually install all the drivers on your machine or does it only install the ones that are needed based on the hardware it detects?

4
0
Silver badge

Re: Snowballing

It's entirely up to you :)

14
1
Meh

Re: Snowballing

I doubt I'll ever understand why an OS architecture with hardware drivers built into the kernel has become so popular.

7
13
Silver badge

Re: Snowballing

The drivers are in the source code. Whether they are in the kernel you compile or not is a choice you can make for yourself. I don't think many people use monolithic kernels these days so usually the drivers are not in the kernel.

10
4
Linux

Re: Snowballing

Depending on the distro , once you boot, the drivers needed for the running system are added to the initrd (This is a small filesystem that is used to boot a linux system).

If you hotplug a lot of devices the kernel can then load what it needs, depending on the device.

There are unfortunately a need for some binary blobs to make certain hardware work.

The kernel however, can be compiled in any way you want, which is why I suspect biz is getting interested.

A considerable amount of time and effort can be saved if your code deployment is economical, and although I know little about M$ server deployment I am guess your choices are "black".

P.

9
2
Silver badge
Happy

Re: Snowballing

" hardware drivers built into the kernel". Faster response.

2
3
Silver badge

Re: Snowballing

One of the earliest things I do is compile a version of the kernel with unneeded code (almost entirely drivers) stripped out to reduce the attack surface.

3
0

This post has been deleted by its author

Silver badge

Re: Snowballing

"I doubt I'll ever understand why an OS architecture with hardware drivers built into the kernel has become so popular."

Since no-one has except Phil has ( and he got a downvote for merely telling the truth) replied here goes.

Mostly the drivers are NOT built into the kernel but are loadable/unloadable modules so if I plug in a usb/serial converter I can see (if I want) the message :

[ 5743.316138] pl2303 2-8:1.0: pl2303 converter detected

[ 5743.349211] usb 2-8: pl2303 converter now attached to ttyUSB1

I didn't have to do anything - the module was found and loaded - if I unplug it the reverse will happen

[ 5786.751073] usb 2-8: USB disconnect, device number 3

[ 5786.751733] pl2303 ttyUSB1: pl2303 converter now disconnected from ttyUSB1

There's about 75 modules loaded at the moment.

9
1

Re: Snowballing

What I don't get is why we are still mucking about with monolithic kernels like Linux in this day and age. (hint: Monolithic does not mean "not made with modules." It means "all drivers run in Ring 0." Linux is ALWAYS monolithic.) Jochen Liedtke proved microkernels could be fast in '88, if they where designed to be.

4
7
Silver badge

Re: Snowballing

And which OSes are microkernels? Windows sure isn't. OS X / iOS sure isn't (though it is arguably a bit closer than Windows/Linux) There's QNX, but aside from Blackberry's recent usage of it, it is almost entirely in the embedded market.

Microkernels are great in theory, but unless you are suggesting scrapping 99.9% of server, desktop, laptop, tablet and phone operating systems and replacing them with something entirely new, complaining about Linux is basically complaining about the whole enterprise, personal and mobile operating system infrastructure.

15
1
Silver badge

Re: Snowballing

"hint: Monolithic does not mean "not made with modules."

Actually, back in my day that's exactly what it meant. Your comment even made me go and check myself but all of my old Linux printed books, and all the old threads and documentation on the Internet I can find refer to modular vs monolithic when compiling. You're right that Wikipedia and other current sources define it your way, but that has changed in the last 10 years for some reason.

Thanks all for the downvotes though, presumably from people who thought I was wrong because they weren't compiling kernels when the old definition was used.

14
3
Silver badge

Re: Snowballing

"hint: Monolithic does not mean "not made with modules"

This all semantics - the point is the Linux kernel does NOT have to have compiled-in drivers - most distro run with loadable modules that are selected at boot or on hot-plug. On the other hand if you want a custom kernel with a limited set and with them optionally compiled in then you can have that as well.

2
0
Anonymous Coward

Re: Snowballing

"And which OSes are microkernels"

... wasn't Minix based on a microkernel? Also GNU Hurd?

1
0

Re: Snowballing

Monolithic has ALWAYs referred to if drivers running outside Ring-0. Linus used the term wrong, and a bunch of bad authors who don't really know kernel design followed his misuse. Look at any serious text on kernel design and monolithic will always be contrasted with microkernels. If it's recent enough to cover Linux, Linux will be listed as a monolithic kernel.

2
5
Anonymous Coward

Re: Snowballing

This made me LOL. You're saying that you're right and everyone who used Linux for the first two decades including the person who created it, professional authors and editors were all wrong? I really hope you have some big credentials if you talk like that in the real world. As another poster just said, the point was that Linux doesn't have to have all the drivers compiled into the kernel - this was the original point before certain people started being dicks about semantics...

6
3
Silver badge
Linux

Re: Snowballing

Short history it doesn't work like in Windows.

Linux sees the drivers as loadable modules, the modules can be either made built-in (Useful for environments where your hardware does not change) or they can be made loadable upon boot.

When made loadable upon boot it is called a loadable kernel module, and they are files that live on your HD, plug in a device and they get loaded automatically as in the case of USB stuff, or upon booting in the case of a NIC.

Drivers in Linux are not "standalone" drivers for "standalone" hardware, most of the time they belong to what is called a "Driver family", this is a single driver supports multiple devices.

For example if two different network cards from two different vendors use the same chipset, the same driver will be used with both. This saves a lot of disk space and code work.

Usually the kernel and the drivers all come in the same package, this is because as they are modules they are intrinsically dependent on the kernel structures and headers.

To get support for a newer piece of hardware you can either get the source of a module and compile it yourself or wait until the next kernel version to come with the module already integrated.

And no, compiling stuff in Linux (building a kernel or a module) is not the chore most people with little Linux exposure think it is.

There is a learning curve like with everything, I do not know anyone who has mastered anything complex in Windows out of thin air.

13
1
Anonymous Coward

Re: Snowballing

What I don't get is why we are still mucking about with monolithic kernels like Linux in this day and age

I don't get statements like that. When was the last time you've thought to yourself "whew, thank fuck my OS doesn't have a monolithic kernel!"?

Well, I've never thought that in all the years I've been using Windows.

9
2

Re: Snowballing

"... wasn't Minix based on a microkernel? Also GNU Hurd?"

Minix was a macrokernel design, based on Unix principles. But Hurd was/is a microkernel design. Minix3 is microkernel.

@Oninoshiko and @Lusty

I do not remember Linus T misusing the term microkernel. The main reason that the GNU community adopted the Linux kernel over the the more elegant microkernel designs was efficiency and availability. The performance of micro versus macrokernels remains problematic. When Microsoft announced NT, they claimed it woulduse a Carnegie-Mellon style microkernel, but actually used a macrokernel design. The MSliterature/press releases were a source of cofusion for much of the less technical technical press.

The converse of micro iis macro, and of monolithic is modular. The very early Linux kernels were moolithic macrokernels. When a kerneel wascompiled, the required drivers were compiled in. It did not take very long for modulesto be introduced, when at build time the essential hardware drivers and filesystems could be selected to be built-in, and the merely desirable to be compiledas autoloading modules.

6
0

Re: Snowballing

No, I'm say me and everyone outside the Linux-centric world uses the word correctly.

Here's the famous flamewar from '92 between Andy Tanenbaum and Linus. Let me quote Linus' post:

"True, linux is monolithic, and I agree that microkernels are nicer."

He doesn't dispute Tanenbaum's (correct!) definition at all (although, he also needs to learn the difference between loose and lose). So not only did the old Linux docs misuse the term, but Linus KNEW it (although it's possible he didn't write it, and wasn't paying attention to documentation. The Linux world is known for poor documentation)

6
6
Silver badge

Re: Snowballing

Any term widely used and understood for two decades is proper usage. Original meaning becomes irrelevant after a certain period, such is the nature of language. For instance Americans have been misusing the term Billion for quie some time to the point that their nonsense has become the standard. Stop being an ass hat.

4
5

Re: Snowballing

Any term widely used and understood for two decades is proper usage. Original meaning becomes irrelevant after a certain period, such is the nature of language.

But in this case it is some elements on one community - everyone else has been using it correctly for the last thirty years. Loadable module or not, drivers are still in kernel space, run in kernel mode and a single errant driver can and does take down the entire system. Even if that wasn't the case it still wouldn't qualify as a true microkernel since it still includes many systems that reside in user mode under the true microkernel model, e.g. the process scheduler.

Those elements of the Linux community misusing the term are not alone, this kind of mislabeling is quite common. The classic example is Windows' use of the term "virtual memory" to mean disk paging, which gets so deeply ingrained that people people refuse to believe you when you point out the term does not by definition refer to hard drives at all. Just like that example, a piece of hyped mislabeling does not alter the accepted definition.

4
1
Silver badge
Happy

Re: Snowballing

>I doubt I'll ever understand why an OS architecture with hardware drivers built into the kernel has become so popular.

Speed. For everything else, there's HURD.

Having said that, we do have a lot of spare CPU power on the desktop, so perhaps its time to revisit the benefits of the microkernel?

0
3
Silver badge

Re: Snowballing

>One of the earliest things I do is compile a version of the kernel with unneeded code (almost entirely drivers) stripped out to reduce the attack surface.

Non-monolithic kernels go one further by taking running drivers out of "ring 0" so they can't interfere with the rest of the kernel or each other.

I theory, its far more robust and secure, but real-world need-for-speed tends to override that option.

0
1

This post has been deleted by its author

Anonymous Coward

Re: Snowballing

Which is a bit annoying when you have a huge kernel and modules to use a few % of the code.

It really smacks of Microsoft Word where you have a huge level of complexity and features to support every user on the planet. Meaning most people only use 10% of the features but each user uses a different set of features.

0
4
Anonymous Coward

Re: Snowballing

Depends, some distros will install everything, others may try to detect upon install and then download kernel module packages ready for when you reboot into the OS.

Either way it's a huge mess. When Linux was first released it was seen to be old hat, huge monolithic kernels. Yes, it's efficient and with a lot of polishing it's not a turd by any means. But it's hardly a modern design, much like the x86 it's old, ugly but works in the real world.

0
2
Anonymous Coward

Re: Snowballing

Rolling your own kernel used to be fairly easy, but it's a lot of work now.

1
2
Anonymous Coward

Re: Snowballing

Problem is there is often a dependency between the kernel version and the module version.

In other modern kernels you can load in the driver almost regardless of the kernel version.

0
2
Silver badge

Re: Snowballing

"Which is a bit annoying when you have a huge kernel and modules to use a few % of the code."

Except that you don't !

1
1
Silver badge
Boffin

Re: Snowballing

Microsoft is known for poor documentation.

FreeBSD is know for top notch documentation ... so is Suse.

1
1
Silver badge

Re: Snowballing

>>"Rolling your own kernel used to be fairly easy, but it's a lot of work now."

I was a happy Gentoo user for several years, so I concede my perspective on this may not be that of the average inhabitant of this planet, but what is it you think has made it a lot of work these days, compared to how it used to be?

0
0
Silver badge

Re: Snowballing

"In other modern kernels you can load in the driver almost regardless of the kernel version"

I believe this was a choice by Linus early on since it forces open source drivers and makes it insanely difficult for vendors to supply binary drivers like they do with Windows. This led to many, many years of poor hardware support where graphics cards never had all their features, win modems simply didn't work, wireless cards didn't get support for years and the list goes on. Now that Linux is popular enough it's become worth while for vendors to open up and start contributing to the drivers which at the very least means more consistent results. A lot of the instability on Windows is due to poor third party drivers being loaded regardless of kernel :)

2
0
Silver badge
Stop

@Lusty: Re: Snowballing

Lusty,

Gonads to that matey, my pet #1 frickin' annoying linguistic Americanism is the use of 'already' instead of 'now'.

Their billion ain't the same as our Billion...

My ha'penny.

Cheers,

Jay

2
0

Re: Snowballing

Oninoshiko: 'The Linux world is known for poor documentation'.

The software developer world is known for no documentation. Some programmers think that code is documentation. If that is a valid assertion that there's an awful lot of poorly written documents out there.

0
0

Re: Snowballing

lack of a stable binary interface for bin and lib (ABI) in the linux world strongly encourages presence of source code and programmer at regular intervals .. unlike windows which has excellent binary stability running decades old binaries without modifications .. and hence little sign of the source code or programmers. I prefer having source code and programmers around .. but then I would wouldnt I.

1
1
Silver badge

Minix and GNU Hurd

Minix is debatable, and Hurd is a microkernel. So what? My comment was about operating systems that are actually used for anything aren't microkernels. If you take the small percentage of Linux desktop users, and drop it by another four orders of magnitude, that's probably the total number of people who use Hurd even as a hobbyist.

0
0

Re: Snowballing

It's still easy to roll your own. There's just one heckuva lot more choices to wade through. Back when I needed a serial driver, video driver, parallel driver and sound-card/scsi driver for my cd player.sound combo. (pas16). That was it. So, I rolled them into the kernel, monolithic style. Then modules came along. Now you had a choice. I still rolled them in. To get any decent speed out of my 486 I had to roll my own. Later on, came USB, hot plugging, and more specific drivers for video and printing and networking. I switched to modular then. All along, I had MY choices to make and I alone lived with the results of my decisions. I still have the choices. Nothing not needed is not loaded at boot time. Ergo, you do not have some HUGE kernel with everything loaded, while you have everything you could possibly need ready to be loaded, on demand. Big difference.

2
0

Linaro isn't precisely a company, as such, it's an organisation whose employees actually come from companies like ARM and AMD...

3
0

systemd

Who notices those changes anyway ? Yeah, version 3.w.h.a.t.e.v.e.r might be supporting some obscure hardware that no one in real world uses, meanwhile systemd is here and being forcefully shoved down the throats of whole community by Red Hat.

4
10
Linux

Re: systemd

live kernel patching? This is technology that has been reinvented in the last 6 years, because it was held hostage by a database company.

Please, stop whining about systemd. I am no big fan, but unless you are writing an alternative, try and be productive. Use it , file bug reports, help the movement to something you WANT to see.

If Linux is going to survive the next 10 years, it seriously needs to man up and become more maintainable.

Oh yeah I know LP can be a bit toxic, but for someone that productive I give him a great deal of respect for what works.

P.

7
8
Anonymous Coward

Re: systemd

I am no big fan, but unless you are writing an alternative, try and be productive.

The alternative doesn't need to be written, it already exists, works and runs on millions of systems.

Use it , file bug reports, help the movement to something you WANT to see.

I don't know if you realise how ironic you are being, because systemd is already a movement. If you don't fit in with the groupthink, you are ostracised and insulted. No thanks.

9
2

Re: systemd

If Linux is going to survive the next 10 years, it seriously needs to man up and become more maintainable.

Isn't this article saying that Linux (kernel) is maintained more than any other software in the world ? "...13,722 patches delivered at a rate of 8.17 per hour." ?

6
0
Anonymous Coward

Re: systemd

Or that its more 1) incomplete or 2) broken.

I'm not sure which.

2
5
Linux

Re: systemd

Go on AC say SysV init scripts, I dare you...

systemd is treated a bit like pornography. I don't know how to define it but I'll know it when I see it.

I have my own set of reservations about systemd I tried to make that clear. I know about the dependencies arguments raging on the debian news groups.

And again, have you proposed something else? How would we know AC?

P.

4
3
Linux

Re: systemd

There was a very nice blog article by LP on the future of BTRFS/systemd etc...

The point was made that the proliferation of distros and library/package versions causing dependency issues that affect stability. This is one factor driving systemd. I suspect it is the reason WHY the distros are making it a priority.

I recommend you read LP's words and thoughts about the vision, rather than the ad hominem invective that is invariably in his wake.

The problem is LP is amazingly productive and I think shouting is easier than competing with a better idea.

Not sure really...

P.

1
2
Silver badge
Facepalm

Re: systemd

Please stop with the FUD

RH is not forcing anything on anybody. Distro developers are adopting it because they see value on it.

Is it perfect no it is not, does it have problems, yes it does, does it solve a problem? yes, a very complex one no one has stepped in to solve.

I bet you're one of those who complain about Linux lack of coherence or fragmentation.

4
1
Silver badge
Linux

Re: systemd

In my experience it is the other way around.

It is the anti-systemd crowd who has become hysterical.

In my experience the majority of the anti-crowd people is just repeating things they hear like screaming parrots.

No one is forcing anything on anybody, if you do not like it that much do not use it, or write your own, I'm sure you will do a great job and people will adopt it.

2
3
Anonymous Coward

Re: systemd

Distro developers are adopting it because they see value on it.

Exactly. Think about it: they are the ones who have to maintain these init scripts. It's just the dick-heads who've read something in a forum that systemd is bad because they fucked something up, and have continued the FUD and hysteria.

3
2

Page:

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Forums

Biting the hand that feeds IT © 1998–2017