|
|
Subscribe / Log in / New account

The Debian init system general resolution returns

The Debian init system general resolution returns

Posted Oct 21, 2014 17:24 UTC (Tue) by HelloWorld (guest, #56129)
In reply to: The Debian init system general resolution returns by da4089
Parent article: The Debian init system general resolution returns

The parent didn't consider it necessary to justify its opinion, so neither do I.


to post comments

The Debian init system general resolution returns

Posted Oct 21, 2014 18:33 UTC (Tue) by mgb (guest, #3226) [Link] (6 responses)

> The parent didn't consider it necessary to justify its opinion, so neither do I.

Sorry. Most people here are already familiar with KISS.

Pid 1 is the privileged process which is the first started (and therefore usually has to start some more processes) and which handles orphans.

Putting functionality in pid 1 which doesn't have to be in pid 1 is a violation of KISS. Violating KISS wrt pid 1 is serious because of the negative consequences for stability and security.

The only reason systemd has additional functionality in pid 1 is RH EEE.

The Debian init system general resolution returns

Posted Oct 21, 2014 20:19 UTC (Tue) by mathstuf (subscriber, #69389) [Link] (1 responses)

So you run with POSIX sh as your login shell, right? No need for all that extra stuff bash, zsh, fish, and all those other "fancy" shells offer. How is twm holding up these days? Or do you still use the framebuffer?</snark>

> The only reason systemd has additional functionality in pid 1 is RH EEE.

Or, you know, maybe because people find it useful?

The Debian init system general resolution returns

Posted Oct 21, 2014 20:33 UTC (Tue) by jspaleta (subscriber, #50639) [Link]

Objection!

since systemd never supported inittab, there was no embracing action with regard to sysvinit's API.

I move for dismissal.

-jef

The Debian init system general resolution returns

Posted Oct 22, 2014 7:20 UTC (Wed) by palmer_eldritch (guest, #95160) [Link] (1 responses)

>Putting functionality in pid 1 which doesn't have to be in pid 1 is a violation of KISS. Violating KISS wrt pid 1 is serious because of the negative consequences for stability and security.

You're talking about DBus and cgroup management?
The argument is that moving them outside of PID1 would make things more complicated and it would have negative consequences for stability and security.
That's a design decision. Throwing acronyms around saying a design sucks because it doesn't conform to them doesn't prove anything.
A different design might look nicer on paper but until it's tested and proven in real-life situations it's not worth much.

The Debian init system general resolution returns

Posted Oct 24, 2014 8:16 UTC (Fri) by jezuch (subscriber, #52988) [Link]

> A different design might look nicer on paper but until it's tested and proven in real-life situations it's not worth much.

Case in point: microkernels.

The Linux kernel is such a blatant violation of KISS that I'm surprised any self-respecting engineer takes it seriously.

/sarcasm

The Debian init system general resolution returns

Posted Oct 22, 2014 18:09 UTC (Wed) by rgmoore (✭ supporter ✭, #75) [Link] (1 responses)

Two points to refute this:

  1. KISS is not the only design principle that one needs to consider. Yes, it's important to keep things simple when possible, but it's also important to be efficient and provide users with the functionality they need.
  2. You need to consider complexity at a system level, not just at an individual program level.

A good example of this is the Linux kernel. In theory, it could be made much simpler by adopting a microkernel architecture. In practice, we don't do that, partly because modular kernels have performance advantages and partly because it's really just pushing the complexity into userspace drivers rather than eliminating it from the system as a whole.

The same thing is generally true of the added complexity of systemd vs. sysvinit. Yes, the actual PID 1 is much simpler with sysvinit, but a lot of that is because it doesn't provide much in the way of functionality. Instead, that functionality winds up being provided by other parts of the system. By trying to keep PID 1 simple, you wind up with less functionality and more complexity in the whole system.

The Debian init system general resolution returns

Posted Oct 22, 2014 21:18 UTC (Wed) by louie (guest, #3285) [Link]

" Yes, the actual PID 1 is much simpler with sysvinit, but a lot of that is because it doesn't provide much in the way of functionality. Instead, that functionality winds up being provided by other parts of the system. By trying to keep PID 1 simple, you wind up with less functionality and more complexity in the whole system. "

Thank you for stating that so well and concisely.


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