The argument is basically that it does too much and as the motto of Unix was basically “make it do 1 thing and that very well”, systemd goes against that idea.
You might think it is silly because what is the issue with it doing many things. Arguably, it harms customization and adaptability, as you can’t run only 2/3 of systemd with 1/3 being replaced with that super specific optimisation for your specific use case. Additional, again arguably, it apparently makes it harder to make it secure as it has a bigger attack surface.
At a high level, microkernels push as much as possible into userspace, and monolithic kernels keep drivers in kernel space
There are arguments for each e.g. a buggy driver can’t write into the memory space of another driver as easily in a micro kernel, however it’s running in the same security level as userspace code. People will make arguments for both sides of which is more secure
Monolithic kernels also tended to be more performant at the time, as you didn’t have to context switch between ring 0 and ring 1 in the CPU to perform driver calls - we also regularly share memory directly between drivers
These days pretty much all kernels have moved to a hybrid kernel, as neither a truly monolithic kernel nor a truly micro kernel works outside of theoretical debates
You can in fact run 2/3 Systemd whatever that means. Systemd components are modular so you can run the base system by itself if you want to.
Additionally systemd just works. You really don’t need to care about the details as running something like a web server or service is as simple as starting it. Dependencies are handled automatically.
I tried to express my understanding of the arguments. I don’t know and I couldn’t argue either case to a point that it is worth adding to the conversation
Imagine a very irate spartan shouting it as he hurls his spear across the room where the lawyers are having their discussion about the lawsuit pending between the linux loving spartans and the tyrannical unix using persians.
In fairness reading this thread all I see is systemd good
Why: i find sysvinit start up scripts too complicated to read/modify so let’s drop this gigantic mammoth that does a million other things on my lunux system so I don’t gave to learn how to write a shell script.
I don’t have much skin in the game and have been out of the loop for many years but don’t find many of the arguments in favour of systemd very convincing
Person: Systemd bad
Me: why
Them: IDK
maybe systemd is a verb
e.g.
“damn homie got systemd by the opps”
The argument is basically that it does too much and as the motto of Unix was basically “make it do 1 thing and that very well”, systemd goes against that idea.
You might think it is silly because what is the issue with it doing many things. Arguably, it harms customization and adaptability, as you can’t run only 2/3 of systemd with 1/3 being replaced with that super specific optimisation for your specific use case. Additional, again arguably, it apparently makes it harder to make it secure as it has a bigger attack surface.
And funnily enough, the kernel doesn’t follow the unix philosophy either as far as I know.
I have heard that before in a joke setting, I would love to hear genuine arguments for and against it.
The debate is as old as Linux itself, and well documented.
It doesn’t seem to be a debate. “Microkernels are better” “yes but I don’t have the time for it” but thanks
At a high level, microkernels push as much as possible into userspace, and monolithic kernels keep drivers in kernel space
There are arguments for each e.g. a buggy driver can’t write into the memory space of another driver as easily in a micro kernel, however it’s running in the same security level as userspace code. People will make arguments for both sides of which is more secure
Monolithic kernels also tended to be more performant at the time, as you didn’t have to context switch between ring 0 and ring 1 in the CPU to perform driver calls - we also regularly share memory directly between drivers
These days pretty much all kernels have moved to a hybrid kernel, as neither a truly monolithic kernel nor a truly micro kernel works outside of theoretical debates
You can in fact run 2/3 Systemd whatever that means. Systemd components are modular so you can run the base system by itself if you want to.
Additionally systemd just works. You really don’t need to care about the details as running something like a web server or service is as simple as starting it. Dependencies are handled automatically.
Sustemd is modular though, you don’t have to use every subsystem. The base init system and service manager is very comprehensive for sure.
I tried to express my understanding of the arguments. I don’t know and I couldn’t argue either case to a point that it is worth adding to the conversation
I know it’s a typo, but Sustemd would be great for AmogOS! 😂
I been told it was to big, but if you look at the Linux Kernel, it is huge.
People also love to say Unix, but Linux is not Unix.
But that only spells “LINU”.
Fine then: “Linux is not Unix, Xerxes!”
Imagine a very irate spartan shouting it as he hurls his spear across the room where the lawyers are having their discussion about the lawsuit pending between the linux loving spartans and the tyrannical unix using persians.
I was going more for a “Linu Stars and Celebrities: What Do They Know? Do They Know Things?? Let’s Find Out!”
In fairness reading this thread all I see is systemd good
Why: i find sysvinit start up scripts too complicated to read/modify so let’s drop this gigantic mammoth that does a million other things on my lunux system so I don’t gave to learn how to write a shell script.
I don’t have much skin in the game and have been out of the loop for many years but don’t find many of the arguments in favour of systemd very convincing
It is very fast and easy