当前位置:首页 > 工业技术
操作系统实用教程  螺旋方法
操作系统实用教程  螺旋方法

操作系统实用教程 螺旋方法PDF电子书下载

工业技术

  • 电子书积分:15 积分如何计算积分?
  • 作 者:(美)拉米兹·埃尔玛斯瑞,A·吉尔·卡里克,戴维·莱文著;翟高寿译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2018
  • ISBN:9787111588191
  • 页数:458 页
图书介绍:本书是一本以学生为中心的具有鲜明特色的操作系统教材,采用螺旋式方法由浅入深、循序渐进地阐述操作系统的相关概念和设计机理。全书共分六部分:第一部分阐释操作系统的概念、视图、起源、分类、构建方法及实现基础; 第二部分则渐进式地介绍单进程操作系统、单用户多任务操作系统、单用户多任务/多线程操作系统、多用户操作系统、分布式和集群及网格相关的操作系统; 第三部分和第四部分则按照传统方式集中讨论进程管理、内存管理、文件系统、输入/输出管理;第五部分介绍计算机网络、保护和安全以及分布式操作系统;第六部分则分别就Windows NT操作系统、Linux操作系统、Palm操作系统进行实例研究。另外,附录部分还简要介绍了比较现代的硬件体系结构的相关知识。每一章结尾部分均配备有习题,可以帮助读者有针对性地加强相应知识的理解。本书适合作为高等院校计算机及相关理工科专业的操作系统课程教材,同时也可作 为业界人士设计和开发操作系统及相关系统软件的重要参考书。
《操作系统实用教程 螺旋方法》目录

第一部分 操作系统概述 2

第1章 入门 2

1.1引言 2

1.2什么是操作系统 3

1.3操作系统的用户视图和系统视图 4

1.3.1用户视图及用户分类 4

1.3.2系统视图 5

1.3.3一个例子:移动鼠标(和鼠标指针) 6

1.3.4另一个比较大的例子:文件 7

1.4操作系统的一些术语、基本概念和图解 7

1.4.1基本术语 7

1.4.2这些图片说明了什么 8

1.4.3走近真实:个人计算机操作系统 9

1.4.4为什么设立抽象层 10

1.5操作系统发展导论 11

1.5.1操作系统的起源 11

1.5.2操作系统应当做什么 12

1.6小结 13

习题 13

第2章 操作系统概念、模块和体系结构 14

2.1操作系统做什么工作 14

2.2操作系统管理的资源及主要的操作系统模块 16

2.2.1操作系统管理的资源类型 16

2.2.2操作系统的主要模块 18

2.3进程概念和操作系统进程信息 19

2.3.1进程定义和进程状态 19

2.3.2操作系统维护的进程信息 21

2.3.3进程分类和执行模式 21

2.4面向功能的操作系统分类 22

2.4.1单用户单任务操作系统 22

2.4.2多任务操作系统 22

2.4.3分时操作系统和服务器 23

2.4.4网络和分布式操作系统 24

2.4.5实时操作系统 25

2.5操作系统构建方法 25

2.5.1整体式单内核操作系统方法 25

2.5.2分层式操作系统方法 25

2.5.3微内核操作系统方法 26

2.6操作系统实现中的一些问题和技术 27

2.6.1基于中断向量的中断处理 27

2.6.2系统调用 28

2.6.3队列和表 28

2.6.4面向对象的方法 29

2.6.5虚拟机 29

2.7操作系统功能及向后兼容的最小化方法和最大化方法 31

2.7.1向后兼容 31

2.7.2用户最优化与硬件最优化 32

2.8小结 32

参考文献 32

网上资源 33

习题 33

第二部分 渐进式构建操作系统:面向广度的螺旋式方法 37

第3章 简单的单进程操作系统 37

3.1监控程序和CP/M 37

3.1.1监控程序:简单操作系统的前身 37

3.1.2为什么创建CP/M?什么是软件危机 38

3.1.3 CP/M的构成 39

3.2简单的个人计算机系统的特征 39

3.3输入/输出管理 40

3.3.1键盘输入——可移植性与灵活性 41

3.3.2视频监视器输出——可移植性及功能与性能 41

3.4磁盘管理和文件系统 42

3.4.1磁盘系统 42

3.4.2文件系统 43

3.5进程和内存管理 46

3.5.1应用程序的创建与执行 46

3.5.2基于CCP的命令处理 47

3.5.3内存管理 48

3.5.4覆盖 49

3.5.5进程及基本的多任务 49

3.6小结 50

