iOS basics
To describe a bit of how iOS is organized, the following figure details four fundamental blocks. We can assume that Cocoa Touch and Media Layer execute mostly in user space, while Core Services and Core Os execute as privileged code. The communication messages between these two separated (unprivileged/privileged) memory zones are managed by intricate mechanisms, such as XPC and MIG.
Figure 10.1 – A diagram of the iOS operating system structure
The operating system components are detailed in the following list:
- Hardware: iOS runs on Apple’s mobile hardware devices.
- Mach-O: The Mach Object (Mach-O) file format is used by iOS and macOS to represent executable code and other object code formats, such as libraries, frameworks, and bundles. Every operating system needs to have an executable format and an Application Binary Interface (ABI) to compile, load and execute binaries. The equivalent in Linux is ELF, while PE is the...