4 ms·
More likely its that a "full" OS would at least be be aware of the heterogeneous elements. Then it could provide api's for negotiation between them, if not dire
by elcritch 5y ago
More likely its that a "full" OS would at least be be aware of the heterogeneous elements. Then it could provide api's for negotiation between them, if not directly providing a method to run them.
One method could be, say, extending microkernel capability systems to incorporate these remote processors. Or perhaps even the ability to provide WASM or ePBF control blocks to customize the power management system. Though its true that'd require more engineering resources.
Actually USB is somewhat like this in that there's a hardware api and spec that the OS knows about. Linux has troubles with even that in my experience (often requiring a reboot to fix.
- pas 5y agoMost of these components already provide all their functionality over SPI, I2C, PCI or whatever. Maybe, instead of opening up all that complexity, simply making better ways to fake a dumb component would be more effective. (That is with verified, memory safe parsers and API interfaces. Then it doesn't matter what other gunk it has behind that interface.) And this could be implemented as yet another managed layer between the main CPU that runs user space and the hardware SoC. (Basically a low-level "WAF".) Yeah, it's a herculean task, but at least we have access to the Linux drivers.