Stories
Slash Boxes
Comments

SoylentNews is people

posted by janrinok on Friday October 16 2015, @08:02AM   Printer-friendly
from the what,-no-apocalypse? dept.

Structural and semantic deficiencies in the systemd architecture for real-world service management

This is a in-depth architectural critique of systemd. It claims to be the first purely technical review of systemd internals, and provides a detailed analysis of several components. It criticizes on the basis of ordering related failures, a difficult to predict execution model, non-determinism in boot-order, as well as several other points.

Though many users would perceive the long processing pipeline to increase reliability and be more "correct" than the simpler case, there is little to acknowledge this. For one thing, none of jobs, transactions, unit semantics or systemd-style dependencies map to the Unix process model, but rather are necessary complications to address issues in systemd being structured as an encapsulating object system for resources and processes (as opposed to a more well-defined process supervisor) and one accommodating for massive parallelism. Reliability gains would be difficult to measure, and that more primal toolkits like those of the daemontools family have been used in large-scale deployments for years would serve as a counterexample needing overview.


Original Submission #1Original Submission #2

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 0) by Anonymous Coward on Friday October 16 2015, @03:00PM

    by Anonymous Coward on Friday October 16 2015, @03:00PM (#250578)

    Only skimmed TFA, but this may be where they hid that back-door:

    Parsing in critical paths

    Quoting from djb’s "The qmail security guarantee [cr.yp.to]":

    Don’t parse.

           

    I have discovered that there are two types of command interfaces in the world of computing: good interfaces and user interfaces.

           

    The essence of user interfaces is parsing: converting an unstructured sequence of commands, in a format usually determined more by psychology than by solid engineering, into structured data.

           

    When another programmer wants to talk to a user interface, he has to quote: convert his structured data into an unstructured sequence of commands that the parser will, he hopes, convert back into the original structured data.

           

    This situation is a recipe for disaster. The parser often has bugs: it fails to handle some inputs according to the documented interface. The quoter often has bugs: it produces outputs that do not have the right meaning. Only on rare joyous occasions does it happen that the parser and the quoter both misinterpret the interface in the same way.

  • (Score: 1) by khallow on Friday October 16 2015, @03:51PM

    by khallow (3766) Subscriber Badge on Friday October 16 2015, @03:51PM (#250613) Journal
    "The" back door? My take is that whoever has the job of putting in back doors would keep doing that as long as they possibly can. Given the NSA's resources, that means they probably never stop trying.
  • (Score: 2) by Eunuchswear on Monday October 19 2015, @11:15AM

    by Eunuchswear (525) on Monday October 19 2015, @11:15AM (#251769) Journal

    So, where is the NSA back-door in sysvinit? That does nothing but parsing at run-time, it's all written in sh(1) for god's sake.

    --
    Watch this Heartland Institute video [youtube.com]