在一个复杂的系统中,层次化设计可以说是非常基础和重要的。从认识一个系统的每个层次入手去学习一个系统,是一个非常不错的开始。(笔者著)
一、OS X系统的层次设计
简要说明:
1、Cocoa应用层(Cocoa Application)
提供用户界面接口。响应用户事件和管理应用行为。
2、媒体层(Media)
该层包括:播放、记录和编辑试听媒体的技术;渲染2D和3D图像的技术;
3、核心服务层(Core Services)
该层包括:基础服务;ARC(Automatic Reference Counting,一种对象自动释放机制);字符串处理和数据格式化的低层网络通信。
4、核心操作系统层(Core OS)
该层实现了和硬件与网络有关的接口,这包括在CPU和GPU上运行高性能计算任务的接口。
5、内核和设备驱动层(Kernel and Device Drivers)
顾名思义,该层就是一些内核和设备驱动。包括:Mach内核环境;设备驱动;BSD库函数(libSystem),和其他的低层组件。同时为一些叫低层提供支持,支持对象有文件系统、网络、安全、进程间通信、编程语言、设备驱动和内核扩充。
二、可以在Mac上创建很多不同类型的软件
我们最熟悉的就是应用程序,它只是软件中的一部分。
百度百科:应用程式是电脑软体的主要分类之一,是指为针对使用者的某种应用目的所撰写的软体。
Wikipedia:An application program (app or application for short) is a computer program designed to perform a group of coordinated functions, tasks, or activities for the benefit of the user.
简单地说就是为了应用目的而设计的软件。
例如:文档软件、电子表格软件、图像处理软件、记账软件、浏览器和媒体播放器等等。
(笔者著)
在Mac上可以制作的软件:
1、应用程序(Apps)
应用程序帮助用户完成很多任务,创建事物,管理数据或者是与他人分享快乐。OS X提供了很丰富的技术支持,例如一些应用扩展或者是 handoff(一个在苹果设备之间共享数据的技术)。这些技术能够帮助开发者扩展应用程序的功能,同时增强用户体验。
2、代码框架与库(Frameworks and libraries)
代码分享用的框架和库文件。
3、命令行工具和服务提供程序(Command-line tools and deamons)
命令行工具帮助经验丰富的用户在终端程序(Terminal app)的命令行环境中操作数据。
服务提供程序(deamons——deamon原意是古希腊神话中的半人半神的精灵,寓意是守护神)是一个一直在机器上运行的程序,该程序可以作为服务器处理客户端请求。
4、应用插件程序和可加载资源(App plug-ins and loadable bundles)
应用插件程序扩展了他人应用的功能。可加载资源是应用在运行时动态加载的代码和资源。
5、系统插件程序(System plug-ins)
系统插件程序扩展了系统功能。例如:音频装置、内核扩展、I/O组件驱动程序、控制面板(Preference Panes)、Spotlight内容提供者(Sptlight importers)、和屏幕保护程序(Screen Saver)。