图书介绍

IA-64 Linux内核设计与实现PDF|Epub|txt|kindle电子书版本网盘下载

IA-64 Linux内核设计与实现
  • (美)David Mosberger,(美)Stephane Eranian著;梁金昆等译 著
  • 出版社: 北京:清华大学出版社
  • ISBN:7302096104
  • 出版时间:2004
  • 标注页数:414页
  • 文件大小:56MB
  • 文件页数:434页
  • 主题词:Linux操作系统

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

IA-64 Linux内核设计与实现PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

目录1

第1章 引言1

1.1 微处理器:从CISC到EPIC1

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 Linux6

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/O243

7.2 编程I/O243

7.2.2 端口I/O247

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 扩展安腾PMU303

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 装载FPSWA356

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

热门推荐