参考文献 50

网上资源 51

习题 51

第4章 单用户多任务操作系统 52

4.1简单的多任务系统 53

4.2 Palm操作系统运行环境及系统布局 54

4.2.1基本内存为易失性随机访问存储器 55

4.2.2没有辅助存储器 55

4.2.3小屏幕尺寸 55

4.2.4没有键盘 56

4.3进程调度 56

4.3.1处理涂鸦式输入——实时操作系统任务 56

4.3.2应用程序进程——任何时候只能有一道进程持有焦点 57

4.3.3典型的用户应用程序 57

4.3.4真正的调度程序开始成形 58

4.4内存管理 58

4.4.1内存基础知识 58

4.4.2内存分配 59

4.4.3不可移动的内存块 61

4.4.4空闲空间监测 61

4.5文件支持 62

4.5.1数据库和记录 62

4.5.2资源对象 62

4.5.3辅助存储器 63

4.6基本输入/输出 63

4.7显示管理 64

4.7.1相应硬件 64

4.7.2高级图形化用户界面元素 64

4.7.3特殊的窗体类型 64

4.7.4低级图形化用户界面控件 65

4.8事件驱动的程序 66

4.9小结 67

参考文献 67

网上资源 67

习题 68

第5章 单用户多任务/多线程操作系统 69

5.1引言 69

5.2 Mac计算机的起源 69

5.3 Mac操作系统——第1版系统 70

5.3.1图形化用户界面 70

5.3.2单任务 71

5.3.3辅助存储器 72

5.3.4内存管理 72

5.3.5只读存储器 74

5.3.6增量版本 74

5.4第2版系统 74

5.4.1图形化用户界面 75

5.4.2多任务 75

5.5第3版系统 75

5.5.1多级文件系统 75

5.5.2网络 76

5.6第4版系统 76

5.6.1多重查找器 76

5.6.2多重查找器与图形化用户界面 77

5.6.3内存管理与多重查找器 77

5.7第5版系统 78

5.8第6版系统 78

5.9第7版系统 79

5.9.1图形化用户界面 79

5.9.2虚拟内存 79

5.9.3新型处理器 80

5.9.4输入/输出增强 81

5.10第8版系统 82

5.10.1多级文件系统升级版 82

5.10.2其他的硬件变化 83

5.10.3统一字符编码标准支持 83

5.11第9版系统 84

5.11.1多用户 84

5.11.2网络 85

5.11.3应用程序接口 85

5.11.4视频 86

5.12 X版Mac操作系统 86

5.12.1新功能 87

5.12.2又一款新处理器 87

5.13小结 87

参考文献 87

网上资源 88

习题 88

第6章 多用户操作系统 90

6.1引言 90

6.1.1多用户操作系统的历史 90

6.1.2 Linux操作系统的基本结构 93

6.1.3动态可加载模块 94

6.1.4中断处理 95

6.1.5文件系统目录树 96

6.2多用户操作系统环境 96

6.2.1文件访问权限 97

6.2.2文件控制块 98

6.3进程和线程 98

6.3.1 Linux任务 98

6.3.2抢占式多任务 99

6.3.3对称多处理 99

6.4小结 101

参考文献 101

网上资源 101

习题 101

第7章 并行分布式计算、集群和网格 102

7.1引言 102

7.2关键概念 102

7.3并行处理和分布式处理 103

7.4分布式系统体系结构 105

7.4.1执行环境概述 105

7.4.2对称多处理系统 106

7.4.3集群 107

7.4.4计算网格 108

7.4.5志愿计算 109

7.5操作系统相关概念在对称多处理、集群和网格中的解读 111

7.5.1进程同步和通信 111

7.5.2一个例子 111

7.5.3例子复杂化的一面 112

7.5.4对称多处理的解决方案 112

7.5.5集群的解决方案 112

7.5.6网格的解决方案 112

7.5.7文件共享技术 113

7.5.8远程服务的运用 114

7.5.9故障处理 114

7.6举例说明 115

7.6.1在集群和网格上的科学计算 115

7.6.2人类基因组脱氧核糖核酸组装 115

7.6.3 IBM计算生物学中心和集群计算 116

7.6.4志愿计算集群 116

7.6.5一个典型的计算机集群 117

7.6.6 Globus集群的使用 117

7.6.7门户和万维网界面 118

7.7小结 119

参考文献 119

网上资源 119

习题 119

第三部分 处理器管理及内存管理 122

第8章 进程管理:概念、线程和调度 122

8.1引言 122

