UNIX操作系统设计

UNIX操作系统设计
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] (Maurice J.Bach)
2019-06
版次: 1
ISBN: 9787115505231
定价: 99.00
装帧: 其他
开本: 16开
纸张: 胶版纸
页数: 385页
字数: 1千字
50人买过
  • 本书以UNIX系统为背景,全面、系统地介绍了UNIX操作系统内核的内部数据结构和算法。本书首先对系统内核结构做了简要介绍,然后分章节描述了文件系统、进程调度和存储管理,并在此基础上讨论了UNIX系统的问题,如驱动程序接口、进程间通信与网络等。在每章之后,还给出了大量富有启发性和实际意义的题目。 莫里斯·J. 巴赫(Maurice J.Bach)在AT&T公司贝尔实验室工作多年,对UNIX系统的设计思想有深刻了解,有讲授UNIX系统的丰富经验。 第 1章 系统概貌1

    1.1 历史 1

    1.2 系统结构 3

    1.3 用户看法 4

    1.3.1 文件系统 4

    1.3.2 处理环境 8

    1.3.3 构件原语 10

    1.4 操作系统服务 11

    1.5 关于硬件的假设 12

    1.5.1 中断与例外 13

    1.5.2 处理机执行级 13

    1.5.3 存储管理 14

    1.6 本章小结 14

    第 2章 内核导言 15

    2.1 UNIX操作系统的体系结构 15

    2.2 系统概念介绍 17

    2.2.1 文件子系统概貌 17

    2.2.2 进程 19

    2.3 内核数据结构 27

    2.4 系统管理 28

    2.5 本章小结 28

    2.6 习题 29

    第3章 数据缓冲区高速缓冲 30

    3.1 缓冲头部 30

    3.2 缓冲池的结构 32

    3.3 缓冲区的检索 33

    3.4 读磁盘块与写磁盘块 43

    3.5 高速缓冲的优点与缺点 45

    3.6 本章小结 46

    3.7 习题 47

    第4章 文件的内部表示 48

    4.1 索引节点 48

    4.1.1 定义 48

    4.1.2 对索引节点的存取 50

    4.1.3 释放索引节点 53

    4.2 正规文件的结构 53

    4.3 目录 58

    4.4 路径名到索引节点的转换 59

    4.5 超级块 61

    4.6 为新文件分配索引节点 62

    4.7 磁盘块的分配 68

    4.8 其他文件类型 71

    4.9 本章小结 71

    4.10 习题 72

    第5章 文件系统的系统调用 74

    5.1 系统调用open 75

    5.2 系统调用read 78

    5.3 系统调用write 82

    5.4 文件和记录的上锁 83

    5.5 文件的输入/输出位置的调整—lseek 83

    5.6 系统调用close 84

    5.7 文件的建立 86

    5.8 特殊文件的建立 87

    5.9 改变目录及根 88

    5.10 改变所有者及许可权方式 90

    5.11 系统调用stat和fstat 90

    5.12 管道 90

    5.12.1 系统调用pipe 91

    5.12.2 有名管道的打开 92

    5.12.3 管道的读和写 92

    5.12.4 管道的关闭 94

    5.12.5 例 95

    5.13 系统调用dup 95

    5.14 文件系统的安装和拆卸 97

    5.14.1 在文件路径名中跨越安装点 100

    5.14.2 文件系统的拆卸 103

    5.15 系统调用link 104

    5.16 系统调用unlink 108

    5.16.1 文件系统的一致性 109

    5.16.2 竞争条件 110

    5.17 文件系统的抽象 113

    5.18 文件系统维护 114

    5.19 本章小结 116

    5.20 习题 116

    第6章 进程结构 121

    6.1 进程的状态和状态的转换 121

    6.2 系统存储方案 125

    6.2.1 区 125

    6.2.2 页和页表 126

    6.2.3 内核的安排 128

    6.2.4 u区 130

    6.3 进程的上下文 131

    6.4 进程上下文的保存 133

    6.4.1 中断和例外 133

    6.4.2 系统调用的接口 136

    6.4.3 上下文切换 139

    6.4.4 为废弃返回(abortive return)而保存上下文 140

    6.4.5 在系统和用户地址空间之间拷贝数据 141

    6.5 进程地址空间的管理 141

    6.5.1 区的上锁和解锁 142

    6.5.2 区的分配 142

    6.5.3 区附接到进程 143

    6.5.4 区大小的改变 144

    6.5.5 区的装入 146

    6.5.6 区的释放 148

    6.5.7 区与进程的断接 148

    6.5.8 区的复制 150

    6.6 睡眠 151

    6.6.1 睡眠事件及其地址 151

    6.6.2 算法sleep和wakeup 152

    6.7 本章小结 156

    6.8 习题 156

    第7章 进程控制 159

    7.1 进程的创建 159

    7.2 软中断信号 166

    7.2.1 软中断信号的处理 169

    7.2.2 进程组 175

    7.2.3 从进程发送软中断信号 175

    7.3 进程的终止 176

    7.4 等待进程的终止 178

    7.5 对其他程序的引用 181

    7.6 进程的用户标识号 188

    7.7 改变进程的大小 191

    7.8 shell程序 193

    7.9 系统自举和进程init 195

    7.10 本章小结 198

    7.11 习题 199

    第8章 进程调度和时间 206

    8.1 进程调度 206

    8.1.1 算法 206

    8.1.2 调度参数 207

    8.1.3 进程调度的例子 210

    8.1.4 进程优先权的控制 212

    8.1.5 公平共享调度 213

    8.1.6 实时处理 214

    8.2 有关时间的系统调用 215

    8.3 时钟 218

    8.3.1 重新启动时钟 218

    8.3.2 系统的内部定时 218

    8.3.3 直方图分析 220

    8.3.4 记帐和统计 223

    8.3.5 计时 223

    8.4 本章小结 224

    8.5 习题 224

    第9章 存储管理策略 226

    9.1 对换 226

    9.1.1 对换空间的分配 226

    9.1.2 进程的换出 229

    9.1.3 进程的换入 232

    9.2 请求调页 236

    9.2.1 请求调页的数据结构 238

    9.2.2 偷页进程 243

    9.2.3 页面错 246

    9.2.4 在简单硬件支持下的请求调页系统 253

    9.3 对换和请求调页的混合系统 254

    9.4 本章小结 254

    9.5 习题 255

    第 10章 输入/输出子系统 258

    10.1 驱动程序接口 258

    10.1.1 系统配置 259

    10.1.2 系统调用与驱动程序

    接口 261

    10.1.3 中断处理程序 267

    10.2 磁盘驱动程序 268

    10.3 终端驱动程序 271

    10.3.1 字符表clist 273

    10.3.2 标准方式下的终端驱动程序 276

    10.3.3 原始方式下的终端驱动程序 280

    10.3.4 终端探询 282

    10.3.5 建立控制终端 283

    10.3.6 间接终端驱动程序 283

    10.3.7 注册到系统 284

    10.4 流 285

    10.4.1 流的详细的示例 288

    10.4.2 对流的分析 290

    10.5 本章小结 291

    10.6 习题 291

    第 11章 进程间通信 294

    11.1 进程跟踪 294

    11.2 系统Ⅴ IPC 297

    11.2.1 消息 299

    11.2.2 共享存储区 304

    11.2.3 信号量 308

    11.2.4 总的评价 316

    11.3 网络通信 317

    11.4 套接字 318

    11.5 本章小结 322

    11.6 习题 323

    第 12章 多处理机系统 325

    12.1 多处理机系统的问题 325

    12.2 主从处理机解决方法 326

    12.3 信号量解决方法 328

    12.3.1 信号量定义 329

    12.3.2 信号置实现 329

    12.3.3 几个算法 336

    12.4 Tunis系统 340

    12.5 性能局限性 340

    12.6 习题 340

    第 13章 分布式UNIX系统 342

    13.1 卫星处理机系统 343

    13.2 纽卡斯尔连接 350

    13.3 透明型分布式文件系统 353

    13.4 无存根进程的透明分布式模型 356

    13.5 本章小结 357

    13.6 习题 358

    附录A 系统调用 361

    索引 377

    参考文献 382
  • 内容简介:
    本书以UNIX系统为背景,全面、系统地介绍了UNIX操作系统内核的内部数据结构和算法。本书首先对系统内核结构做了简要介绍,然后分章节描述了文件系统、进程调度和存储管理,并在此基础上讨论了UNIX系统的问题,如驱动程序接口、进程间通信与网络等。在每章之后,还给出了大量富有启发性和实际意义的题目。
  • 作者简介:
    莫里斯·J. 巴赫(Maurice J.Bach)在AT&T公司贝尔实验室工作多年,对UNIX系统的设计思想有深刻了解,有讲授UNIX系统的丰富经验。
  • 目录:
    第 1章 系统概貌1

    1.1 历史 1

    1.2 系统结构 3

    1.3 用户看法 4

    1.3.1 文件系统 4

    1.3.2 处理环境 8

    1.3.3 构件原语 10

    1.4 操作系统服务 11

    1.5 关于硬件的假设 12

    1.5.1 中断与例外 13

    1.5.2 处理机执行级 13

    1.5.3 存储管理 14

    1.6 本章小结 14

    第 2章 内核导言 15

    2.1 UNIX操作系统的体系结构 15

    2.2 系统概念介绍 17

    2.2.1 文件子系统概貌 17

    2.2.2 进程 19

    2.3 内核数据结构 27

    2.4 系统管理 28

    2.5 本章小结 28

    2.6 习题 29

    第3章 数据缓冲区高速缓冲 30

    3.1 缓冲头部 30

    3.2 缓冲池的结构 32

    3.3 缓冲区的检索 33

    3.4 读磁盘块与写磁盘块 43

    3.5 高速缓冲的优点与缺点 45

    3.6 本章小结 46

    3.7 习题 47

    第4章 文件的内部表示 48

    4.1 索引节点 48

    4.1.1 定义 48

    4.1.2 对索引节点的存取 50

    4.1.3 释放索引节点 53

    4.2 正规文件的结构 53

    4.3 目录 58

    4.4 路径名到索引节点的转换 59

    4.5 超级块 61

    4.6 为新文件分配索引节点 62

    4.7 磁盘块的分配 68

    4.8 其他文件类型 71

    4.9 本章小结 71

    4.10 习题 72

    第5章 文件系统的系统调用 74

    5.1 系统调用open 75

    5.2 系统调用read 78

    5.3 系统调用write 82

    5.4 文件和记录的上锁 83

    5.5 文件的输入/输出位置的调整—lseek 83

    5.6 系统调用close 84

    5.7 文件的建立 86

    5.8 特殊文件的建立 87

    5.9 改变目录及根 88

    5.10 改变所有者及许可权方式 90

    5.11 系统调用stat和fstat 90

    5.12 管道 90

    5.12.1 系统调用pipe 91

    5.12.2 有名管道的打开 92

    5.12.3 管道的读和写 92

    5.12.4 管道的关闭 94

    5.12.5 例 95

    5.13 系统调用dup 95

    5.14 文件系统的安装和拆卸 97

    5.14.1 在文件路径名中跨越安装点 100

    5.14.2 文件系统的拆卸 103

    5.15 系统调用link 104

    5.16 系统调用unlink 108

    5.16.1 文件系统的一致性 109

    5.16.2 竞争条件 110

    5.17 文件系统的抽象 113

    5.18 文件系统维护 114

    5.19 本章小结 116

    5.20 习题 116

    第6章 进程结构 121

    6.1 进程的状态和状态的转换 121

    6.2 系统存储方案 125

    6.2.1 区 125

    6.2.2 页和页表 126

    6.2.3 内核的安排 128

    6.2.4 u区 130

    6.3 进程的上下文 131

    6.4 进程上下文的保存 133

    6.4.1 中断和例外 133

    6.4.2 系统调用的接口 136

    6.4.3 上下文切换 139

    6.4.4 为废弃返回(abortive return)而保存上下文 140

    6.4.5 在系统和用户地址空间之间拷贝数据 141

    6.5 进程地址空间的管理 141

    6.5.1 区的上锁和解锁 142

    6.5.2 区的分配 142

    6.5.3 区附接到进程 143

    6.5.4 区大小的改变 144

    6.5.5 区的装入 146

    6.5.6 区的释放 148

    6.5.7 区与进程的断接 148

    6.5.8 区的复制 150

    6.6 睡眠 151

    6.6.1 睡眠事件及其地址 151

    6.6.2 算法sleep和wakeup 152

    6.7 本章小结 156

    6.8 习题 156

    第7章 进程控制 159

    7.1 进程的创建 159

    7.2 软中断信号 166

    7.2.1 软中断信号的处理 169

    7.2.2 进程组 175

    7.2.3 从进程发送软中断信号 175

    7.3 进程的终止 176

    7.4 等待进程的终止 178

    7.5 对其他程序的引用 181

    7.6 进程的用户标识号 188

    7.7 改变进程的大小 191

    7.8 shell程序 193

    7.9 系统自举和进程init 195

    7.10 本章小结 198

    7.11 习题 199

    第8章 进程调度和时间 206

    8.1 进程调度 206

    8.1.1 算法 206

    8.1.2 调度参数 207

    8.1.3 进程调度的例子 210

    8.1.4 进程优先权的控制 212

    8.1.5 公平共享调度 213

    8.1.6 实时处理 214

    8.2 有关时间的系统调用 215

    8.3 时钟 218

    8.3.1 重新启动时钟 218

    8.3.2 系统的内部定时 218

    8.3.3 直方图分析 220

    8.3.4 记帐和统计 223

    8.3.5 计时 223

    8.4 本章小结 224

    8.5 习题 224

    第9章 存储管理策略 226

    9.1 对换 226

    9.1.1 对换空间的分配 226

    9.1.2 进程的换出 229

    9.1.3 进程的换入 232

    9.2 请求调页 236

    9.2.1 请求调页的数据结构 238

    9.2.2 偷页进程 243

    9.2.3 页面错 246

    9.2.4 在简单硬件支持下的请求调页系统 253

    9.3 对换和请求调页的混合系统 254

    9.4 本章小结 254

    9.5 习题 255

    第 10章 输入/输出子系统 258

    10.1 驱动程序接口 258

    10.1.1 系统配置 259

    10.1.2 系统调用与驱动程序

    接口 261

    10.1.3 中断处理程序 267

    10.2 磁盘驱动程序 268

    10.3 终端驱动程序 271

    10.3.1 字符表clist 273

    10.3.2 标准方式下的终端驱动程序 276

    10.3.3 原始方式下的终端驱动程序 280

    10.3.4 终端探询 282

    10.3.5 建立控制终端 283

    10.3.6 间接终端驱动程序 283

    10.3.7 注册到系统 284

    10.4 流 285

    10.4.1 流的详细的示例 288

    10.4.2 对流的分析 290

    10.5 本章小结 291

    10.6 习题 291

    第 11章 进程间通信 294

    11.1 进程跟踪 294

    11.2 系统Ⅴ IPC 297

    11.2.1 消息 299

    11.2.2 共享存储区 304

    11.2.3 信号量 308

    11.2.4 总的评价 316

    11.3 网络通信 317

    11.4 套接字 318

    11.5 本章小结 322

    11.6 习题 323

    第 12章 多处理机系统 325

    12.1 多处理机系统的问题 325

    12.2 主从处理机解决方法 326

    12.3 信号量解决方法 328

    12.3.1 信号量定义 329

    12.3.2 信号置实现 329

    12.3.3 几个算法 336

    12.4 Tunis系统 340

    12.5 性能局限性 340

    12.6 习题 340

    第 13章 分布式UNIX系统 342

    13.1 卫星处理机系统 343

    13.2 纽卡斯尔连接 350

    13.3 透明型分布式文件系统 353

    13.4 无存根进程的透明分布式模型 356

    13.5 本章小结 357

    13.6 习题 358

    附录A 系统调用 361

    索引 377

    参考文献 382
