4 ms·
Forgive my ignorance, but I was under the impression that Systemd was a relatively simple service that just manages services on a cpu. I had the mental model of
by hetspookjee 7y ago
Forgive my ignorance, but I was under the impression that Systemd was a relatively simple service that just manages services on a cpu. I had the mental model of systemd as a cronjob on boot with status management.
What else does it do besides that, that warrants such an enormous complexity? I'm sure i'm missing out on a ton of features with this simple model but I haven't seen anyone else use it otherwise in the wild than a service manager.
- smitty1e 7y agoSystemd doesn't just troll through a directory of symlinks to shell scripts and fire them off. It's parsing a DSL for the .service scripts, building dependency graphs, making lists, checking them twice, and so forth.
- hetspookjee 7y agoI see, thanks for the explanation.
- Denvercoder9 7y agoThe systemd project develops a lot more than that. One component is udev, which manages (among other things) /dev and firmware loading. For this purpose it includes a database of all supported hardware, which alone counts in at 271K lines of "code" (it's really just structured plain text). I wouldn't be surprised if the core service manager comes in at only ~20K lines of code.
- blihp 7y agoThat's been the ongoing issue/debate re: systemd. If it were just a simple service manager, there probably wouldn't be nearly so much debate around it. Instead, it's both a service manager and a collection of bundled services. It often isn't trivial (both due to dependencies and packaging) to substitute a single service systemd provides with an alternative implementation.