8.2进程描述符——进程控制块 123

8.3进程状态和转换 123

8.4进程调度 126

8.4.1先来先服务调度 126

8.4.2优先级调度 126

8.4.3保证型调度 127

8.4.4最短运行时间优先调度 127

8.4.5高响应比优先调度 128

8.4.6抢占式调度 128

8.4.7多级队列调度 129

8.4.8最佳算法的选择 130

8.4.9长程调度器 132

8.4.10处理器亲和性 133

8.5进程创建 133

8.6线程 135

8.6.1什么是线程 135

8.6.2用户级线程与内核级线程 136

8.6.3线程支持模型 137

8.6.4同时多线程 139

8.6.5进程与线程 139

8.7实例研究 139

8.7.1 POSIX线程 140

8.7.2 Windows NT 140

8.7.3 Solaris 142

8.7.4 Linux 142

8.7.5 Java 143

8.8小结 144

参考文献 144

网上资源 144

习题 144

第9章 进程管理进阶:进程间通信、同步和死锁 146

9.1为什么会有协作式进程 146

9.2进程间通信 148

9.2.1通信机制的特性 149

9.2.2进程间通信系统的例子 152

9.2.3共享内存系统的例子 154

9.3同步 154

9.3.1相关问题 154

9.3.2原子操作 155

9.3.3锁与临界区 155

9.3.4硬件锁指令 156

9.3.5信号量与等待 157

9.3.6计数型信号量 157

9.3.7同步与流水线体系结构 158

9.3.8对称多处理系统中的同步 158

9.3.9优先级倒置 158

9.3.10经典问题 159

9.3.11管程 160

9.4死锁 161

9.4.1什么是死锁 161

9.4.2可以对死锁采取哪些措施 163

9.4.3死锁预防 163

9.4.4死锁避免 165

9.4.5死锁检测 167

9.4.6抢占和其他实用的解决方案 167

9.5小结 168

参考文献 168

网上资源 169

习题 169

第10章 基本的内存管理 171

10.1为什么要管理主内存 171

10.2开发周期步骤与绑定模型 171

10.3单一进程 172

10.3.1编码时绑定 172

10.3.2链接时绑定 173

10.3.3单一进程 174

10.3.4动态重定位 174

10.3.5物理内存空间与逻辑内存空间 175

10.3.6程序比内存大 175

10.3.7覆盖 175

10.3.8对换 176

10.4固定进程数的多进程 177

10.4.1内部碎片 178

10.4.2分时共享 178

10.5可变进程数的多进程 178

10.5.1动态加载 181

10.5.2动态链接库 181

10.6小结 182

参考文献 183

习题 183

第11章 高级的内存管理 184

11.1为什么需要硬件的辅助支持 184

11.2分页 184

11.2.1要求两次访问内存 186

11.2.2有效的内存访问时间 186

11.2.3内存访问控制 188

11.2.4大页表 188

11.2.5反置页表 190

11.2.6支持页面大小多样化的页表 190

11.2.7历史的注脚 191

11.3分段 191

11.4段页式 193

11.5请求分页 194

11.5.1请求分页方式下的有效内存访问时间 195

11.5.2工作集与页面置换 196

11.5.3脏页 198

11.5.4其他的页面淘汰算法 199

11.5.5每个进程应当拥有多少页面 200

11.5.6页面限值自动平衡 200

11.5.7抖动 201

11.5.8页面锁定 201

11.5.9页面清理机制 202

11.5.10程序设计与缺页率 202

11.6特殊的内存管理主题 203

11.6.1进程间内存共享 203

11.6.2内存映射文件 204

11.6.3 Windows XP预提取文件 205

11.6.4 Symbian内存管理 206

11.7小结 207

参考文献 207

网上资源 207

习题 207

第四部分 面向深度的操作系统概念的展示:文件系统和输入/输出 210

第12章 文件系统基础 210

12.1引言 210

12.2目录 211

12.2.1逻辑结构 211

12.2.2物理结构 214

12.2.3目录操作 214

12.2.4文件系统元数据 216

12.3存取方法 216

12.3.1顺序存取 216

12.3.2随机存取 217

12.3.3更高级别的存取方法 217

12.3.4原始存取 219

12.4空闲空间管理 219

12.4.1链表式空闲空间监测 219

12.4.2改进的链表法 220

12.4.3位图式空闲空间监测 221

12.5文件分配 223

12.5.1连续分配 223

12.5.2链接分配 225

12.5.3索引分配 227

12.6小结 229

