launchd and systemd

Status
Not open for further replies.
Please tell me you're not going for launchd or systemd. I have nightmares of FreeBSD migrating to systemd or launchd and I wake up sweating and screaming. Let me elaborate (rant):

In my job I do administrator work on Windows machines. There's been so many times I've wished I was a janitor instead. Often solely because of svchost.exe. For most end users it doesn't make a difference if a process is running under svchost.exe or not. For administrators it makes a huge difference. For example, if a standard office Windows machine is using memory over 1G when no application is running, it's a sign of a problem. So you go to Task Manager and try to look up a process taking that memory. If you're lucky, it's not svchost.exe and you can go about your day, maintaining your zen.
However, if it does happen to run under svchost.exe, your day is most likely ruined. It's not easy to pinpoint what process is taking all that memory. You're able to see which processes are running under specific svchost.exe but it won't tell you what resources they're using and how much. There can be dozens of them processes and you'd have to isolate them all one by one to find the right one. Soooo, 9 times out of 10 it's quicker to dd your backup image and just let the machine reload and install all the updates overnight. The next day you can spend reinstalling all the programs and their updates. Well, it's not so bad when you're getting paid. But this is not acceptable if we are talking about my own computers at home. I do not want to waste my free time fixing problems that exist only because of a horrid operating system. And boy do we have those now.

I've understood that distributions NOT using systemd are now limited to handful, such as FreeBSD, OpenBSD, NetBSD, Slackware and Linux Mint. Pretty much everything else out there is now using systemd. I really wonder why. The reasoning coming from developers of systemd is just a bit off. They say it's to speed up booting, to "unify" Linux distributions and to make software development easier for 3rd party contributors such as Gnome.

The main developer of systemd has said that developers should only read about Linux API and just ignore anything POSIX related. Wow. Just wow. Nothing says "unify" quite like "ignore POSIX". Anyway, another reason for it is that init is old and systemd aims to replace it being something better suited for constantly evolving technology. Excuse me but init has been working well for over 40 years and besides, if by this "constantly evolving technology" we mean for instance wireless communications, that technology has existed for over 100 years. Yes. When you pick up your smartphone and make a phone call, send a text, use your 3G or LTE, Wi-Fi, you're actually just using a RADIO. I a very similar manner, computers haven't changed that much either. They come with more memory, better processors, but their basic design is still the same and they still calculate the same mathematics. I can understand that kernels evolve, but init? Why does that need to evolve?

This systemd approach is in conflict with traditional UNIX philosophy. I don't know why anyone reasonable would challenge that concept. Why replace a simple program that has done it's job well for over 40 years, with some bloated, poorly tested concept, that doesn't *really* do the job better? I'm confident it doesn't, I have measured and compared the boot times of Windows 10, FreeBSD 10.2 on a dual-boot machine, and just for fun on the side, iOS on a old iPhone 4.
FreeBSD is the fastest to boot, although Windows is considerably faster if I shutdown Windows and then boot it. When I shutdown FreeBSD and boot Windows, it takes longer to boot than FreeBSD. Still faster than the iPhone. So I don't buy it, launchd or systemd approach won't be a difference maker especially not on a new machine with SSD drives. Windows 10 shows that a fast boot is really just a matter of certain kind of hibernation. It does boot very fast if not used on a dual-boot machine. On UNIX it wouldn't be too difficult to have a Gnome/anydesktop program that just logs out users and then hibernates. Windows 10 essentially does this as "shutdown".

What really baffles me about systemd is this idea that the operating system needs to change to make things easier for 3rd party developers and users. If we were to take that path, why not just use Windows then. All these Linux distributors who migrated to systemd, they just want a free "windows" on their desktops. They don't seem to care that there are people who in general despise the Windows approach, mostly because they have to deal with all the problems it creates, every day as administrators for companies, moms, wifes, kids, rest of the family and friends.

Maybe it's just me, but I feel that traditional UNIX philosophy has been cornered. Apple is marketing OSX as UNIX, it's hard for me to think of it as such though. Launchd alone makes it feel distant to me. It distantly resembles UNIX. Now most Linux distributors are on the same path. It's all going to hell now, isn't it?
 
Please tell me you're not going for launchd...

Some folks are playing around with it, namely the NextBSD project, but there's no real push toward accepting it in mainline FreeBSD.

...or systemd.

systemd's agenda to tightly integrate itself into the Linux kernel makes that impossible.

I've understood that distributions NOT using systemd are now limited to handful, such as FreeBSD, OpenBSD, NetBSD...

Woah, hold up. These are not "distributions." Each is a distinct and complete operating system. While they share a common heritage, they have little technical and no historical relationship to Linux, and each has fundamental differences from the others. ;)
 
