您好,欢迎光临有路网!
现代体系结构上的UNIX系统:内核程序员的SMP
QQ咨询:
有路璐璐:

现代体系结构上的UNIX系统:内核程序员的SMP

  • 作者:[美]希梅尔 张辉
  • 出版社:人民邮电出版社
  • ISBN:9787115108760
  • 出版日期:2003年04月01日
  • 页数:289
  • 定价:¥39.00
  • 分享领佣金
    手机购买
    城市
    店铺名称
    店主联系方式
    店铺售价
    库存
    店铺得分/总交易量
    发布时间
    操作

    新书比价

    网站名称
    书名
    售价
    优惠
    操作

    图书详情

    内容提要
    本书首先回顾了与全书其他内容切实相关的UNIX系统内幕。回顾的目的是增进读者对UNIX操作系统概念的了解,并且定义随后使用的术语。本书接下来的内容分为3个部分。**部分“高速缓存存储系统”介绍了高速缓存体系结构、术语和概念,详细考察了4种常见的高速缓存实现——3种虚拟高速缓存的变体和物理高速缓存。第二部分“多处理机系统”讨论了调整单处理机内核的实现,使之适合于紧密耦合、共享存储多处理机上运行时所面临的问题和设计事宜,还研究了几种不同的实现。*后一部分介绍多处理机高速缓存一致性,这一部分通过研究高速缓存加入到一个紧密耦合、共享存储器多处理机系统时出现在操作系统和高速缓存体系结构上的问题,从而将前两个部分的内容结合到一起。
    本书适合于大学计算机及相关专业高年级本科生或者研究生使用。每一章都包含有一组练习题,问题都需要采用这一章所提供的信息以及一些额外学到的知识来解答,习题大都建立在这一章中所出现的例子的基础之上。在本书的末尾有选择地给出了习题的答案。
    目录
    第1章 回顾UNIX内核原理 1
    1.1 引言 1
    1.2 进程、程序和线程 2
    1.3 进程地址空间 4
    1.3.1 地址空间映射 5
    1.4 现场切换 6
    1.5 存储管理和进程管理的系统调用 7
    1.5.1 系统调用fork 7
    1.5.2 系统调用exec 9
    1.5.3 系统调用exit 10
    1.5.4 系统调用sbrk和brk 10
    1.5.5 共享存储 10
    1.5.6 输入输出操作 11
    1.5.7 映射文件 11
    1.6 小结 11
    1.7 习题 12
    1.8 进一步的读物 13
    **部分 高速缓存存储系统
    第2章 高速缓存存储系统概述 17
    2.1 存储器层次结构 17
    2.2 高速缓存基本原理 19
    2.2.1 如何存取高速缓存 19
    2.2.2 虚拟地址还是物理地址 21
    2.2.3 搜索高速缓存 21
    2.2.4 替换策略 22
    2.2.5 写入策略 22
    2.3 直接映射高速缓存 25
    2.3.1 直接映射高速缓存的散列算法 26
    2.3.2 直接映射高速缓存的实例 28
    2.3.3 直接映射高速缓存的缺失处理和替换策略 30
    2.3.4 直接映射高速缓存的总结 31
    2.4 双路组相联高速缓存 32
    2.4.1 双路组相联高速缓存的总结 33
    2.5 n路组相联高速缓存 34
    2.6 全相联高速缓存 34
    2.7 n路组相联高速缓存的总结 35
    2.8 高速缓存冲洗 35
    2.9 无高速缓存操作 36
    2.10 独立的指令高速缓存和数据高速缓存 37
    2.11 高速缓存的性能 38
    2.12 如何区分不同的高速缓存结构 39
    2.13 习题 40
    2.14 进一步的读物 42
    第3章 虚拟高速缓存 45
    3.1 虚拟高速缓存的操作 45
    3.2 虚拟高速缓存的问题 47
    3.2.1 歧义 47
    3.2.2 别名 48
    3.3 管理虚拟高速缓存 51
    3.3.1 现场切换 51
    3.3.2 fork 52
    3.3.3 exec 54
    3.3.4 exit 54
    3.3.5 brk和sbrk 55
    3.3.6 共享存储器和映射文件 55
    3.3.7 输入输出 56
    3.3.8 用户-内核数据的歧义 59
    3.4 小结 60
    3.5 习题 60
    3.6 进一步的读物 62
    第4章 带有键的虚拟高速缓存 63
    4.1 带有键的虚拟高速缓存的操作 63
    4.2 管理带有键的虚拟高速缓存 64
    4.2.1 现场切换 64
    4.2.2 fork 65
    4.2.3 exec 67
    4.2.4 exit 68
    4.2.5 brk和sbrk 68
    4.2.6 共享存储和映射文件 68
    4.2.7 输入输出 71
    4.2.8 用户-内核数据的歧义 71
    4.3 在MMU中使用虚拟高速缓存 71
    4.4 小结 72
    4.5 习题 73
    4.6 进一步的读物 74
    第5章 带有物理地址标记的虚拟高速缓存 75
    5.1 带有物理标记的虚拟高速缓存的组成 75
    5.2 管理带有物理标记的虚拟高速缓存 78
    5.2.1 现场切换 78
    5.2.2 fork 78
    5.2.3 exec 79
    5.2.4 exit 79
    5.2.5 brk和sbrk 80
    5.2.6 共享存储和映射文件 80
    5.2.7 输入输出 80
    5.2.8 用户-内核数据的歧义 80
    5.3 小结 81
    5.4 习题 81
    5.5 进一步的读物 82
    第6章 物理高速缓存 83
    6.1 物理高速缓存的组成 83
    6.2 管理物理高速缓存 85
    6.2.1 现场切换 85
    6.2.2 fork 85
    6.2.3 exec、exit、brk和sbrk 85
    6.2.4 共享存储和映射文件 86
    6.2.5 用户-内核数据的歧义 86
    6.2.6 输入输出和总线监视 86
    6.3 多级高速缓存 91
    6.3.1 带有次级物理高速缓存的主虚拟高速缓存 92
    6.3.2 带有物理标记的主虚拟高速缓存和次级物理高速缓存 93
    6.4 小结 95
    6.5 习题 95
    6.6 进一步的读物 96
    第7章 **的高速缓存管理技术 98
    7.1 引言 98
    7.2 地址空间布局 98
    7.2.1 虚拟索引的高速缓存 98
    7.2.2 动态地址绑定 101
    7.2.3 物理索引高速缓存 103
    7.3 受限于高速缓存大小的冲洗操作 104
    7.4 滞后的高速缓存无效操作 104
    7.4.1 带有键的虚拟高速缓存 105
    7.4.2 没有总线监视机制的物理标记高速缓存 106
    7.5 按高速缓存对齐数据结构 106
    7.6 小结 108
    7.7 习题 109
    7.8 进一步的读物 110
    第二部分 多处理机系统
    第8章 多处理机系统概述 113
    8.1 引言 113
    8.1.1 MP操作系统 114
    8.2 紧密耦合、共享存储的对称多处理机 115
    8.3 MP存储器模型 116
    8.3.1 顺序存储模型 117
    8.3.2 原子读和原子写 117
    8.3.3 原子读-改-写操作 119
    8.4 互斥 121
    8.5 回顾单处理机Unix系统上的互斥 123
    8.5.1 短期互斥 123
    8.5.2 和中断处理程序的互斥 123
    8.5.3 长期互斥 124
    8.6 在MP上使用UP互斥策略的问题 126
    8.7 小结 127
    8.8 习题 128
    8.9 进一步的读物 130
    第9章 主从处理机内核 132
    9.1 引言 132
    9.2 自旋锁 133
    9.3 死锁 134
    9.4 主从处理机内核的实现 136
    9.4.1 运行队列的实现 136
    9.4.2 从处理器的进程选择 139
    9.4.3 主处理器的进程选择 140
    9.4.4 时钟中断处理 140
    9.5 性能考虑 141
    9.5.1 主从处理机内核的改进 142
    9.6 小结 142
    9.7 习题 143
    9.8 进一步的读物 145
    第10章 采用自旋锁的内核 147
    10.1 引言 147
    10.2 巨型上锁 147
    10.3 不需要上锁的多线程情况 149
    10.4 粗粒度上锁 150
    10.5 细粒度上锁 152
    10.5.1 短期互斥 152
    10.5.2 长期互斥 153
    10.5.3 和中断处理程序的互斥 154
    10.5.4 锁的粒度 155
    10.5.5 性能 156
    10.5.6 内核抢先 157
    10.6 sleep和wakeup对多处理机的影响 157
    10.7 小结 158
    10.8 习题 159
    10.9 进一步的读物 162
    第11章 采用信号量的内核 164
    11.1 引言 164
    11.1.1 采用信号量的互斥 165
    11.1.2 采用信号量的同步 165
    11.1.3 采用信号量分配资源 166
    11.2 死锁 166
    11.3 实现信号量 167
    11.4 粗粒度信号量的实现 170
    11.5 采用信号量的多线程 171
    11.5.1 长期互斥 171
    11.5.2 短期互斥 172
    11.5.3 同步 172
    11.6 性能考虑 173
    11.6.1 测量锁争用 173
    11.6.2 结对 174
    11.6.3 多读锁 176
    11.7 小结 180
    11.8 习题 180
    11.9 进一步的读物 181
    第12章 其他MP原语 184
    12.1 引言 184
    12.2 管程 184
    12.3 事件计数和定序器 186
    12.4 SVR4.2 MP的MP原语 188
    12.4.1 自旋锁 188
    12.4.2 睡眠锁 190
    12.4.3 同步变量 191
    12.4.4 多读锁 193
    12.5 比较MP同步原语 194
    12.6 小结 196
    12.7 习题 197
    12.8 进一步的读物 197
    第13章 其他存储模型 200
    13.1 引言 200
    13.2 Dekker算法 201
    13.3 其他存储模型 202
    13.4 TSO 204
    13.5 PSO 208
    13.6 作为存储层次结构一部分的store缓冲 210
    13.7 小结 210
    13.8 习题 211
    13.9 进一步的读物 211
    第三部分 带有高速缓存的多处理机系统
    第14章 MP高速缓存一致性概述 217
    14.1 引言 217
    14.2 高速缓存一致性问题 219
    14.3 软件高速缓存一致性 221
    14.3.1 共享数据不被高速缓存 222
    14.3.2 有选择性地冲洗高速缓存 224
    14.3.3 处理其他存储模型 227
    14.4 小结 227
    14.5 习题 228
    14.6 进一步的读物 229
    第15章 硬件高速缓存一致性 233
    15.1 引言 233
    15.2 写-使无效协议 235
    15.2.1 写直通-使无效协议 235
    15.2.2 写一次协议 236
    15.2.3 MESI协议 238
    15.3 写-更新协议 239
    15.3.1 Firefly协议 239
    15.3.2 MIPS R4000 更新协议 240
    15.4 读-改-写操作的一致性 240
    15.5 多级高速缓存的硬件一致性 242
    15.6 其他主要的存储体系结构 243
    15.6.1 交叉开关互连 243
    15.6.2 基于目录的硬件高速缓存一致性 245
    15.7 对软件的影响 246
    15.8 非顺序存储模型的硬件一致性 248
    15.9 软件的性能考虑 249
    15.9.1 数据结构在高速缓存内对齐 249
    15.9.2 在获得自旋锁时减少对高速缓存行的争用 250
    15.9.3 一致性协议与数据用途相匹配 251
    15.10 小结 252
    15.11 习题 253
    15.12 进一步的读物 254
    附录A 体系结构汇总 259
    附录B 部分习题的答案 265

    与描述相符

    100

    北京 天津 河北 山西 内蒙古 辽宁 吉林 黑龙江 上海 江苏 浙江 安徽 福建 江西 山东 河南 湖北 湖南 广东 广西 海南 重庆 四川 贵州 云南 西藏 陕西 甘肃 青海 宁夏 新疆 台湾 香港 澳门 海外