设为首页 收藏本站
查看: 1144|回复: 0

[经验分享] Mac OS X Programming- 系统架构(转)

[复制链接]

尚未签到

发表于 2015-12-30 11:35:23 | 显示全部楼层 |阅读模式
  Chapter 1 System Components and Programming Technologies
1.    Mac OS X Introduction
  Mac OS X是Apple最新一代的操作系统,基于UNIX,最显著的特点是有着极其漂亮的界面,称之为Aqua:
  
   DSC0000.jpg
  
2.    Mac OS X Architecture
  Mac OS X的架构图:
  
   DSC0001.jpg

2.1 User Interface – 用户界面层

  1.     Aqua是Mac OS X的用户界面

  2.     对于一般用户来说, Mac OS X = Aqua

  3.     Aqua界面可以用ResEdit / Interface Builder来创建

2.2 Application Environments – 应用程序环境层

  

2.2.1 Classic

  1.     Classic Environment是为了兼容Mac OS X以前的Mac OS 8/9而存在的

  2.     Classic Environment并非是Mac OS X模拟器。实际上,Mac OS X运行一个 虚拟机,启动一个基本上未作改变的Mac OS 9。Mac OS X替换了Mac OS 9的硬件抽象层,使之将请求传递给Mac OS X本身执行。

2.2.2 Carbon

  1.     Carbon是老版本的Mac OS的Macintosh Toolbox API经过删减增强而来,作者认为Carbon = A enhanced subset of Macintosh Toolbox API。

  2.     Carbon API很大程度上和老的Macintosh Toolbox API保持兼容,70%的API的Interface保持不变

  3.     同时,为了使用Mac OS X新加的功能,Apple往Carbon中加入了不少新的API

  4.     部分情况下,Mac OS X下的使用Carbon API的程序可以不加修改在Mac OS 8/9上面运行

  5.     Carbon API所写的老程序移植到Mac OS X会相对容易

  6.     Carbon API是为C设计的,并非面向对象。比较类似Windows API。C++也可以使用Carbon,其他的可以调用C函数的语言理论上都可以调用Carbon API

2.2.1 Cocoa

  1.     Cocoa是特别为Mac OS X设计的一套面向对象的Framework,因此无法在Mac OS 8/9上面运行

  2.     编写Cocoa程序的主要语言是Objective-C和Java,推荐使用Objective-C

2.2.1 Java

  1.     Mac OS X支持Java程序的执行,支持最新的JDK和VM

  2.     Java也可以用来编写Cocoa程序

2.2.1 BSD

  1.     BSD环境用于支持BSD工具和应用程序

  2.     Mac OS X支持整套BSD API

2.3 Application Services – 应用程序服务层

  

2.3.1 Quartz & Windows

  1.     Quartz实现2D绘图和窗口

  2.     Quartz是基于PDF的,因此Quartz支持自动PDF生成

  3.     Quartz的大部分不能直接用API访问

  4.     Quartz比较类似Windows的User32.dll

2.3.2 Quick Draw

  1.     Quick Draw是另外一套支持2D绘图的API

  2.     Quick Draw可以直接通过API调用大部分功能

  3.     Quick Draw比较类似Windows的GDI/GDI+

2.3.3 OpenGL

  Open GL是Mac OS X三维绘图的标准API。应该不用多介绍了吧。

2.3.4 Quick Time

  1.     Quick Time用于支持Mac OS X的多媒体功能

  2.     Quick Time功能可以通过API调用

2.3.5 Others

  1.     Process Manager提供对进程的管理

  2.     Event Manager提供对事件的管理

  3.     Clipboard提供对剪贴板的访问

2.4 Core Services – 核心服务层

2.4.1 Carbon Managers

  1.     大量系统服务以Managers的形式提供

  2.     File Manager提供对文件的访问

  3.     Text Encoding Conversion Manager提供对文本的操作

  4.     Memory Manager Utilities提供对内存的访问

  5.     Thread Manager提供对线程的访问

  6.     等等

2.4.2 Apple Events

  1.     Apple Events是应用程序之间互相通讯

  2.     应用程序之间可以互相发送Apple Events,并回复Apple Events

  3.     Apple Events的主要用途是供第三方程序使用来操作其他程序,如Apple Script

2.4.3 Open Transport

  OpenTransport提供对网络的访问和对协议的支持,如TCP/IP等

2.4.4 Core Foundation

  Core Foundation提供对一些非常基本的大部分程序都回用到的服务的支持,如日期操作,字符串操作等。

2.5 Kernel Environment – 内核层

  Apple的内核又称为Darwin

2.5.1 Mach

  1.     Mach是Mac OS X的核心,是在老的Mach,MkLinux, Mac OS X Server, Next OS等基础上面修改而来的

  2.     Mach是微内核架构(Micro-Kernel),而一般的Unix Kernel是monolithic kernel。

  3.     负责提供最基本的操作系统服务,如进程调度,IPC,SMP,虚拟内存管理等

  4.     Mach调度的单位是线程

2.5.2 BSD

  1.     Mac OS X在Mach内核的基础上实现了4.4 BSD内核

  2.     Mach有着部分没有实现的基本内核功能,这部分由BSD Kernel来实现,如I/O,文件系统,网络等

2.5.3 Networking

  1.     Mac OS X的网络基于4.4 BSD实现

  2.     支持TCP/IP协议栈,Sockets等

2.5.4 I/O Kit

  I/O Kit是用于编写Driver的一个面向对象的Framework

2.5.5 File System

  1.     Mac OS X支持以前的Mac OS所支持的HPS (Hierarchical Filing System Standard), HPS+文件系统

  2.     除此之外,Mac OS X还支持UFS(Unix File System), NFS(Network File System), ISO 9660(for CDROM)

http://page.renren.com/600423195/note/748005115?op=pre&curTime=1312769487000

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-158286-1-1.html 上篇帖子: iConvert Icons 图标转换生成利器,支持Windows, Mac OS X, Linux, iOS,和Android等系统 下篇帖子: 黑苹果Mac OS X 10.8.2 Mountain lion安装教程
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表