Android Stack: From Source to Device
There are many variations of what the Android Stack looks like. Here's the one that I use to explain how the Android system gets built, from source code to the actual binaries on the device.
And a typical interaction among parts of the stack may look like this:
For more info, check out my video tutorial on Android Stack
Presentation by "Sasa" on Android Services Black Magic (http://www.youtube.com/watch?v=NgifNa7qD5s&hd=1) suggests that "System Services" are located in
/system/framework/services.jar where as the above diagram suggests that same are located in /system/app.
As far as my knowledge goes, system_server (native executable) resides in /system/bin, libsystem_server (shared library) resides in /system/lib and System Services reside in /system/framework/services.jar.
Can you please help clarify?
System services are all over the place, actually. Keep in mind there's the Java part, as well as the native libraries. Some are packaged as apps (NFC, for example). So, it's really on service by service basis. Sasa's talk goes into some of the more popular ones.
Hope this helps a bit!