图书介绍
系统编程与操作系统pdf电子书版本下载
- (美)D.M.Dhamdhere著;徐旭东等译 著
- 出版社: 北京:电子工业出版社
- ISBN:7505369059
- 出版时间:2001
- 标注页数:540页
- 文件大小:25MB
- 文件页数:565页
- 主题词:
PDF下载
下载说明
系统编程与操作系统PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一部分 系统编程 1
第1章 语言处理程序 1
1.1 引言 1
1.2 语言处理工作 4
1.2.1 程序生成 4
1.2.2 程序执行 6
1.3 语言处理的基础 7
1.3.1 简易的编译程序 10
1.4 语言规格基本说明 15
1.4.1 程序设计语言的语法 15
练习1.4 23
1.4.2 约束和约束时刻 23
1.5 语言处理程序开发工具 25
1.5.1 LEX 26
1.5.2 YACC 27
参考文献 28
第2章 语言处理程序的数据结构 31
2.1 查找型数据结构 32
2.1.1 表的组织 35
2.1.2 链表和树型结构组织形式 40
练习2.1 42
2.2 分配型数据结构 43
2.2.1 栈 43
2.2.2 堆 45
参考文献 47
3.1 扫描 49
第3章 扫描与分析 49
练习3.1 52
3.2 分析 53
3.2.1 自顶向下的分析 53
练习3.2.1 60
3.2.2 自底向上的分析 61
练习3.2 68
参考文献 69
第4章 汇编程序 71
4.1 汇编程序要素 71
4.1.1 汇编语言语句 72
4.2 简单的汇编模式 75
4.1.2 汇编程序的优点 75
4.3 汇编程序的遍扫描结构 77
4.4 两遍扫描汇编程序的设计 79
4.4.1 高级的汇编指示语句 79
练习4.4.1 81
4.4.2 汇编程序的第1遍扫描 81
4.4.3 中间代码形式 83
4.4.4 祈使语句的中间代码 84
4.4.5 说明语句与汇编程序指示语句的处理 86
练习4.4 88
4.4.6 汇编程序的第2遍扫描 88
4.4.7 列表和错误信息报告 89
练习 4.4.7 90
4.4.8 有关组织结构的一些话题 91
练习4.4.8 92
4.5 用于IBMPC机的单遍扫描汇编程序 92
4.5.1 Intel 8088微处理器的体系结构 92
4.5.2 Intel 8088的指令 94
4.5.3 Intel 8088汇编语言 97
4.5.4 单遍扫描汇编程序的问题 101
4.5.5 汇编程序设计 103
参考文献 108
第5章 宏与宏处理程序 111
5.1 宏定义与宏调用 111
5.2 宏扩展 112
5.3 嵌套的宏调用语句 116
5.4 高级宏设施 117
5.4.1 条件扩展 119
5.4.2 用于扩展时循环的其他设施 120
5.4.3 语义扩展 121
练习5.4 122
5.5 宏预处理程序的设计 122
5.5.1 设计概述 123
5.5.2 数据结构 124
5.5.3 宏定义的处理 128
5.5.4 宏扩展 129
5.5.5 嵌套的宏调用 131
练习5.5 133
5.5.6 宏-汇编程序的设计 134
练习5.5 135
参考文献 136
第6章 编译程序和解释程序 137
6.1 组成编译的各个方面 137
6.2 内存分配 140
6.2.1 静态和动态内存分配 140
6.2.2 体结构语言的内存分配 141
6.2.3 数组的分配与访问 149
练习6.2 152
6.3 表达式编译 153
6.3.1 一个用于表达式的代码生成器 153
练习6.3.1 159
6.3.2 表达式的中间代码 159
6.4 对控制结构的编译 163
练习6.3.2 163
练习6.4 169
6.5 代码优化 169
6.5.1 优化变换 170
6.5.2 局部优化 172
6.5.3 全局优化 175
练习6.5 179
6.6 解释程序 180
6.6.1 解释程序纵观 181
6.6.2 一个小(型)解释程序 181
6.6.3 解释程序与不纯解释程序 183
练习6.6 184
参考文献 185
第7章 连接程序 187
7.1 重定位和连接的概念 188
7.1.1 程序的重定位 188
7.1.2 连接 190
7.1.3 目标模块 191
7.2 连接程序的设计 192
7.2.1 段寻址的重定位和连接需求 192
7.2.2 重定位算法 194
7.2.3 连接需求 194
练习7.2 196
7.3 自(身)重定位程序 196
7.4 一个适用于MS DOS的连接程序 197
练习7.3 197
练习7.4 205
7.5 覆盖块的连接 207
练习7.5 209
7.6 装入程序 209
练习7.6 210
参考文献 210
第8章 软件工具 211
8.1 程序开发软件工具 211
8.1.1 程序设计和编码 212
8.1.2 程序输入和编辑 212
8.1.3 程序测试与调试 212
8.1.4 提高程序性能 215
8.1.6 设计软件工具 217
8.1.5 程序文档编制 217
8.2 编辑器 218
8.2.1 屏幕编辑器 218
8.2.2 文字处理器 219
8.2.3 结构编辑器 219
8.2.4 设计编辑器 219
8.3 调试监视程序 220
8.4 编程环境 221
练习8.4 223
8.5 用户界面 223
8.5.1 命令对话 224
8.5.4 用户界面的结构 225
8.5.2 数据的呈现 225
8.5.3 联机帮助 225
8.5.5 用户界面管理系统 226
练习8.5 227
参考文献 227
第二部分 操作系统 231
第9章 操作系统功能的演化 231
9.1 操作系统的功能 231
9.1.1 资源分配及相关功能 231
9.1.2 用户接口相关功能 233
9.2 操作系统功能演化 233
9.3 批处理系统 234
9.3.2 批监控程序的功能 235
9.3.1 用户服务 235
9.3.3 支持批处理的特殊特征 241
练习9.3 241
9.4 多道程序系统 241
9.4.1 多道程序管理的结构支持 243
9.4.2 用户服务 248
9.4.3 多道程序管理程序的功能 248
练习9.4 254
9.5 分时系统 255
9.5.1 调度 256
9.5.2 存储器管理 258
9.6 实时操作系统 259
练习9.5 259
练习9.6 261
9.7 操作系统结构 262
参考文献 265
第10章 进程 267
10.1 进程定义 267
练习10.1 268
10.2 进程控制 268
10.2.1 进程创立 268
10.2.2 进程状态 269
10.2.3 与进程相关的事件 270
10.2.4 进程控制块 270
10.2.5 进程调度 271
10.3 进程交互 272
10.2.6 进程终止 272
10.2.7 总结 272
10.3.1 同步控制 273
10.3.2 数据访问同步 274
10.3.3 进程间通信 275
练习10.3 276
10.4 实现进程交互 276
10.4.1 Fork-Join 277
10.4.2 Parbegin-Parend 277
10.4.3 Unix中的进程 278
10.5 线程 279
练习10.5 284
参考文献 284
11.1 调度策略 285
第11章 调度 285
11.1.1 非抢占调度 287
练习11.1.1 289
11.1.2 抢占调度 289
练习11.1.2 291
11.2 作业调度 291
11.3 进程调度 293
11.3.1 事件监视 294
11.3.2 进程调度机构 296
11.3.3 多道程序设计中的进程调度 297
11.3.4 分时系统中的进程调度 299
11.3.5 多级调度 300
11.4 Unix中的进程管理 302
练习11.3 302
练习11.4 303
11.5 多处理器操作系统中的调度 303
11.5.1 主-从配置 304
11.5.2 对称多处理器 305
练习11.5 305
参考文献 305
第12章 死锁 309
12.1 定义 309
12.2 建立资源状态模型 310
12.2.1 资源请求和分配图及等待图中的路径 312
12.3 处理死锁 313
12.2.2 死锁的条件 313
12.4 检测和解决死锁 318
12.4.1 死锁检测算法 319
12.4.2 死锁解决 320
12.5 避免死锁 321
12.5.1 所有的请求在一起提出 321
12.5.2 资源分级 322
12.5.3 银行家算法 322
12.6 死锁处理的混合方式 326
练习12.6 327
参考文献 328
第13章 进程同步 329
13.1 实现控制同步 329
13.2 临界区 331
练习13.1 331
13.2.1 临界段实现的特性 332
13.2.2 实现临界段的历史 332
13.2.3 用临界段实现进程同步 333
13.2.4 临界段的算法实现 334
练习13.2 338
13.3 经典的进程同步问题 339
13.3.1 有限长度缓冲区的生产者消费者问题 339
13.3.2 读者和写者 340
13.3.3 哲学家进餐 341
13.4 进程同步语言特征的演化 342
13.5 信号量 343
13.5.1 实现信号量 345
13.5.2 使用信号量的生产者消费者 346
13.5.3 使用信号量的读者和写者 347
练习13.5 349
13.6 临界区 350
13.7 条件临界区 352
练习13.7 354
13.8 管程 355
13.8.1 抽象 355
13.8.2 封装 357
13.8.3 管程特性 357
13.8.4 磁盘调度器:实例分析 361
练习13.8 363
13.9.1 Ada中的任务 364
13.9 Ada中的并行程序设计 364
13.9.2 Ada中的实时程序设计 366
练习13.9 369
参考文献 370
第14章 进程间通信 373
14.1 进程间消息 373
14.2 关于实现的问题 373
14.2.1 命名 374
14.2.2 消息传送协议 374
14.2.3 进程间消息的缓冲 376
14.2.4 进程间消息的传送 377
练习14.2 378
14.3.2 使用邮箱的好处 379
14.3.1 一个邮箱的实现 379
14.3 邮箱 379
练习14.3 381
14.4 UNIX环境下的进程间消息 381
练习14.4 382
14.5 MACH中的进程间消息 382
练习14.5 383
参考文献 383
第15章 存储器管理 385
15.1 内存分配的基础知识 386
15.1.1 内存重用 386
15.1.2 内存分配模型 391
15.2 连续内存分配 392
15.2.1 内存保护 393
15.2.2 程序重定位 394
15.2.3 内存碎片 395
15.2.4 程序初始装入 397
练习15.2 398
15.3 不连续内存分配 399
15.4 虚拟内存页式管理 401
15.4.1 页、页块和地址转换 401
15.4.2 请求分页式存储管理 403
15.4.3 分页硬件 406
练习15.4 411
15.4.4 分页软件 412
15.4.5 页面淘汰 414
15.4.6 控制程序的内存分配 419
15.4.7 页共享 421
练习15.4 422
15.4.8 Unix内存管理 423
15.5 虚拟内存段式管理 423
15.5.1 组织多段程序 424
15.5.2 管理物理内存 424
15.5.3 保护和共享 425
15.5.4 段页式 425
15.5.5 实例研究 426
练习15.5 428
参考文献 428
第16章 IO组织和IO编程 431
16.1 IO组织 432
16.2 IO设备 435
练习16.2 437
16.3 物理输入输出控制系统(PIOCS) 438
16.3.1 PIOCS的功能 439
16.3.2 PIOCS的数据结构 440
16.3.3 PIOCS功能的实现 441
16.3.4 设备驱动程序 446
练习16.3 448
16.4 基本文件组织 448
16.4.1 顺序文件组织 448
16.4.2 直接文件组织 448
16.4.3 索引顺序文件组织 449
16.5.1 记录的缓冲 450
练习16.4 450
16.5 高级IO程序设计 450
16.5.2 记录块 453
练习16.5 455
16.6 逻辑IOCS 456
16.6.1 LIOCS函数 456
16.6.2 LIOCS模块 457
16.6.3 LIOCS数据结构 458
16.6.4 LIOCS功能的实现 459
练习16.6 461
16.7 处理UNIX中的文件 462
练习16.7 463
参考文献 464
第17章 文件系统 465
17.1 目录结构 467
练习17.1 471
17.2 文件保护 471
17.3 分配磁盘空间 472
17.4 实现文件访问 473
17.4.1 打开文件时FS的活动 474
17.4.2 文件操作时的FCB的活动 475
17.4.3 FS在文件关闭时的活动 476
练习17.4 477
17.5 文件共享 477
17.6.1 FS完整性的丢失 479
17.6 文件系统的可靠性 479
17.6.2 FS可靠性技术 481
练习17.6 484
17.7 UNIX文件系统 484
练习17.7 486
参考文献 486
第18章 保护和安全 489
18.1 数据加密 489
18.1.1 对于加密系统的攻击 490
18.1.2 加密技术 490
18.2 保护和安全机制 491
18.2.1 保护机制 491
18.3 用户文件保护 492
18.3.1 加密用户文件中的数据 492
18.2.2 安全机制 492
18.3.2 用户文件的访问控制 493
18.3.3 用户的权限表(C-list) 495
18.4 权限 495
18.4.1 基于权限的计算机系统 496
18.4.2 对象的共享和保护 498
18.4.3 软件权限 500
参考文献 501
第19章 分布式操作系统 503
19.1 定义和例子 504
19.1.1 分布式系统模型 504
19.1.2 分布式操作系统的例子 505
19.2 分布式操作系统的设计问题 506
练习19.2 508
19.3 网络连接问题 508
19.3.1 网络拓扑结构 508
19.3.2 通信 508
19.3.3 交换策略 510
19.3.4 路由 510
19.4 通信协议 511
19.4.1 阻塞协议 511
19.4.2 非阻塞协议 512
19.4.3 远程过程调用 513
练习19.4 514
19.5 系统状态和事件前趋 514
19.5.1 系统状态 514
19.5.2 事件前趋 515
练习19.5 516
19.5.3 产生有用的时间戳 516
19.6 资源分配 517
19.7 分布式控制算法 518
19.7.1 理解分布式控制算法 518
19.7.2 分布式互斥算法 519
练习19.7 522
19.7.3 分布式死锁处理 522
练习19.7 525
19.8 文件系统 525
19.8.1 文件系统的透明性 526
19.8.2 分布式文件系统的设计 527
19.9.1 可靠性技术的分级体系 529
练习19.8 529
19.9 可靠性 529
19.9.2 数据恢复 530
19.9.3 故障的容错 530
19.9.4 弹性恢复技术 532
练习19.9 533
19.10 安全 533
19.10.1 解决消息安全威胁问题 534
19.10.2 密钥分配 535
19.10.3 解决消息回放攻击 536
19.10.4 Kerberos 536
练习19.10 538
参考文献 538