3 ms·
I can't speak definitively for any specific project, but I gather much of this is due situations like this: SoC Mfg designs a new chip, heavily leveraging IP f
by subway 10y ago
I can't speak definitively for any specific project, but I gather much of this is due situations like this:
SoC Mfg designs a new chip, heavily leveraging IP from an old chip. Since some old IP is still around, and already (mostly) has kernel support SoC Mfg, patches the existing code to work on the new SoC, publishes the bin/source as an SDK, and declares their work done. (The linux-meson/sunxi geeks will eventually clean this up and mainline it anyway).
In the mean time, Board Mfg needs to get a product out the door, so they start with the SoC and SDK, and find that a bunch of the work done in the SDK is really specific to SoC Mfg's reference board, and requires a few tweaks, so they hack on the SoC Mfg kernel tree until the device mostly works, declare a success and publish a board SDK. (Those same geeks from above will handle the mainline work if they want to run a mainline kernel anyway, so why should Board Mfg bother?)
In some cases, this cycle gets to repeat yet again when the board gets OEM'd into a half dozen devices, each requiring slightly different kernel tweaks.
- zzzcpan 10y agoI think with microkernel architecture this could have been very different. Even touching the kernel would keep outdated only a tiny part of the system with a relatively small attack surface, the rest could still get updates.
- lake99 10y agoWell, they will still have to import all the upstream changes, and make sure that all the parts play well with each other, which, they can still do. Except that they don't. I think what makes it hard is the dizzying variety of CPUs that makes it all hard to keep up with. I have heard from insiders that as far as manufacturers are concerned, a CPU stays "current" for about 6 months.
- ethbro 10y agoIt would have, but in 1991 it would have taken some powerful crystal balls to architect towards a fragmented mobile hardware ecosystem unified by a JVM-run app platform.
- rogerbinns 10y agoMicrokernels wouldn't really help. The point of a microkernel is to drastically reduce the coupling between parts of a system. Current hardware has far more coupling between parts. For example power management requires coupling (consider a NIC on a USB controller on a PCIe bus) where all pieces need to pull together. Or consider something like scheduling in a world where processor cores aren't identical and what runs where matters. Your microkernel would either perform way worse (eg worse power consumption), or have pieces so tightly coupled that you'll wonder if it was worth it.