User: Password:
Subscribe / Log in / New account

Changes coming for systemd and control groups

Changes coming for systemd and control groups

Posted Jun 22, 2013 13:52 UTC (Sat) by drag (subscriber, #31333)
In reply to: Changes coming for systemd and control groups by heijo
Parent article: Changes coming for systemd and control groups

> This is quite a good idea in fact, having a central mostly-required user-mode component would allow to evolve Linux distributions much more easily,

I agree. The Linux kernel provides a unifying effect for all Linux distros.

The same thing can be done with the 'linux plumbing' level of things were you have a low-level functionality that needs to be available to all Linux users for all common cases. Things like: Hardware detection and configuration.. how to configure, load, and manage kernel modules. Network configuration management. USB devices with userland drivers, firmware management. Network configurations, system boot up, etc etc.

So from the 'higher' level application layers this low-level functionality would be essentially a black box. Just common APIs to interact with.

As long as those 'linux plumbing' APIs remain constant then it shouldn't matter what all is providing them. Testing suites and API documentation would be needed to make sure that everybody's version is consistent...

Then you could create 'personalities' that sit on top of all of this using containers or whatever that distro makers could create and modify for the stuff that end users and application developers actually care about.

Gnome personality, KDE personality, Canonical/Mir/Ubuntu personality. LAMP stack personality. "Ruby on rails" style distro, Jboss distro, Android-compatible personality, etc etc.

Each 'vertical' application stack then provide it's own group of software that sits in a container and manages cgroups, ip addresses/ports, etc in it's own little userland. Applications would be allowed to interact with dbus (and whatever) APIs provided by the Linux plumbing layer or have things delegated to their own daemons for their own containers.

Something like that.

(Log in to post comments)

Changes coming for systemd and control groups

Posted Jun 22, 2013 21:22 UTC (Sat) by cataliniacob (guest, #91150) [Link]

Interesting observation... food for thought

It's certainly true that most of the people that want alternative init systems are content with one kernel. Pretty much everyone agrees alternative browsers for example are a good idea, how low in the stack to draw the line for common components is useful to ponder instead of assuming kernelspace/userspace is that line.

Changes coming for systemd and control groups

Posted Jun 23, 2013 3:45 UTC (Sun) by Tobu (subscriber, #24111) [Link]

People also go to the trouble of patching kernels, and the kernel's rigid ABI policy wouldn't survive if you couldn't put compatibility hacks in outside libraries.

On the other hand I'm not too convinced by the syscall personality idea, because different semantics would ripple through and prevent processes from interoperating well with each other. It might be useful for running completely incompatible environments like Wine, which is oblivious to all Linux APIs, but for multiple Linux processes, introducing rarely-tested incompatibilities would not be worth it.

Changes coming for systemd and control groups

Posted Jun 23, 2013 18:13 UTC (Sun) by marcH (subscriber, #57642) [Link]

I think Linux is the only Unix where this line is drawn at the system call level. It's a simple enough line to define. Does this make it a good one?

Changes coming for systemd and control groups

Posted Jun 23, 2013 20:19 UTC (Sun) by khim (subscriber, #9252) [Link]

Yes and no. System call level line gave us few quite popular full-blown OSes (not just Android but also NAS systems, wifi-routers and so on).

But it's also easy to see that only OSes which define yet another layer are successful among non-geeks.

This strongly hints that both levels are important: system call level for OS builders and another, higher-level one for application/hardware system builders. System where you can mix and match everything (see Debian or any other desktop distribution) is embodiment of mediocrity: it does a lot of things, basically everything you can ever imagine. The only problem: it does everything equally poorly. Conflicts among the low-level plumbing components are more-or-less constant and system often breaks in strange and usual ways. These things are relatively easy to fix (symlink here, small config file there and everything works again), but it's not something Joe Average can do and it's not something Joe Geek wants to do.

Changes coming for systemd and control groups

Posted Jun 24, 2013 8:44 UTC (Mon) by justincormack (subscriber, #70439) [Link]

Actually I believe that Solaris is the only Unix where the line is not drawn at the system call level, it is explicitly at the libc level. You have to forbid static linking of course. How long compatibility is kept may vary. NetBSD 6 has syscall compatibility with 3 for example.

Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds