Practical Mobile Forensics(Third Edition)
上QQ阅读APP看书,第一时间看更新

The iOS architecture

iOS acts as an intermediary between the underlying hardware components and the applications that appear on the screen. The applications do not talk to the underlying hardware directly. Instead, they communicate through a well-defined system interface that protects the applications from hardware changes. This abstraction makes it easy to build applications that work on devices with different hardware capabilities.

The iOS architecture consists of four layers—the Cocoa Touch layer, Media layer, Core Services layer, and Core OS layer—as shown in the following figure. Each layer consists of several frameworks that help to build an application:

The iOS layers
  • The Cocoa Touch layer: The Cocoa Touch layer contains the key frameworks required to develop the visual interface for iOS applications. Frameworks in this layer provide the basic application infrastructure and support key technologies, such as multitasking, touch-based input, and many high-level system services.
  • The Media layer: The Media layer provides the graphics and audio and video frameworks to create the best multimedia experience available on a mobile device. The technologies in this layer help developers to build applications that look and sound great.
  • The Core Services layer: The Core Services layer provides the fundamental system services that are required for the applications. Not all of these services are used by developers, though many parts of the system are built on top of them. This layer contains technologies to support features such as location, iCloud, and social media.
  • The Core OS layer: The Core OS layer is the base layer and sits directly on top of the device hardware. This layer deals with low-level functionalities and provides services such as networking (BSD sockets), memory management, threading (POSIX threads), filesystem handling, external accessories access, and inter-process communication.