参考文献 229

网上资源 230

习题 230

第13章 文件系统实例及更多功能 232

13.1引言 232

13.2实例研究 232

13.2.1 FAT文件系统 232

13.2.2 NTFS文件系统 234

13.2.3 UNIX和Linux的文件系统 235

13.3挂载 236

13.3.1本地文件系统挂载 236

13.3.2远程文件系统挂载 237

13.4多文件系统和重定向 238

13.4.1虚拟文件系统 238

13.4.2网络文件系统 239

13.5内存映射文件 240

13.6文件系统实用例程 240

13.7日志式文件系统 242

13.8小结 243

参考文献 243

网上资源 243

习题 243

第14章 磁盘调度和输入/输出管理 244

14.1引言 244

14.2设备特性 244

14.2.1随机存取与顺序存取 244

14.2.2设备分类 245

14.3输入/输出技术 246

14.3.1缓冲技术 246

14.3.2高速缓存技术 247

14.3.3针对短小记录的分块技术 247

14.4磁盘物理组织 248

14.4.1扇区、磁道、柱面及磁头 248

14.4.2扇区分组区和扇区编址 249

14.4.3低级格式化 250

14.4.4速度:寻道、传输及缓冲 250

14.5磁盘逻辑组织 251

14.5.1分区 251

14.5.2引导块 252

14.5.3错误检测与校正 253

14.6廉价磁盘冗余阵列 254

14.6.1廉价磁盘冗余阵列构型 255

14.6.2廉价磁盘冗余阵列故障 257

14.7磁盘操作调度 259

14.7.1先来先服务调度算法 259

14.7.2搭便车调度算法 260

14.7.3最短寻道时间优先调度算法 260

14.7.4向前看调度算法 261

14.7.5循环向前看调度算法 263

14.7.6先来先服务-向前看调度算法 264

14.7.7 N轮向前看调度算法 264

14.7.8 Linux调度程序 265

14.7.9向控制器发送命令 265

14.7.10哪种算法最好 266

14.8内存直接存取型控制器和磁盘硬件特征 266

14.8.1内存直接存取型控制器 266

14.8.2磁盘驱动器的其他特征 267

14.8.3扇区保留和扇区迁移 267

14.8.4自我监控报告技术 268

14.8.5展望未来 268

14.9小结 269

参考文献 269

网上资源 269

习题 270

第五部分 网络、分布式系统及安全 272

第15章 计算机网络 272

15.1为什么要把计算机通过网络连接起来 272

15.2基础知识 274

15.2.1相关模型 274

15.2.2局域网与广域网 275

15.2.3拓扑结构 276

15.3应用层协议 278

15.3.1应用层 278

15.3.2超文本传输协议 279

15.3.3文件传输协议 280

15.3.4简单邮件传输协议、邮局协议及互联网邮件访问协议 280

15.4传输控制协议和网际协议 281

15.4.1传输层 281

15.4.2网际协议寻址和路由 281

15.4.3名称解析 283

15.4.4第6版网际协议 283

15.4.5公共实用例程 284

15.4.6其他协议 284

15.4.7防火墙 285

15.5数据链路层 285

15.5.1以太网 286

15.5.2桥接与交换 286

15.5.3令牌环 287

15.5.4其他的数据链路方法 288

15.5.5网际协议地址到介质访问控制地址的映射 288

15.5.6面向硬件的功能迁移 289

15.6广域网 289

15.6.1帧中继 290

15.6.2其他广域网技术 290

15.7物理层 291

15.7.1铜线规格 291

15.7.2光纤规格 292

15.7.3无线网络 292

15.7.4关于网络故障排查的说明 293

15.8网络管理 293

15.8.1简单管理工具 293

15.8.2简单网络管理协议和网络设备管理 293

15.8.3数据包捕获 294

15.8.4远程监控 294

15.9小结 295

参考文献 295

网上资源 295

习题 296

第16章 保护和安全 298

16.1问题和威胁 298

16.1.1计算机病毒 299

16.1.2特洛伊木马 300

16.1.3蠕虫 300

16.1.4间谍软件 300

16.1.5拒绝服务攻击 301

16.1.6缓冲区溢出 302

16.1.7脚本和小应用程序 303

16.2操作系统保护 304

16.2.1保护 304

16.2.2认证 304

16.2.3授权 305

16.3策略、机制和技术 308

16.3.1安全与保护策略 308

16.3.2系统崩溃保护:备份 308

16.3.3并发性保护 310

16.3.4文件保护 310

16.4通信安全 310

