主页 详情

《OS X与IOS内核编程》_(澳)OleHenryHalvorsen,(澳)DouglasClarke;贾伟译者_13303738_9787115318244

【书名】:《OS X与IOS内核编程》
【作者】:(澳)OleHenryHalvorsen,(澳)DouglasClarke;贾伟译者
【出版社】:北京:人民邮电出版社
【时间】:2013
【页数】:388
【ISBN】:9787115318244
【SS码】:13303738

最新查询

内容简介

第1章 操作系统原理

1.1操作系统的作用

1.2进程管理

1.3进程地址空间

1.4操作系统服务

1.5虚拟内存

1.6调度

1.7硬件和驱动程序

1.8小结

第2章Mac OS X和iOS

2.1 XNU内核

2.1.1内核扩展(KEXT)

2.1.2 Mach

2.1.3 BSD层

2.1.4 I/O Kit

2.2小结

第3章Xcode和内核开发环境

3.1语言的选择:C++

3.2 Xcode

3.3 “Hello World”内核扩展

3.4加载和卸载内核扩展

3.5使用控制台查看输出

3.6小结

第4章I/O Kit框架

4.1 I/O Kit模型

4.2对象关系

4.3 Info.plist文件

4.3.1驱动程序类

4.3.2 IORegistryExplorer

4.4内核库:libkern

4.4.1 OSObject

4.4.2容器类

4.5小结

第5章 应用程序与驱动程序的交互

5.1 I/O Kit框架

5.2查找驱动程序

5.3观察设备移除

5.4修改设备驱动程序属性

5.5基于状态的交互

5.6驱动程序的通知

5.7小结

第6章 内存管理

6.1内存类型

6.1.1 CPU物理地址

6.1.2总线物理地址

6.1.3用户和内核虚拟地址

6.1.4内存顺序:大端序和小端序

6.1.5 32位和64位内存寻址

6.2内存分配

6.2.1底层分配机制

6.2.2 Mach内存域分配器

6.2.3 kalloc家族

6.2.4 BSD中的内存分

6.2.5 I/O Kit内存分配

6.2.6使用C++的new操作符分配内存

6.3内存描述符

6.3.1 IOBufferMemoryDescriptor

6.3.2其他的内存描述符

6.4映射内存

6.4.1用户空间任务到内核空间的内存映射

6.4.2IOMemoryMap类

6.4.3内核到用户空间任务的内存映射

6.4.4将内存映射到指定的用户空间任务

6.4.5物理地址映射

6.5小结

第7章 同步和线程

7.1同步原语

7.2原子操作

7.3锁

7.3.1自旋锁

7.3.2互斥

7.3.3条件变量

7.3.4读/写互斥

7.4同步异步事件:工作环

7.4.1 IOCommandGate

7.4.2定时器

7.4.3释放工作环

7.5内核线程

7.6小结

第8章USB

8.1 USB体系结构

8.1.1 USB传输速度

8.1.2主机控制器

8.1.3 USB协议

8.1.4端点

8.1.5 USB描述符

8.1.6 USB设备类

8.2 I/O Kit USB支持

8.2.1 USB设备和驱动程序处理

8.2.2加载USB驱动程序

8.2.3 USB Prober

8.2.4驱动程序示例:USB大容量存储器设备驱动程序

8.2.5驱动程序启动

8.2.6处理设备移除

8.2.7枚举接口

8.2.8枚举端点

8.2.9执行设备请求

8.2.10执行批量端点和中断端点的I/O

8.3小结

第9章PCI Express和Thunderbolt

9.1 I/O Kit中的PCI

9.1.1匹配和加载驱动程序

9.1.2驱动程序示例:一个简单的PCI驱动程序

9.1.3访问配置空间寄存器

9.1.4 PCI I/O内存区

9.1.5处理设备移除

9.2中断

9.2.1 I/O Kit中断机制

9.2.2注册接收中断

9.2.3启用MSI

9.2.4处理主中断

9.2.5处理二级中断

