IA-64 Linux内核设计与实现PDF电子书下载
- 电子书积分:14 积分如何计算积分?
- 作 者:(美)David Mosberger,(美)Stephane Eranian著;梁金昆等译
- 出 版 社:北京:清华大学出版社
- 出版年份:2004
- ISBN:7302096104
- 页数:414 页
目录 1
第1章 引言 1
1.1 微处理器:从CISC到EPIC 1
1.1.1 微处理器分类小结 3
1.1.2 IA-64的架构和安腾 3
1.2 Linux简史 4
1.2.1 早期发展 4
1.2.2 分支发展:Linux走向多平台 6
1.2.3 IA-64 Linux 6
1.2.4 Linux发展史小结 7
1.3 Linux内核概述 7
1.3.1 主要概念 8
1.3.2 硬件模型 16
1.3.3 内核组件 17
1.3.4 内核源码 21
1.4 小结 23
第2章 IA-64架构 24
2.1 用户级指令集的架构 25
2.1.1 指令格式 25
2.1.2 指令顺序化 27
2.1.3 寄存器组 28
2.1.4 指令集概述 33
2.1.5 整型数与SIMD指令 34
2.1.6 内存/信号量指令 35
2.1.7 分支指令 37
2.1.8 与寄存器堆栈有关的指令 39
2.1.10 浮点型指令 42
2.1.11 模调度循环 42
2.1.9 控制指令 42
2.2 运行时/软件规范 45
2.2.1 数据模型 45
2.2.2 寄存器用法 46
2.2.3 过程链接 48
2.2.4 内存堆栈 49
2.2.5 寄存器堆栈 50
2.2.6 全局指针 50
2.2.7 IA-64汇编语言编程 52
2.3 系统指令集架构 55
2.3.1 系统寄存器组 55
2.3.2 特权指令 59
2.3.3 中断 60
2.4 寄存器堆栈引擎 63
2.4.1 寄存器堆栈配置寄存器 64
2.4.2 处理NaT位 65
2.4..3 RSE算术 66
2.4.4 RSE算术辅助例程 68
2.4.5 影响RSE的指令 68
2.5 小结 70
第3章 进程、任务和线程 71
3.1 Linux任务 72
3.1.1 创建任务 74
3.1.2 历史的观点 76
3.2 线程接口 77
3.2.1 pt_regs结构 78
3.2.2 switch_stack结构 79
3.2.3 线程结构 81
3.2.4 IA-64寄存器堆栈 83
3.2.5 IA-64线程状态小结 84
3.2.6 运行线程 85
3.2.7 创建线程 89
3.2.8 终止线程 94
3.2.9 跨地址空间边界移动线程 95
3.3 线程同步 97
3.3.1 并发模式 97
3.3.2 原子操作 98
3.3.3 信号量 102
3.3.4 中断屏蔽 103
3.3.5 自旋锁 104
3.4 小结 106
第4章 虚拟内存 107
4.1 虚拟内存系统简介 107
4.1.1 虚拟地址到物理地址的转换 108
4.1.2 请求页面调度 109
4.1.3 页面调度和交换 110
4.1.4 保护 111
4.2 Linux进程的地址空间 112
4.2.1 用户地址空间 113
4.2.2 页表映射的内核段 117
4.2.3 一对一映射的内核段 118
4.2.4 IA-64地址空间的结构 121
4.3 页表 124
4.3.1 折叠页表层 126
4.3.2 虚拟映射的线性页表 127
4.3.3 Linux/ia64页表的结构 129
4.3.4 页表项 131
4.3.5 页表访问 138
4.3.6 页表目录的创建 141
4.4 旁路转换缓冲区 142
4.4.1 IA-64 TLB架构 144
4.4.2 TLB一致性的维护 149
4.4.3 迟缓的TLB清除 151
4.5 页面错误处理 153
4.5.1 示例:写时复制的工作原理 154
4.5.2 Linux页面错误处理程序 156
4.5.3 IA-64实现 157
4.6 内存一致性 164
4.6.1 Linux内核中的一致性维护 165
4.6.2 IA-64实现 167
4.7 切换地址空间 168
4.7.1 地址空间切换的接口 168
4.7.2 IA-64实现 169
4.8 讨论与总结 169
第5章 内核入口与出口 171
5.1.1 内核入口路径 172
5.1 中断 172
5.1.2 内核出口路径 173
5.1.3 讨论 174
5.1.4 IA-64实现 175
5.1.5 切换IA-64寄存器堆栈 177
5.2 系统调用 184
5.2.1 错误信号 185
5.2.2 重新启动系统调用执行 186
5.2.3 从内核调用系统调用 188
5.2.4 IA-64实现 188
5.3 信号 195
5.3.1 与信号有关的系统调用 196
5.3.2 信号递交 199
5.3.3 IA-64实现 202
5.4 内核存取用户内存 205
5.4.1 示例:gettimeofday()如何返回timeval结构 208
5.4.2 禁用合法性检测 209
5.4.3 IA-64实现 210
5.5 小结 214
第6章 栈展开 215
6.1 IA-64 ELF展开段 217
6.2 内核展开接口 218
6.2.1 管理展开表 218
6.2.2 遍历调用链 219
6.2.3 访问当前帧的CPU状态 220
6.2.4 展开接口的使用 222
6.3 在汇编代码中嵌入展开信息 225
6.3.1 区间指令 227
6.3.2 序言指令 228
6.3.3 过程体指令 230
6.3.4 通用指令 230
6.3.5 实例 231
6.4 实现方面 232
6.4.1 帧信息结构 232
6.4.2 展开描述符处理 234
6.4.3 展开脚本 235
6.4.4 迟缓初始化和脚本提示 238
6.4.5 综合考虑 238
6.5 小结 239
第7章 I/O设备 240
7.1 简介 240
7.1.1 现代计算机的结构 241
7.1.2 现代计算机上的I/O软件支持 242
7.2.1 内存映射I/O 243
7.2 编程I/O 243
7.2.2 端口I/O 247
7.3 直接内存访问 250
7.3.1 PCI DMA接口 252
7.3.2 示例:发送网络数据包 256
7.3.3 IA-64实现 257
7.4 设备中断 258
7.4.1 IA-64硬件中断架构 260
7.4.2 设备中断接口 265
7.4.3 中断处理 270
7.4.4 管理IA-64中断定向逻辑 271
7.5 小结 272
第8章 对称多处理 273
8.1 Linux中的多处理 273
8.2 Linux锁定 275
8.2.1 锁定规则 276
8.2.2 大内核锁 277
8.3 多处理机支持接口 279
8.3.1 支持实用工具 279
8.3.2 IA-64实现 282
8.4 CPU相关数据 286
8.4.1 错误共享 286
8.4.2 CPU相关数据的虚拟映射 288
8.5 挂钟时间维护 289
8.5.1 多处理机中的挂钟时间维护 289
8.5.2 同步MP机器上的周期计数器 290
8.6 小结 293
第9章 系统性能 294
9.1 IA-64性能监测单元概述 296
9.1.1 PMU寄存器组 296
9.1.2 控制监测 301
9.1.3 处理计数器溢出 303
9.2 扩展安腾PMU 303
9.2.1 安腾PMU的额外功能 304
9.2.2 安腾PMU寄存器组 304
9.2.3 安腾PMU事件 305
9.2.4 事件采样的硬件支持 306
9.2.5 事件地址寄存器 308
9.2.6 分支追踪缓冲区 312
9.2.7 其他特性 315
9.3 内核性能监测支持 317
9.3.1 perfmon接口 318
9.3.2 perfmon实现 324
9.3.3 perfmon接口应用示例 329
9.4 小结 331
第10章 启动 332
10.1 IA-64固件概述 333
10.1.1 处理器抽象层 333
10.1.2 系统抽象层 338
10.1.3 高级配置和电源接口 343
10.1.4 可扩展固件接口 346
10.2 启动装载程序 354
10.2.1 装载内核映像 354
10.2.2 装载初始RAM磁盘 356
10.2.3 装载FPSWA 356
10.2.4 收集启动参数 356
10.2.5 启动内核 357
10.3 内核初始化 358
10.3.1 引导接口 359
10.3.2 IA-64实现 362
10.4 小结 365
第11章 IA-32兼容性 366
11.1 对IA-32的架构支持 367
11.1.1 IA-32用户级机器状态 367
11.1.2 IA-32用户级机器状态与IA-64寄存器之间的映射 368
11.1.3 IA-32分段与内存寻址 370
11.1.4 IA-32与IA-64之间的控制权传递 372
11.2 Linux对IA-32应用程序的支持 373
11.2.1 IA-32任务的内核表示 374
11.2.2 模拟IA-32任务的地址空间 374
11.2.3 绝对文件系统路径 378
11.2.4 启动IA-32可执行程序 379
11.2.5 系统调用模拟 382
11.2.6 信号传递 390
11.2.7 访问I/O端口空间 391
11.3 小结 392
附录A IA-64 CPU模型 393
附录B 内核寄存器用法 394
附录C IA-64指令 395
C.1 整数指令 395
C.2 内存指令 397
C.3 信号量指令 397
C.4 分支指令 397
C.5 控制指令 398
C.6 多媒体指令 399
C.7 浮点指令 399
C.8 特权指令 401
附录D 安腾PMU事件 402
附录E 词汇表 406
参考文献 410
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《区块链DAPP开发入门、代码实现、场景应用》李万胜著 2019
- 《设计十六日 国内外美术院校报考攻略》沈海泯著 2018
- 《计算机辅助平面设计》吴轶博主编 2019
- 《高校转型发展系列教材 素描基础与设计》施猛责任编辑;(中国)魏伏一,徐红 2019
- 《景观艺术设计》林春水,马俊 2019
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《Cinema 4D电商美工与视觉设计案例教程》樊斌 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《SQL与关系数据库理论》(美)戴特(C.J.Date) 2019
- 《魔法销售台词》(美)埃尔默·惠勒著 2019
- 《看漫画学钢琴 技巧 3》高宁译;(日)川崎美雪 2019
- 《优势谈判 15周年经典版》(美)罗杰·道森 2018
- 《社会学与人类生活 社会问题解析 第11版》(美)James M. Henslin(詹姆斯·M. 汉斯林) 2019
- 《海明威书信集:1917-1961 下》(美)海明威(Ernest Hemingway)著;潘小松译 2019
- 《迁徙 默温自选诗集 上》(美)W.S.默温著;伽禾译 2020
- 《上帝的孤独者 下 托马斯·沃尔夫短篇小说集》(美)托马斯·沃尔夫著;刘积源译 2017
- 《巴黎永远没个完》(美)海明威著 2017
- 《剑桥国际英语写作教程 段落写作》(美)吉尔·辛格尔顿(Jill Shingleton)编著 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019