您好,欢迎来到聚文网。 登录 免费注册
操作系统 精髓与设计原理(第8版) 全球版

操作系统 精髓与设计原理(第8版) 全球版

  • 字数: 917千字
  • 装帧: 平装
  • 出版社: 人民邮电出版社
  • 作者: (美)威廉·斯托林斯(William Stallings)
  • 出版日期: 2019-01-01
  • 商品条码: 9787115477026
  • 版次: 1
  • 开本: 16开
  • 页数: 596
  • 出版年份: 2019
定价:¥108 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
编辑推荐
个操作系统作为运行实例进行介绍。
·配套资源丰富:
提供丰富的教师支撑材料:参考答案、项目指南、PowerPoint幻灯片、PDF文件、题库、并发视频、教学大纲样例。
提供供学生使用的在线文档、动画和视频。
内容简介
本书是操作系统的经典教材,内容涉及操作系统的概念、结构和机制。
全书不仅系统地讲述了操作系统的基本概念、原理和方法,而且以当代主流的操作系统Windows 8、UNIX、Android、Linux为例,呈现了当代操作系统的本质和特点。具体内容包括背景、进程、内存、调度、输入/输出与文件、嵌入式系统、安全、分布式系统8个部分。
作者简介
  
目录
   第0章读者和教师指南1

0.1本书概述2

0.2实例系统2

0.3读者和教师学习路线图3

0.4互联网和网站资源4

本书配套的网站4

其他网站4

第1部分背景

第1章计算机系统概述5

1.1基本组成6

1.2微处理器的发展7

1.3指令的执行8

1.4中断10

1.4.1中断和指令周期11

1.4.2中断处理15

1.4.3多个中断17

1.5分级存储体系19

1.6高速缓存22

1.6.1动机22

1.6.2高速缓存的原理22

1.6.3高速缓存的设计24

1.7直接内存访问25

1.8多处理器和多核组织结构26

1.8.1对称多处理器27

1.8.2组织结构27

1.8.3多核计算机28

1.9推荐阅读29

1.10关键术语、复习题与习题30

附录1A两级存储器的性能特征33

第2章操作系统概述39

2.1操作系统的目标和功能40

2.1.1作为用户与系统交互接口的操作系统40

2.1.2作为资源管理器的操作系统42

2.1.3操作系统的易发展性43

2.2操作系统的发展44

2.2.1串行处理44

2.2.2简单批处理系统44

2.2.3多道批处理系统47

2.2.4分时系统49

2.3主要成就51

2.3.1进程52

2.3.2内存管理55

2.3.3信息保护和安全56

2.3.4调度和资源管理57

2.4现代操作系统的发展58

2.5容错61

2.5.1基本概念61

2.5.2故障62

2.5.3操作系统中的机制63

2.6多处理器和多核操作系统设计要考虑的因素63

2.6.1对称多处理器操作系统设计上的考虑63

2.6.2多核操作系统设计上的考虑64

2.7微软Windows简介66

2.7.1背景66

2.7.2体系结构66

2.7.3客户/服务器模式69

2.7.4线程和SMP70

2.7.5Windows对象70

2.8传统UNIX系统72

2.8.1发展历史72

2.8.2系统概述72

2.9现代UNIX系统74

2.9.1SystemV第4版(SVR4)74

2.9.2BSD75

2.9.3Solaris1075

2.10Linux系统76

2.10.1发展历史76

2.10.2模块结构76

2.10.3内核组件78

2.11Android系统80

2.11.1安卓软件架构81

2.11.2安卓系统架构83

2.11.3活动83

2.11.4电源管理84

2.12推荐阅读和配套演示85

2.13关键术语、复习题与习题86

第2部分进程

第3章进程的描述与控制89

3.1什么是进程?90

3.1.1背景90

3.1.2进程和进程控制块91

3.2进程状态92

3.2.1双状态模型94

3.2.2进程的创建和结束95

3.2.3五状态模型97

3.2.4进程挂起100

3.3进程描述符104

3.3.1操作系统中控制资源的结构105

3.3.2进程控制块106

3.4进程控制112

3.4.1(处理器的)执行的模式112

3.4.2进程创建113

3.4.3进程切换114

3.5操作系统的执行116

3.5.1独立内核116

3.5.2嵌套于用户进程117

3.5.3基于进程的操作系统118

3.6UNIXSVR4中的进程管理118

