Alexey,
To further clarify:
- Core Foundation: base libraries exposing a C API that implement strings, arrays, etc. Some free software/open source implementations: Apple's implementation, GNUstep's corebase
- Foundation: base libraries exposing an Objective-C API that implement strings, arrays, etc.. Some free software/open source implementations: Apple's implementation, GNUstep's base, Cocotron
- You can add (generally) add Core Foundation objects into Foundation's autorelease pool, and (mostly) send them certain Objective-C messages; that is, they pretend to be/are Objective-C objects
- objc_autorelease, based on its name, would exist in the Objective-C runtime (e.g. libobjc2), and it doesn't.
- objc_release is provided by the runtime for the sake of ARC, not because it is strictly necessary for an implementation of Foundation written in Objective-C.
HTH