Section 2.9. Core Services


2.9. Core Services

The Core Services layer implements various low-level features for use by higher layers. It can be visualized as sitting atop the kernel. Its most important constituents are the Core Foundation framework (CoreFoundation.framework) and the Core Services umbrella framework (CoreServices.framework). These frameworks contain critical nongraphical system services and APIs. For example, the Core Foundation framework includes APIs for basic data management. These APIs are C-based and are primarily meant for use by Carbon applications. However, other types of applications can indirectly use them. For example, the Cocoa framework links to the Foundation framework, which in turn links to the Core Foundation framework. In any case, Core Foundation data types may be seamlessly used with the Cocoa Foundation interfaces: Many Foundation classes are based on equivalent Core Foundation opaque types, allowing cast-conversion between compatible types.[36]

[36] Such cast-conversion between Foundation classes and Core Foundation opaque types is sometimes referred to as toll-free bridging.

Much of the exported kernel functionalityroughly equivalent to what is provided by commonly used BSD and Mach system callscan be accessed via the Core Services layer.


Examples of functionality contained in the Core Services layer include the following:

  • Core parts of Carbon, including legacy Carbon Managers[37] (CarbonCore. framework)

    [37] A Manager in Carbon is a set of one or more libraries defining a programming interface.

  • APIs for user-level networking, including support for various protocols and mechanisms such as HTTP, FTP, LDAP, SMTP, sockets, and Bonjour (CFNetwork.framework)

  • APIs for Open Transport, various hardware-related Carbon Managers, and access to system-related components such as disk partitions, power management information, sound, and system keychain (OSServices.framework)

  • APIs for indexing and searching text in multiple languages (SearchKit. framework)

  • APIs for using Web Services via SOAP[38] and XML-RPC (WebServicesCore.framework)

    [38] Simple Object Access Protocol.

  • APIs for the Spotlight search technology, including support for importing and querying metadata from the Spotlight metadata store (Metadata. framework)

  • Facilities for applications to access URLs, parse XML, create and manage a variety of data structures, and maintain property lists (CoreFoundation. framework).

The roots of searching technology in Mac OS X lie in Apple's Information Access Toolkitor V-Twin, as it was codenamed earlier. Various Apple applications that implement searching, such as the Address Book, Apple Help, the Finder, the Mail application, and Spotlight, all use the Search Kit framework in some way.





Mac OS X Internals. A Systems Approach
Mac OS X Internals: A Systems Approach
ISBN: 0321278542
EAN: 2147483647
Year: 2006
Pages: 161
Authors: Amit Singh

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net