3.6.1进程状态118

3.6.2进程描述120

3.6.3进程控制122

3.7总结122

3.8推荐阅读与动画123

3.9关键术语、复习题与习题123

第4章线程128

4.1进程和线程129

4.1.1多线程129

4.1.2线程功能132

4.2线程的类型134

4.2.1用户级和内核级线程134

4.2.2其他设计138

4.3多核和多线程140

4.3.1多核环境下应用的性能140

4.3.2应用示例:Valve的游戏软件143

4.4Windows8的进程和线程管理144

4.4.1Windows8所带来的改变145

4.4.2Windows进程146

4.4.3进程和线程对象147

4.4.4多线程149

4.4.5线程状态149

4.4.6操作系统子系统的支持150

4.5Solaris的线程和多处理器管理150

4.5.1多线程结构150

4.5.2设计目标151

4.5.3进程结构152

4.5.4线程执行153

4.5.5用线程处理中断153

4.6Linux的进程和线程管理154

4.6.1Linux进程154

4.6.2Linux线程156

4.6.3Linux命名空间157

4.7Android的进程和线程管理158

4.7.1Android应用158

4.7.2活动159

4.7.3进程和线程161

4.8MacOSX的GrandCentralDispatch161

4.9总结164

4.10推荐阅读164

4.11关键术语、复习题与习题164

第5章并发:互斥与同步169

5.1并发的原理171

5.1.1一个简单例子172

5.1.2竞态(RaceCondition)173

5.1.3操作系统的设计挑战174

5.1.4进程交互174

5.1.5实现互斥的条件177

5.2互斥:硬件的支撑方案178

5.2.1关中断178

5.2.2特殊机器指令178

5.3信号灯(Semaphore)181

5.3.1互斥的实现184

5.3.2生产者/消费者问题186

5.3.3信号灯的实现191

5.4管程(Monitor)192

5.4.1管程和信号192

5.4.2采用通知和广播的管程模型196

5.5消息通信197

5.5.1同步(Synchroni-zation)198

5.5.2寻址(Addres-sing)199

5.5.3消息格式201

5.5.4队列组织201

5.5.5互斥的实现201

5.6读者/写者问题203

5.6.1读者优先203

5.6.2写者优先204

5.7总结207

5.8推荐阅读207

5.9关键术语、复习题与习题208

第6章并发:死锁与饥饿221

6.1死锁的原理222

6.1.1可重用资源225

6.1.2消耗性资源226

6.1.3资源分配图227

6.1.4死锁发生的条件228

6.2死锁预防(DeadlockPrevention)229

6.2.1互斥条件229

6.2.2占有并等待条件230

6.2.3不可抢占条件230

6.2.4环路等待条件230

6.3死锁避免(DeadlockAvoidance)230

6.3.1拒绝创建进程231

6.3.2拒绝分配资源232

6.4死锁检测(DeadlockDetection)235

6.4.1死锁检测算法236

6.4.2死锁恢复237

6.5解决死锁的综合方案237

6.6哲学家进餐问题238

6.6.1使用信号灯的解决方案238

6.6.2使用管程的解决方案240

6.7UNIX系统的并发控制机制241

6.7.1管道242

6.7.2消息242

6.7.3共享内存242

6.7.4信号灯242

6.7.5信号243

6.8Linux内核的并发控制机制244

6.8.1原子操作245

6.8.2自旋锁(Spinlocks)246

6.8.3信号灯248

6.8.4屏障点(Barriers)249

6.9Solaris线程同步原语250

6.9.1互斥锁251

6.9.2信号灯251

6.9.3读者/写者锁252

6.9.4条件变量(ConditionVariable)252

6.10Windows7的并发控制机制252

6.10.1Wait函数252

6.10.2调度对象(DispatcherObject)253

6.10.3临界区254

6.10.4瘦读者-写者锁和条件变量254

6.10.5无锁同步255

6.11Android系统中的进程间通信255

6.12总结256

6.13推荐阅读256

6.14关键术语、复习题与习题257

第3部分内存

第7章内存管理265

7.1内存管理的需求266

7.1.1内存重定位266

7.1.2内存保护267

7.1.3内存共享268

7.1.4逻辑结构268

7.1.5物理结构268

7.2内存分区269

7.2.1固定分区270

7.2.2分区大小270

7.2.3放置策略271

7.2.4动态分区272

