some general questions about the Mac OS X architecture.
I know roughly what the Objective C 2.0 Runtime does. (e.g. class loading, message dispatching, etc.)
However, I don’t know where the runtime fits in the scheme of things, from the kernel up to individual processes.
-
I believe it is a library, but what process is responsible for loading this library and running it?
-
Is there one instance of the runtime operating at any one time on a system? Or several? (Is it per-process?)
-
Is this architecture fundamentally the same (in terms of overall design) in iOS?
thanks.
The runtime code are all in
libobjc.A.dylib. It works like a normal dynamic library, so it is loaded 1 time per process.