Technically the "D" in "BSD" is "Distribution". It's actually correct to call them this. I know it sounds Linuxy but they basically stole it. :)
 
Well that is somewhat comforting to hear. To clarify by "distributions" I mean operating systems modelled after the early Unix distributions, as in Software Distribution. Not implying that BSD and Linux are sharing code nor design. Well, not anymore anyway.
 
Technically the "D" in "BSD" is "Distribution". It's actually correct to call them this.

Yes, in a very literal sense, but no one refers to them that way. You're talking about the Berkeley Software Distribution. There originally was only one. The *BSD in these names is pretty much just an acknowledgement that these new operating systems descend from that original. Having the surname "Johnson" doesn't make you John's son, and having *BSD doesn't make you one of many Berkeley Software Distributions. ;)
 
It's still a set of programs/libraries/kernel/userland that are carefully selected and distributed as a unit. The main difference is that this selection is integrated with the kernel development.

So yes, literally each BSD is a unique distribution. But yes, normally "distribution" implies linux but it's not wrong to refer to BSD as distributions (IMO but I think that's an easy position to defend)
 
I mean operating systems modelled after the early Unix distributions
Well, FreeBSD started life as a copy of ATT Unix so it's not just modelled after it.

Your complaints show so much detention among Linux users, it's obvious it's not something FreeBSD should become involved in for that reason alone. Linux seems to jump on every bandwagon that comes along while the BSDs give things a thoughtful process.
 
I don't think systemd will ever be found in a native FreeBSD - barring some kind of invasion.

Don't know about launchd, but I don't think many are interested in that either.

Linux seems to be becoming something else other than UNIX and that's fine - gives the hamsters something to gnaw on.As long as this project stays the course, I could care less.
 
Comforting your words are. But I have real reason for concern because even Debian migrated to systemd, sounds unbelievable but they did it because Ubuntu did it. That was enough for some and now we have a Devuan fork. Debian didn't even use BSD style init. Things are that bad. Before I really believed that Slackware and Debian were the untouchable ones, but times change it seems. I believe this needs to be taken seriously. If it can happen to Debian then it can happen to anyone.

In order to know how to make a proper operating system you need system administrator experience. Coincidentally the guys who left Debian to start Devuan, have that. Unix was built by system administrators, that's why the long lasting philosophy behind it is what it is. Users and developers must be educated about these issues. I think we need system administrators to write more books about the philosophy, not just manuals. Maybe hiring a philosopher for the FreeBSD project would be a good idea. I hear Norway has a state philosopher working for the state oil companies, his/her job is to think how the surplus would most benefit the people of Norway. When working for future generations, having a good philosopher around might be a good idea?
 
WARNING: Boring history stuff ahead...

Unix was built by system administrators...

While this is true, what they were administering at first wasn't an operating/computer system, because they didn't have one yet. They crafted an operating system so they could better manage telecommunications. From 1954 to 1982, AT&T's Bell System was sanctioned as a "natural monopoly" that controlled virtually all telephone traffic in the US (including teletype/telefax transmissions), and handled a large percentage of content distribution for radio and television conglomerates as well. They needed a way to manage this extremely dense and diverse traffic across their massive, continent-wide telecom network. Unix was part of that solution.

The early proof-of-concept Unix was eventually rewritten in C in order to be machine-portable, because the 1954 agreement between the U.S. Department of Justice and the Bell System forbade the latter from developing, manufacturing, or selling its own computer hardware. So they had to remain open to the possibility of needing to change hardware platforms, and do so without needing to create and learn something new all over again. That portability---and the reputation of Bell Labs---is what made Unix such an appealing research platform, which in turn contributed to the development of BSD and the commercial adoption of Unix.

I'd be interested to know just how much managing a massive telecom network---comprising many different interconnecting components that each served multiple roles depending on context---played a role and gave insights into the fundamental design of the Unix operating system. Sounds like a good project for a masochistic grad student.
 
Linux seems to jump on every bandwagon that comes along while the BSDs give things a thoughtful process.
Yes, things get interesting when the bandwagons are going into different directions at the same time. Linux, for example, tries to be small and perfomant while carying the coffee pot and kitchen sink in the same hand.

If it can happen to Debian then it can happen to anyone.
No - if it can happen to Debian then it could have happened to Debian. Debian switching over because of Ubuntu is also more the tail wagging the dog - Debian was IMHO more concerned with the impact systemd would have on the user land and that they would loose out because they would need more efford to have stuff which relied on systemd. They had that choice (we have not, so no problem in being adamant about this). We will have to spend more work on workarounds as more and more code relies on being run on a VAX - ^h^h run on Linux/systemd. They could have said "No", but did not. Why they did not is their burden to carry. I consider systemd a marketing tool.
 