7.2.5放置策略273

7.2.6置换策略275

7.2.7伙伴系统275

7.2.8重定位277

7.3分页278

7.4分段282

7.5小结282

7.6推荐阅读和配套演示283

7.7关键术语、复习题与习题283

附录7A加载和链接286

第8章虚拟内存292

8.1硬件和控制结构293

8.1.1局部性和虚拟内存295

8.1.2分页296

8.1.3页表结构297

8.1.4分段305

8.1.5段页式306

8.1.6保护和共享307

8.2操作系统软件308

8.2.1读取策略309

8.2.2放置策略309

8.2.3置换策略310

8.2.4页缓冲314

8.2.5置换策略和高速缓冲的大小315

8.2.6清除策略321

8.2.7加载控制321

8.3UNIX和SOLARIS的内存管理323

8.3.1分页系统323

8.3.2内核内存分配器326

8.4Linux内存管理327

8.4.1Linux虚拟内存327

8.4.2内核内存分配329

8.5Windows内存管理330

8.5.1Windows虚拟地址映射330

8.5.2Windows分页331

8.5.3Windows8交换332

8.6Android内存管理332

8.7小结332

8.8推荐阅读和配套演示333

8.9关键术语、复习题与习题334

第4部分调度

第9章单处理器调度339

9.1处理器调度的类型340

9.1.1长期调度342

9.1.2中期调度343

9.1.3短期调度343

9.2调度算法343

9.2.1短期调度准则343

9.2.2优先级的使用345

9.2.3可选的调度策略345

9.2.4性能比较355

9.2.5公平共享调度360

9.3传统的UNIX调度362

9.4总结363

9.5推荐阅读和动画364

9.6关键术语、复习题与习题364

第10章多处理器、多核调度与实时调度369

10.1多处理器和多核调度370

10.1.1粒度370

10.1.2设计问题371

10.1.3进程调度373

10.1.4线程调度374

10.1.5多核线程调度379

10.2实时调度380

10.2.1背景380

10.2.2实时操作系统的特点381

10.2.3实时调度384

10.2.4截止期限调度385

10.2.5单调速率调度388

10.2.6优先级反转391

10.3Linux调度393

10.3.1实时调度393

10.3.2非实时调度394

10.4UNIXSVR4调度396

10.5UNIXFreeBSD调度397

10.5.1优先级类398

10.5.2对SMP和多核的支持398

10.6Windows调度400

10.6.1进程和线程优先级400

10.6.2多处理器调度401

10.7总结402

10.8推荐阅读403

10.9关键术语、复习题与习题403

第5部分输入/输出与文件

第11章I/O管理和磁盘调度407

11.1I/O设备408

11.2I/O功能的组织409

11.2.1I/O功能的发展历程410

11.2.2直接内存访问411

11.3操作系统设计问题412

11.3.1设计目标412

11.3.2I/O功能的逻辑结构413

11.4I/O缓冲414

11.4.1单缓冲区415

11.4.2双缓冲区416

11.4.3环形缓冲区417

11.4.4缓冲区的作用417

11.5磁盘调度417

11.5.1磁盘性能参数417

11.5.2磁盘调度策略419

11.6RAID423

11.6.10级RAID426

11.6.21级RAID427

11.6.32级RAID428

11.6.43级RAID428

11.6.54级RAID429

11.6.65级RAID430

11.6.76级RAID430

11.7磁盘高速缓存430

11.7.1设计考虑431

11.7.2性能考虑432

11.8UNIXSVR4I/O434

11.8.1缓冲区高速缓存434

11.8.2字符队列435

11.8.3无缓冲的I/O435

11.8.4UNIX设备436

11.9LinuxI/O436

11.9.1磁盘调度436

11.9.2Linux页面缓存438

11.10WindowsI/O439

11.10.1基本I/O机制439

11.10.2异步I/O和同步I/O439

11.10.3软件RAID440

11.10.4卷影拷贝441

11.10.5卷加密441

11.11总结441

11.12推荐阅读和动画441

11.13关键术语、复习题与习题443

第12章文件管理445

12.1概述446

12.1.1文件和文件系统446

12.1.2文件结构447

12.1.3文件管理系统448

12.2文件组织与访问451

12.2.1堆452

12.2.2顺序文件453

12.2.3索引顺序文件453

12.2.4索引文件454

