简介
本书从系统设计的角度,以一种面向实现的方法,详尽剖析Mac OS X内部工作原理的具体细节,揭示Mac OS X及其组件的核心体系结构和实现。全书共分12章和一个附录,通过丰富而详细的插图、函数调用图、加注释代码段和编程示例等,引领读者学习实用的知识和技能,加深对所学知识的理解,并在实践中加以运用。
目录
目录
第1章 Mac OS X起源 1
1.1 Apple对操作系统的探求 1
1.1.1 Star Trek 2
1.1.2 Raptor 2
1.1.3 NuKernel 3
1.1.4 TalOS 3
1.1.5 Copland 3
1.1.6 Gershwin 5
1.1.7 BeOS 5
1.1.8 A计划 6
1.2 NeXT篇章 7
1.2.1 NEXTSTEP 7
1.2.2 OpenStep 10
1.3 Mach因素 11
1.3.1 罗切斯特智能网关 11
1.3.2 Accent 12
1.3.3 Mach 13
1.3.4 MkLinux 16
1.3.5 音乐名称 17
1.4 战略 17
1.4.1 Mac OS 8和
Mac OS 9 18
1.4.2 Rhapsody 20
1.5 朝着Mac OS X前进 22
1.5.1 Mac OS X Server 1.x 23
1.5.2 Mac OS X Developer
Previews 23
1.5.3 Mac OS X Public Beta
版本 24
1.5.4 Mac OS X 10.x 25
第2章 Mac OS X概述 30
2.1 固件 31
2.2 引导加载程序 32
2.3 Darwin 32
2.3.1 Darwin程序包 32
2.3.2 Darwin的优点 33
2.3.3 Darwin和Mac OS X 33
2.4 xnu内核 33
2.4.1 Mach 34
2.4.2 BSD 35
2.4.3 I/O Kit 36
2.4.4 libkern库 37
2.4.5 libsa库 38
2.4.6 Platform Export 38
2.4.7 内核扩展 39
2.5 文件系统的用户空间视图 39
2.5.1 文件系统域 40
2.5.2 /System/Library/目录 40
2.6 运行时体系结构 42
2.6.1 Mach-O文件 43
2.6.2 胖二进制文件 45
2.6.3 链接 48
2.7 C库 52
2.8 捆绑组件和框架 54
2.8.1 捆绑组件 54
2.8.2 属性列表文件 58
2.8.3 框架 59
2.8.4 预绑定 62
2.9 Core Services 64
2.10 应用程序服务 65
2.10.1 图形和多媒体服务 65
2.10.2 其他应用程序服务 72
2.11 应用程序环境 73
2.11.1 BSD 73
2.11.2 X Window System 74
2.11.3 Carbon 74
2.11.4 Cocoa 76
2.11.5 WebObjects 81
2.11.6 Java 81
2.11.7 QuickTime 82
2.11.8 Classic 82
2.11.9 Rosetta 83
2.12 用户界面 84
2.12.1 可视化效果 84
2.12.2 与分辨率无关的
用户界面 85
2.12.3 效率特性 85
2.12.4 通用访问支持 86
2.13 编程 87
2.13.1 Xcode 87
2.13.2 编译器和库 89
2.13.3 解释器 89
2.13.4 工具 92
2.14 安全 94
2.14.1 内核空间的安全 95
2.14.2 用户空间的安全 96
2.14.3 系统管理 100
2.14.4 审计系统 103
2.15 Mac OS X Server 105
2.15.1 Xgrid 105
2.15.2 Xsan 108
2.16 网络 111
第3章 Apple内幕 112
3.1 Power Mac G5 113
3.1.1 U3H系统控制器 113
3.1.2 K2 I/O设备控制器 114
3.1.3 PCI-X和PCI
Express 115
3.1.4 HyperTransport 117
3.1.5 Elastic I/O互连 118
3.2 G5:血统和路线图 120
3.2.1 G5的基本方面 121
3.2.2 新一代POWER 122
3.2.3 PowerPC 970、970FX
和970MP 123
3.2.4 Intel Core Duo 125
3.3 PowerPC 970FX 125
3.3.1 基本知识 125
3.3.2 缓存 126
3.3.3 内存管理单元
(MMU) 130
3.3.4 各式各样的内部
缓冲区和队列 133
3.3.5 预取 134
3.3.6 寄存器 135
3.3.7 重命名寄存器 141
3.3.8 指令集 142
3.3.9 970FX核心 146
3.3.10 AltiVec 153
3.3.11 电源管理 158
3.3.12 64位体系结构 160
3.3.13 软补丁功能 161
3.4 软件约定 161
3.4.1 字节序 162
3.4.2 寄存器使用 163
3.4.3 栈使用 166
3.4.4 函数形参和返回值 172
3.5 示例 173
3.5.1 递归阶乘函数 174
3.5.2 原子式比较和存储
函数 177
3.5.3 函数重定向 179
3.5.4 970FX的周期精确
的模拟 188
第4章 固件和引导加载程序 193
4.1 简介 193
4.1.1 固件的种类 194
4.1.2 优先存储 194
4.2 全新的世界 195
4.2.1 “新”是好消息 196
4.2.2 现代的Boot ROM
(PowerPC) 197
4.3 上电复位 199
4.4 Open Firmware 199
4.4.1 与Open Firmware
交互 200
4.4.2 Open Firmware
仿真器 204
4.5 Forth 204
4.5.1 基本单元 204
4.5.2 栈 204
4.5.3 字 205
4.5.4 字典 206
4.5.5 调试 212
4.6 设备树 213
4.6.1 属性 216
4.6.2 方法 220
4.6.3 数据 220
4.7 Open Firmware接口 221
4.7.1 用户接口 222
4.7.2 客户接口 222
4.7.3 设备接口 222
4.8 编程示例 222
4.8.1 转储NVRAM内容 223
4.8.2 确定屏幕尺寸 224
4.8.3 处理颜色 224
4.8.4 绘制颜色填充的
矩形 225
4.8.5 创建“汉诺塔”问题
的动画式解决方案 226
4.8.6 创造和使用鼠标
指针 236
4.8.7 窃取字体 239
4.8.8 实现时钟 241
4.8.9 绘制图像 242
4.8.10 创建窗口 243
4.9 固件引导序列 244
4.9.1 脚本 246
4.9.2 锁键 246
4.10 BootX 247
4.10.1 文件格式 247
4.10.2 结构 249
4.10.3 操作 249
4.11 备用的引导方案 257
4.11.1 引导备用内核 257
4.11.2 从软件RAID设备
引导 259
4.11.3 通过网络引导 262
4.12 固件安全 264
4.12.1 管理固件安全 264
4.12.2 找回Open Firmware
密码 266
4.13 启动内核 266
4.14 BootCache优化 267
4.15 引导时的内核参数 268
4.16 EFI 273
4.16.1 遗留的伤痛 273
4.16.2 新的开始 275
4.16.3 EFI 276
4.16.4 EFI的抽样 278
4.16.5 EFI的好处 285
第5章 内核和用户级启动 287
5.1 安排内核执行 287
5.1.1 异常和异常矢量 288
5.1.2 内核符号 290
5.1.3 运行内核 291
5.2 低级处理器初始化 292
5.2.1 每个处理器的数据 292
5.2.2 复位类型 296
5.2.3 处理器类型 298
5.2.4 内存补丁 301
5.2.5 特定于处理器的
初始化 303
5.2.6 其他早期的初始化 304
5.3 高级处理器初始化 307
5.3.1 在虚拟内存之前 308
5.3.2 低级虚拟内存
初始化 311
5.3.3 在虚拟内存之后 316
5.4 Mach子系统初始化 320
5.4.1 调度器初始化 322
5.4.2 高级虚拟内存子系统
初始化 322
5.4.3 IPC初始化 327
5.4.4 完成VM和IPC
初始化 327
5.4.5 初始化其他的子系统 328
5.4.6 任务和线程 328
5.4.7 启动内核自举线程 329
5.5 *个线程 329
5.6 I/O Kit初始化 331
5.7 BSD初始化 338
5.7.1 其他的BSD初始化
(第1部分) 339
5.7.2 文件系统初始化 341
5.7.3 其他的BSD初始化
(第2部分) 342
5.7.4 网络子系统初始化 343
5.7.5 其他的BSD初始化
(第3部分) 346
5.7.6 挂接根文件系统 348
5.7.7 创建进程1 355
5.7.8 共享内存区域 357
5.8 启动*个用户空间的
程序 359
5.9 从处理器 360
5.10 用户级启动 362
5.10.1 launchd 362
5.10.2 多用户启动 374
5.10.3 单用户启动 382
5.10.4 安装启动 382
第6章 xnu内核 386
6.1 xnu源 386
6.2 Mach 391
6.2.1 内核基础 392
6.2.2 异常处理 396
6.3 Mach API的性质 397
6.3.1 显示主机信息 397
6.3.2 访问内核的时钟
服务 399
Mac OS X 技术内幕
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×