Mac OS X Programming读书笔记1 - 系统架构

Chapter 1 System Components and Programming Technologies

1.    Mac OS X Introduction

Mac OS XApple最新一代的操作系统,基于UNIX,最显著的特点是有着极其漂亮的界面,称之为Aqua

2.    Mac OS X Architecture

Mac OS X的架构图:

2.1 User Interface用户界面层

1.     AquaMac 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 9Mac OS X替换了Mac OS 9的硬件抽象层,使之将请求传递给Mac OS X本身执行。

2.2.2 Carbon

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

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

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

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

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

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

2.2.1 Cocoa

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

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

2.2.1 Java

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

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比较类似WindowsUser32.dll

2.3.2 Quick Draw

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

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

3.     Quick Draw比较类似WindowsGDI/GDI+

2.3.3 OpenGL

Open GLMac 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.     MachMac OS X的核心,是在老的MachMkLinux, Mac OS X Server, Next OS等基础上面修改而来的

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

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

4.     Mach调度的单位是线程

2.5.2 BSD

1.     Mac OS XMach内核的基础上实现了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)

 

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值