12.2.5直接文件或哈希文件455

12.3B树455

12.4文件目录458

12.4.1内容458

12.4.2结构459

12.4.3命名460

12.5文件共享461

12.5.1访问权限462

12.5.2同时访问462

12.6记录组块463

12.7辅存管理464

12.7.1文件分配464

12.7.2空闲空间管理469

12.7.3卷471

12.7.4可靠性471

12.8UNIX文件管理472

12.8.1i节点472

12.8.2文件分配474

12.8.3目录475

12.8.4卷结构475

12.9Linux虚拟文件系统475

12.9.1超级块对象477

12.9.2i节点对象478

12.9.3目录项对象478

12.9.4文件对象478

12.9.5高速缓存479

12.10Windows文件系统479

12.10.1NTFS的关键特性479

12.10.2NTFS的卷和文件结构480

12.10.3可恢复性482

12.11Android文件管理483

12.11.1文件系统483

12.11.2SQLite484

12.12总结485

12.13推荐阅读485

12.14关键术语、复习题与习题486

第6部分嵌入式系统

第13章嵌入式系统489

13.1嵌入式系统490

13.2嵌入式操作系统的特征491

13.2.1移植现有的商用操作系统492

13.2.2专用嵌入式操作系统492

13.3嵌入式Linux493

13.3.1内核大小493

13.3.2编译493

13.3.3嵌入式Linux文件系统493

13.3.4嵌入式Linux的优势494

13.3.5Android494

13.4TinyOS495

13.4.1无线传感器网络495

13.4.2TinyOS的目标496

13.4.3TinyOS组件497

13.4.4TinyOS调度器499

13.4.5配置实例500

13.4.6TinyOS资源接口501

13.5推荐阅读503

13.6关键术语、复习题与习题503

第14章虚拟机506

14.1虚拟化方法508

14.2处理器问题511

14.3内存管理513

14.4I/O管理514

14.5VMwareESXi515

14.6微软Hyper-V和Xen变体517

14.7JavaVM518

14.8LinuxVServer虚拟机架构519

14.8.1体系结构519

14.8.2进程调度520

14.9Android虚拟机521

14.9.1Dex文件格式522

14.9.2Zygote523

14.10总结523

14.11推荐阅读523

14.12关键术语、复习题与习题524

第7部分安全

第15章操作系统安全527

15.1入侵者和恶意软件528

15.1.1系统访问威胁528

15.1.2对策529

15.2缓冲区溢出531

15.2.1缓冲区溢出攻击531

15.2.2编译时防御534

15.2.3运行时防御536

15.3访问控制537

15.3.1文件系统访问控制537

15.3.2访问控制策略539

15.4UNIX访问控制544

15.4.1传统UNIX文件访问控制544

15.4.2UNIX中的访问控制列表546

15.5操作系统强化546

15.5.1操作系统安装:初次安装与修补547

15.5.2移除不必要的服务、应用和协议548

15.5.3配置用户、组和身份验证548

15.5.4配置资源控制549

15.5.5安装额外的安全控制549

15.5.6测试系统安全性549

15.6安全维护550

15.6.1用户登入550

15.6.2数据备份和存档550

15.7Windows安全551

15.7.1访问控制模式551

15.7.2访问令牌552

15.7.3安全描述符552

15.8总结555

15.9推荐阅读555

15.10关键术语、复习题与习题556

第8部分分布式系统

第16章分布式处理、客户/服务器和集群559

16.1客户/服务器计算560

16.1.1什么是客户/服务器计算?560

16.1.2客户/服务器应用562

16.1.3中间件567

16.2分布式消息传递569

16.2.1可靠性与不可靠性571

16.2.2阻塞与非阻塞571

16.3远程过程调用571

16.3.1参数传递572

16.3.2参数表示573

16.3.3客户/服务器绑定573

16.3.4同步与异步573

16.3.5面向对象机制574

16.4集群574

16.4.1集群的配置575

16.4.2操作系统的设计问题577

16.4.3集群计算机的体系结构578

16.4.4集群与SMP的对比579

16.5Windows集群服务器579

16.6Beowulf和Linux集群581

16.6.1Beowulf特性581

16.6.2Beowulf软件582

16.7总结582

16.8推荐阅读583

16.9关键术语、复习题与习题583

参考文献586

蜀ICP备2024047804号

Copyright 版权所有 © jvwen.com 聚文网