The implementation of Mac OS X can be viewed as a set of layers. At the lower layers of the system are the fundamental services on which all software relies. Subsequent layers contain more sophisticated services and technologies that build on (or complement) the layers below. figure 1-1 provides a graphical view of this layered approach,highlighting a few of the key technologies found in each layer of Mac OS X.
figure 1-1 Layers of Mac OS X
The bottom layer consists of the core environment layer,of which Darwin is the most significant component. Darwin is the name given to the FreeBSD environment that comprises the heart of Mac OS X. FreeBSD is a variant of the Berkeley Software distribution UNIX environment,which provides a secure and stable foundation for building software. Included in this layer are the kernel environment,device drivers,security support,interprocess communication support,and low-level commands and services used by all programs on the system. Besides Darwin,this layer contains several core services and technologies,many of which are simply higher-level wrappers for the data types and functions in the Darwin layer. Among the available core services are those for doing collection management,data formatting,memory management,string manipulation,process management,XML parsing,stream-based I/O,and low-level network communication. For details about the technologies in this layer,see “Darwin and Core Technologies.”
The Graphics and Media layer implements specialized services for playing audio and video and for rendering 2D and 3D graphics. One of the key technologies in this layer is Quartz,which provides the main rendering environment and window management support for Mac OS X applications. QuickTime is Apple’s technology for displaying video,audio,virtual reality,and other multimedia-related @R_408_4045@ion. Apple’s core technologies,including Core Image,Core Video,Core Animation,and Core Audio,provide advanced behavior for different types of media. OpenGL is an implementation of the industry-standard application programming interface (API) for rendering graphics and is used both as a standalone technology and as an underlying technology for accelerating all graphics operations. For details about the technologies in this layer,see “Graphics and Multimedia Technologies.”
The Application Frameworks layer embodies the technologies for building applications. At the heart of this layer are the basic environments used to develop applications: Cocoa,Carbon,Java,and others. Each environment is designed to provide a level of familiarity to certain types of developers. For example,Cocoa and Java provide object-oriented environments using the Objective-C and Java languages while Carbon provides a C-based environment. This layer also contains numerous supporting technologies,such as Core Data,Address Book,Image Services,Keychain Services,Launch Services,HTML rendering,and many others. These technologies provide advanced user features and can be used to shorten your overall development cycle. For details about the technologies in this layer,see “Application Technologies.”
The User Experience layer identifies the methodologies,technologies,and applications that make Mac OS X software unique. Apple provides countless technologies to implement the overall user experience. Many of these technologies simply work,but some require interactions with the software you create. Understanding what interactions are expected of your software can help you integrate it more smoothly into the Mac OS X ecosystem. For details about the technologies in this layer,see“User Experience.”
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。