16.4.1加密 311

16.4.2消息摘要 312

16.4.3消息签名与证书 313

16.4.4安全协议 314

16.4.5网络保护 315

16.5安全管理 316

16.6小结 317

参考文献 317

网上资源 318

习题 318

第17章 分布式操作系统 320

17.1引言 320

17.2分布式应用模型 322

17.2.1客户端-服务器模型 322

17.2.2三层模型 322

17.2.3 N层应用程序 323

17.2.4水平分布 324

17.3抽象概念:进程、线程和机器 325

17.3.1线程 325

17.3.2虚拟机 326

17.4命名 327

17.4.1发现服务和Jini 328

17.4.2发现服务、X.500以及轻量级目录访问协议 328

17.4.3对移动式网际协议的实体的定位 328

17.5其他分布式模型 329

17.5.1远程过程调用 329

17.5.2分布式对象 331

17.5.3分布式文档 331

17.5.4分布式文件系统 331

17.6同步 332

17.6.1时钟 332

17.6.2互斥 333

17.6.3选举 334

17.6.4可靠的多播通信 336

17.6.5分布式事务 337

17.7容错 338

17.7.1概述 338

17.7.2进程韧性 338

17.7.3可靠的客户端-服务器通信 339

17.7.4分布式提交 339

17.8小结 340

参考文献 340

网上资源 341

习题 341

第六部分 实例研究 344

第18章从Windows NT到 Windows Vista 344

18.1 Windows NT系列操作系统发展历程 345

18.2用户操作系统环境 349

18.3进程调度 351

18.4内存管理 352

18.4.1地址空间 353

18.4.2页面映射 353

18.4.3分页共享及写时复制 354

18.4.4页面置换 354

18.4.5预取配置 355

18.5文件支持 355

18.5.1 NTFS 356

18.5.2 NTFS高级功能特征 360

18.6基本输入/输出 362

18.6.1分区 362

18.6.2输入/输出系统分层 363

18.6.3即插即用 363

18.6.4设备驱动程序 364

18.6.5磁盘类、端口及微型端口的驱动程序 365

18.7图形化用户接口编程 365

18.8网络 366

18.9对称多处理 367

18.10 XP操作系统启动速度提升措施 367

18.11小结 368

参考文献 368

网上资源 368

习题 369

第19章Linux操作系统实例研究 370

19.1引言 370

19.1.1Linux发展简史 370

19.1.2内核体系结构 371

19.2进程调度 372

19.2.1实时进程 373

19.2.2普通进程 373

19.2.3 nice命令及相关系统调用 374

19.2.4对称多处理负载均衡 374

19.3内存管理 375

19.4文件支持 376

19.4.1标准文件系统 376

19.4.2虚拟文件系统 377

19.4.3进程文件系统 378

19.5基本输入/输出 378

19.5.1设备表 378

19.5.2设备类型 379

19.6图形化用户接口编程 382

19.7网络 384

19.7.1网络分层 384

19.7.2监听连接的超级服务器 384

19.7.3 Samba 385

19.8安全 385

19.8.1 Linux安全模块 385

19.8.2网络安全 386

19.9对称多处理 387

19.10其他Linux操作系统变种 387

19.10.1实时Linux操作系统 387

19.10.2嵌入式Linux操作系统 388

19.11小结 389

参考文献 389

网上资源 389

习题 389

第20章Palm操作系统实例研究 391

20.1概述 391

20.2多进程操作系统环境 391

20.3 Palm进程调度 392

20.3.1实时任务 392

20.3.2其他任务 392

20.4 Palm内存管理 392

20.5文件支持 393

20.6输入/输出子系统 393

20.6.1音频输入/输出 393

20.6.2流输入/输出 393

20.6.3内存型磁盘驱动程序 394

20.6.4照相机 394

20.6.5通信电路 394

20.7图形化用户接口编程 394

20.8网络编程 394

20.8.1个人数据同步 394

20.8.2其他数据同步 395

20.8.3互联网应用程序 395

20.8.4电话应用程序 395

20.9编程环境 396

20.10类似系统和当前发展状况 397

20.10.1新的功能模型 397

20.10.2高级通信模型 398

20.10.3线程调度 398

20.10.4用户界面参考设计 399

20.10.5位置感知类应用程序 400

20.10.6后来的Palm操作系统版本 400

20.11小结 401

参考文献 401

网上资源 401

习题 401

附录 计算机系统总览和体系结构概念 403

索引 425

相关图书
作者其它书籍
返回顶部