Title: Theory / Unimportant / CS / Softw / Linux / Systemd
On every note of this deck, unless a note says otherwise:
Page: http://0pointer.de/blog/projects/systemd.html

Name: systemd
Definition: Basic building blocks to start a unix system
Page: https://systemd.io/
Extra: The logo represents [OK]

Question: What is special about PID 1
Answer: Its the first PID started, parent of all process which does not have a natural parent to be child of, have all power

Question: Booting system for Unix that had some success
Answer: Sysvinit (historically)
Answer2: upstart
Answer3: systemd
Answer4: launchd (apple)

Question: What is required to boot a system efficently
Answer: start as little as possible
Answer2: start as parallely as possible
Answer3: get rid of shell

Question: How to ensure to start as little as possible
Answer: delay starting things until they are required, because maybe they won't be required
Answer2: Compute the dependency graph to be able to start immediately things we know will be a blocker

Question: How to ensure to start as parallely as possible
Answer: If A depends on B, start both A and B. The part of A that depends will wait, but at least all parts that do not depend will be started
Answer2: Create all sockets immediately, so that process can write to them, and queue message in them until the listener is ready
Answer3: tell clients that system are mounted while they are being mounted, and accept their query for file. So they can start their execution up to the point where they actually need file content