Re: kernel's subcomponents
Re: kernel's subcomponents
- Subject: Re: kernel's subcomponents
- From: Dean Reece <email@hidden>
- Date: Wed, 3 Apr 2002 23:53:33 -0800
On Wednesday, April 3, 2002, at 11:34 PM, Rita wrote:
hi, sorry but I don't understand a thing:
MacOsX's kernel is composed of five components:
bsd,mach,iokit,networking, file system.
and why are there only four libraries with
CFBundleIdentifier:
com.apple.kernel.bsd
com.apple.kernel.mach
com.apple.kernel.iokit
com.apple.kernel.libkern?
what do they serve to? Each of them have specific
services..which ones?
Rita,
The "com.apple.kernel" identifier covers the entire kernel (all 4
subcomponents). The version of this identifier (and it's
backwards-compatibility version) is bumped with each new release, so if
you declare a dependency on this, your driver will only load on a single
release of Mac OS X / Darwin (whichever kernel matches the version you
asked for). This is not generally a good choice unless you really want
to lock the software into running on a single OS version.
The other four identifiers cover the major food groups of the Darwin
kernel. The exact list of which APIs go with which identifier isn't
available, but they pretty much map to the headers in Kernel.framework:
com.apple.kernel.iokit covers APIs in Kernel.framework/Headers/IOKit/*
com.apple.kernel. libkern covers APIs in
Kernel.framework/Headers/libkern/*
com.apple.kernel.mach covers APIs in Kernel.framework/Headers/mach/*
com.apple.kernel.bsd covers APIs in .../sys/*, .../net*/*, .../kern/*,
.../bsd/*, ../vfs/* and several more.
If you include a header from one of these places, you need to make sure
and list the associated identifier in your kext's OSBundleLibraries
property. We are working to make this more obvious (like, putting the
CFBundleIdentifer right in the headers or in readme files!) The general
rule is that I/O Kit drivers depend on: IOKit, Libkern, and one or more
IOKit families. Loadable filesystems and NKEs usually only depend on
bsd.
- Dean
_______________________________________________
darwin-kernel mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/darwin-kernel
Do not post admin requests to the list. They will be ignored.