If it can happen to Debian then it can happen to anyone.
Not true. How you already said, Slackware is still untouched. And even Gentoo and Crux are systemd-free.
In order to know how to make a proper operating system you need system administrator experience.
No, in order to know how to make a proper operating system you need computer science knowledge. Ken Thompson and Dennis Ritchie were scientists, and then users of their product. You may need system administrator experience to make it more comfortable to use.
 
In order to know how to make a proper operating system you need system administrator experience.
No, in order to know how to make a proper operating system you need computer science knowledge.
Really can't stress this enough. A system administrator could never succeed in creating an operating system. Just the complexity of the whole system requires some architecture skills, while writing a decent kernel and low-level libraries to go with it requires some special OS construction knowledge.

But, jklami could have a "partial point" here in that it probably helps to get some admin experience into the project if simple and powerful administration is a design goal :)
 
But, jklami could have a "partial point" here in that it probably helps to get some admin experience into the project if simple and powerful administration is a design goal :)
Yup, right. That's because I said that system administrator experience is needed to make it more comfortable to use. ;)
 
Comforting your words are. But I have real reason for concern because even Debian migrated to systemd, sounds unbelievable but they did it because Ubuntu did it.

Your time-line is backward. Debian adopted systemd first. Ubuntu only switched to using systemd because their upstream project (Debian) did. Ubuntu was actually one of the last of the mainstream Linux distributions to adopt systemd.

There are a number of Linux distributions which still haven't switched. Linux Mint, for example, uses SysV init. Slackware, Gentoo, Void, CRUX... Manjaro has an OpenRC edition. In the Linux community systemd is wide spread in the mainstream projects, but there are still plenty of smaller distros holding out.

But as others have pointed out, systemd will never be adopted by FreeBSD because systemd is designed specifically to work on Linux only. The developers of systemd won't even accept patches to port their software to FreeBSD so it'll never happen.

launchd is a possibility, but the launchd project has been around for ages and still is not included in mainline FreeBSD. If it is adopted, it will be very slowly and carefully to avoid regressions.
 
WARNING: Boring history stuff ahead...
While this is true, what they were administering at first wasn't an operating/computer system, because they didn't have one yet. They crafted an operating system so they could better manage telecommunications.

Being a system administrator was part of Ken Thompson's degree. Ken was not a God you know, he was taught by someone. Unix was based on Multics. Ken and Dennis went to school. Ken and Dennis had system administrator experience before they begun developing Unix, B and C. There really is administrator experience that they have. Plan9 is not just Unix with forced quotas because they thought it's easier code.
 
Yes, things get interesting when the bandwagons are going into different directions at the same time. Linux, for example, tries to be small and perfomant while carying the coffee pot and kitchen sink in the same hand.

No - if it can happen to Debian then it could have happened to Debian.

If it can happen to Debian then it can happen to FreeBSD. It may be that members of the Open Source community have bigger egos than they'd like to admit. It can totally happen to FreeBSD and now I begin to worry if I'm to late.
 
Dear jklami, what exactly is your point? "administrator experience"? Well yes, as I said, this could help making a system "nice" for administrators, but it's not even a tenth of the game! Google for "implementing a counting semaphore using binary semaphores" and try to identify all the papers claiming to do that, later proven wrong ... they were all written by capable system engineers ... to just get an idea of the technical problems at the lowest level of an operating system. And then, don't forget about the SIZE of a project like an operating system -- you will need detailed blueprints about what components should exist, what is their responsibility and how they should interact -- work for a software architect! The reason UNIX is/was great is maybe 5 to 10 percent the administrator experience ... everything else is just special OS building knowledge and software architecture. TL;DR: for designing an OS, I'd take at least one administrator as a stakeholder on the team ... but I'd make sure to have several experienced OS experts and software architects ...

You brought the topic of systemd on the table. As this thread already revealed, systemd will never be an issue on FreeBSD. But IMHO, systemd is the wrong answer to the correct question. We really NEED some reliable management and control over system processes. And well, some bright people should think about how to implement a solution to this problem that still meets the "separation of concerns" principle. We will see. systemd is (IMHO) NOT the answer.
 
Not true. How you already said, Slackware is still untouched. And even Gentoo and Crux are systemd-free.

No, in order to know how to make a proper operating system you need computer science knowledge. Ken Thompson and Dennis Ritchie were scientists, and then users of their product. You may need system administrator experience to make it more comfortable to use.

Being a system administrator was part of Ken's degree. Why would they continue to make operating systems comfortable for admins unless they were one?
 
Status
Not open for further replies.
Back
Top