查看详情
12
相关图书 / 更多
UNIX操作系统设计
UNDERORDERS.
Dick Francis 著
UNIX操作系统设计
UNIX网络编程卷2进程间通信第2版
[美]W.理查德·史蒂文斯(W.Richard Stevens) 著
UNIX操作系统设计
UNIX xv6内核源码深入剖析
高联雄
UNIX操作系统设计
UN维和步兵营
王昆 著
UNIX操作系统设计
UNIX/Linux系统管理技术手册(第5版)
[美]埃薇·内梅特(Evi Nemeth)、加思·斯奈德(Garth Snyder)、特伦特·R.海恩本·惠利(Trent,R.Hein) 译
UNIX操作系统设计
UNIX环境高级编程第3版英文版上下册
[美]W.理查德·史蒂文斯(W.、Richard、Stevens)史蒂芬·A.、拉戈(StephenA.Rago) 著
UNIX操作系统设计
UNESCO与中国教育:中国国际教育发展报告(2021)
四川外国语大学国际教育学院
UNIX操作系统设计
UNICEF (United Nations Children's Fund): Global Governance That Works
Richard Jolly
UNIX操作系统设计
UNIX环境高级编程第3版
拉戈( 著;[美]W.、理查德·史蒂文斯(W.、Richard、Stevens)史蒂芬·A.、戚正伟、张亚英、尤晋元 译
UNIX操作系统设计
UNITY应用开发实战案例
程明智
UNIX操作系统设计
UNIX传奇:历史与回忆
[美]布莱恩·W.克尼汉(Brian W. Kernighan)
UNIX操作系统设计
UNIX网络编程卷1套接字联网API第3版
[美]W.理查德·史蒂文斯(W.、Richard、Stevens)比尔·芬纳(比尔·芬纳(Bill,Fenner)、安德鲁·M. 著