4 ms·
> It also means that everything either works or doesn't work Isn't quite a large percentage of the Linux kernel in the form of loadable modules, such that a gi
by Diederich 7y ago
> It also means that everything either works or doesn't work
Isn't quite a large percentage of the Linux kernel in the form of loadable modules, such that a given running system will only running a fraction of the total code?
- jraph 7y agoYes but these modules are built from the exact same code version as the kernel being used. No dependency hell. But maybe such a solution could work with a micro-kernel architecture too. It seems that a micro-kernel and its components could also be gathered in a same code base. You would get the kind of changelog the first commenter of this thread mentioned though. It seems we are speaking of two different things here: code management and kernel architecture.
- jschwartzi 7y agoIt definitely works with a micro-kernel. The issue in question fits under the umbrella of "software configuration management." In other words, how do you make sure that you are running versions of all of your components which are the same as when you tested? And how do you establish a known-good set of components in the first place? A competent engineering team should have a way to verify that all the important components of their system are controlled so that a different version can't sneak in. This could be through the revision control system, or it could be through some design notes and a verification activity. But you have to do something to make sure your system is built from a known-working set of artifacts. And in a lot of cases your software configuration extends to your build system. I've been burned before by build system and host operating system changes that result in the software configuration of my embedded images changing and introducing bugs.
- Diederich 7y agoOk I misunderstood, having fallen into the trap of reading and reacting to the first sentence before reading the rest. (: I didn't realize that the topic was dependency management, but rather about 'kernel breakage'. My apologies. I have professional experience in large organizations that use monorepos, and have been impressed with the results.
- deleted 7y ago[deleted]