| ▲ | erichocean 5 hours ago | |||||||
As I remember it, they were basically the same—but IOKit is C++ (with restrictions) because 3rd party developers didn't want to learn Objective-C. But that's a hazy, 20 year old memory. | ||||||||
| ▲ | spijdar an hour ago | parent | next [-] | |||||||
Yes, you're right! I'm just dolt who's never checked what a .kext on OS X actually is. I had been under the impression that DriverKit drivers were quite a different beast, but they're really not. Here's the layout of a NS ".config" bundle:
The driver itself is a Mach-O MH_OBJECT image, flagged with MH_NOUNDEFS. (except for the _reloc images, which are MH_PRELOAD. No clue how these two files relate/interact!)Now, on OS X:
OS X added a dedicated image type (MH_KEXT_BUNDLE) and they cleaned up a bit, standardized on plists instead of the "INI-esque" .table files, but yeah, basically the same. | ||||||||
| ▲ | steve1977 4 hours ago | parent | prev [-] | |||||||
From here: https://news.ycombinator.com/item?id=10006411 "At some stage in the future we may be able to move IOKit over to a good programming language" | ||||||||
| ||||||||