9.3直接内存访问

9.3.1将物理地址转换为总线地址

9.3.2为DMA准备内存

9.3.3建立分散/聚集列表

9.3.4IODMACommand类

94小结

第10章 电源管理

10.1响应电源状态改变

10.2请求电源状态改变

10.3处理设备空闲

10.4观察设备电源状态改变

10.5汇总

10.6小结

第11章 串行端口驱动程序

11.1 Mac OSX串行端口体系结构概览

11.2串行端口驱动程序

11.3实现IOSerialDriverSync类

11.4串行端口状态

11.5串行端口事件

11.6串行数据传输

11.7从用户空间访问串行端口

11.8小结

第12章 音频驱动程序

12.1数字音频和音频设备简介

12.2 Core Audio

12.3 I/O Kit音频支持

12.4实现一个音频驱动程序

12.4.1驱动程序和硬件初始化

12.4.2注册音频控制

12.4.3实现音频引擎

12.4.4 I/O引擎初始化

12.4.5其他的音频引擎功能

12.5小结

第13章 网络

13.1网络内核扩展

13.1.1内核控制KPI

13.1.2套接字过滤器

13.1.3因特网协议过滤器

13.1.4接口过滤器

13.2调试和测试网络扩展

13.3 I/O Kit中的网络

13.3.1构建简单以太网控制器驱动程序

13.3.2 MyEthernetDriver设计

13.3.3驱动程序初始化和启动

13.3.4介质和状态选择

13.3.5配置设备硬件地址

13.3.6启用和禁用设备

13.3.7传输网络分组

13.3.8接收分组

13.3.9对MyEthernetDriver进行测试

13.4小结

第14章 存储系统

14.1传输层驱动程序

14.2 IOBlockStorageDevice接口

14.3构建RAM磁盘设备

14.4分区规则

14.4.1实现一个示例分区规则

14.4.2媒介内容线索属性

14.5媒介过滤器驱动程序

14.5.1加密过滤器规则示例

14.5.2创建一个自定义GUID分区表

14.6小结

第15章 用户空间USB驱动程序

15.1背景

15.2 IOUSBLib框架

15.3处理异步操作

15.4 IOUSBDeviceInterface类

15.5 IOUSBInterfaceInterface类

15.5.1属性方法

15.5.2端点数据传输方法

15.5.3低延迟同步传输

15.6小结

第16章 调试

16.1常见的问题类型

16.2内核恐慌

16.3调试机制

16.3.1启动时修复崩溃

16.3.2采用IOLog()追踪

16.3.3输出栈跟踪

16.3.4通过FireWire远程跟踪

16.3.5远程内核核心转储

16.3.6 KDB

16.3.7通过以太网或FireWire使用GDB远程调试

16.3.8实时调试运行的内核

16.3.9使用虚拟机调试

16.3.10在内核中使用GDB调试

16.3.11使用Activity Monitor诊断挂起进程

16.3.12查找内存和资源泄漏

16.4小结

第17章 高级内核编程

17.1内核中的SSE和浮点

17.2多功能驱动程序

17.3编写I/O Kit族

17.4内核控制KPI

17.4.1内核控制注册

17.4.2客户端连接

17.4.3获取和设置选项

17.4.4从用户空间访问内核控制

17.5内核中的进程处理

17.6加载资源

17.7 KEXT资源之外的内容

17.8内核驱动程序通知

17.9小结

第18章 部署

18.1安装和加载内核扩展

18.2加载首选项和设置

18.3内核扩展的版本管理

18.4测试和品质保证

18.5打包KEXT和软件

18.5.1构建Hello World内核扩展安装包

18.5.2将内容添加至安装包

18.5.3配置安装包

18.5.4构建安装包

18.5.5卸载安装包

18.6小结

索引


书查询(www.shuchaxun.com)本网页唯一编码:
2bde3b1495a0f3754c7aed3597281c63#4ad1e9b3741189f47567232d465b9eb1#179379806#13303738_OS X与IOS内核编程.zip