- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
OS X与iOS内核编程《OS X与iOS内核编程》基本信息原书名:OS X and iOS kernel programming作者: (澳)哈尔沃森(Halvorsen,O.H.) (澳)克拉克(Clarke,D.)译者: 贾伟丛书名: 图灵程序设计丛书出版社:人民邮电出版社ISBN:9787115318244上架时间:2013-5-16出版日期:2013 年6月开本:16开页码:1版次:1-1所属分类:计算机内容简介 计算机书籍 《os x与ios内核编程》面向mac os x 和ios 操作系统,介绍了操作系统和内核架构等基础知识,以及内存管理、线程同步、i/o kit 框架等基本概念。通过最贴近实战的方法帮助读者编写高效的内核级代码。本书两位作者具备丰富的计算机硬软件以及设备驱动程序开发经验,在他们的指引下,读者定能为usb 和thunderbolt 等设备开发设备驱动程序。 如果你对ios 和mac os x 操作系统感兴趣,关注内核开发实践,或者你是驱动程序开发人员,那么本书适合你阅读。 与传统的用户应用程序开发不同,内核环境更加复杂多变,任何问题都会严重影响系统的稳定性、安全性和性能,所以一定要确保内核代码中没有任何错误。本书介绍了非常实用的内核开发方法,是xnu内核开发者必备的“九阴真经”。 《os x与ios内核编程》两位作者都活跃在计算机软硬件以及驱动程序开发一线,具有丰富的实战经验。ole henry halvorsen是最早一批为usb 3.0和thunderbolt创建视频硬件设备的开发人员。douglas clarke具有15年以上的麦金塔计算机专业软硬件开发经验。本书汇集了两位作者多年的实战经验与智慧感悟,展现了一幅xnu内核编程与设备驱动程序开发的斑斓画卷。相信在作者循循善诱、通俗易懂的讲解下,读者定能为书中的精彩内容深深吸引,渐入化境,在不知不觉中炼就内核开发的绝世武功。 如果你对ios和mac os x操作系统感兴趣,关注内核开发,或者你本身就是驱动程序开发人员,那么如此精彩的一本好书绝对不容错过。目录《os x与ios内核编程》 第1章 操作系统原理 1 1.1 操作系统的作用 3 1.2 进程管理 3 1.3 进程地址空间 4 1.4 操作系统服务 5 1.5 虚拟内存 6 1.6 调度 8 1.7 硬件和驱动程序 9 1.8 小结 11 第2章 mac os x和ios 12 2.1 xnu内核 17 2.1.1 内核扩展(kext) 18 2.1.2 mach 18 2.1.3 bsd层 27 2.1.4 i/o kit 29 2.2 小结 31 第3章 xcode和内核开发环境 32 3.1 语言的选择:c++ 32 3.2 xcode 33 .3.3 “hello world”内核扩展 34 3.4 加载和卸载内核扩展 37 3.5 使用控制台查看输出 39 3.6 小结 40 第4章 i/o kit框架 41 4.1 i/o kit 模型 41 4.2 对象关系 43 4.3 info.plist文件 43 4.3.1 驱动程序类 46 4.3.2 ioregistryexplorer 50 4.4 内核库:libkern 52 4.4.1 osobject 52 4.4.2 容器类 54 4.5 小结 56 第5章 应用程序与驱动程序的交互 57 5.1 i/o kit框架 58 5.2 查找驱动程序 58 5.3 观察设备移除 63 5.4 修改设备驱动程序属性 65 5.5 基于状态的交互 68 5.6 驱动程序的通知 79 5.7 小结 83 第6章 内存管理 84 6.1 内存类型 84 6.1.1 cpu物理地址 85 6.1.2 总线物理地址 85 6.1.3 用户和内核虚拟地址 85 6.1.4 内存顺序:大端序和小端序 86 6.1.5 32位和64位内存寻址 87 6.2 内存分配 88 6.2.1 底层分配机制 89 6.2.2 mach内存域分配器 89 6.2.3 kalloc家族 89 6.2.4 bsd中的内存分配 90 6.2.5 i/o kit内存分配 91 6.2.6 使用c++的new操作符分配内存 92 6.3 内存描述符 92 6.3.1 iobuffermemorydescriptor 94 6.3.2 其他的内存描述符 95 6.4 映射内存 95 6.4.1 用户空间任务到内核空间的内存映射 95 6.4.2
文档评论(0)