5 ms·
Another point is that macOS and iOS are moving towards a user space driver stack and away from Kernel space.
by AlphaSite 7y ago
Another point is that macOS and iOS are moving towards a user space driver stack and away from Kernel space.
- snvzz 7y agoBecause, save few exceptions (e.g. timers, early debug serial...) running drivers in supervisor mode isn't very smart. Drivers tend to have high bug density, and supervisor mode means high potential for damage. Much can be mitigated by running drivers in userspace[0][1], especially with some IOMMU help. [0] https://www.cs.vu.nl/~herbertb/papers/minix3_dsn09.pdf https://www.cs.vu.nl/~herbertb/papers/minix3_dsn09.pdf [1] https://wiki.minix3.org/doku.php?id=www:documentation:reliability https://wiki.minix3.org/doku.php?id=www:documentation:reliab...
- pjmlp 7y agoAndroid and Windows as well.
- panpanna 7y agoLinux has been moving towards hybrid drivers for certain components for a while now. I think you can run large parts of the filesystem and network stack in user-land now.
- pjmlp 7y agoThere is a big difference is that the other OSes are doing it no matter how many pitchforks come into their way, while with Linux you need to find a security conscious distribution.
- Matthias247 7y agoI think it’s hard to say that without knowing what’s going on in that companies and how many internal disagreements had been there. And even if Apple now talks about user-Mode drivers - do we even know what percentage they aim for?
- pjmlp 7y agoYes we do, as they presented at WWDC, all of them. They are following a two release steps, in release N, the user space drivers for a specific class get introduced and the respective kernel APIs are automatically deprecated. In release N + 1, those deprecated APIs will be removed.