《操作系统原理教程》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:张丽芬,刘美华编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2009
  • ISBN:9787121097027
  • 页数:349 页
图书介绍:本书主要介绍操作系统的基本概念、结构、基本功能和实现原理,以及当前世界上最流行的两大操作系统派系——UNIX/Linux和Windows的特点和实现技术。本书共分为三篇18章。第一篇分为6章,主要介绍操作系统的基本概念、三个基本操作系统类型(批处理、分时和实时)和特点、操作系统基本功能(处理机管理、存储器管理、文件管理和设备管理)和操作系统的进一步发展。

第一篇 操作系统的基本原理 1

第1章 操作系统概论 1

1.1操作系统的定义 1

1.2操作系统的形成与发展 2

1.2.1顺序处理(手工操作阶段) 2

1.2.2简单的批处理系统 3

1.2.3多道成批处理系统 5

1.2.4分时系统 7

1.2.5实时系统 9

1.2.6嵌入式系统 10

1.3操作系统的功能、服务和特性 10

1.4操作系统的进一步发展 12

1.5用户与操作系统的接口 15

1.5.1用户与操作系统的操作接口 15

1.5.2系统调用接口 17

1.6操作系统的运行环境 19

1.7操作系统的设计规范和结构设计 19

1.8小结 22

习题 23

第2章 进程管理 24

2.1进程的引入和概念 24

2.2进程的描述 27

2.3进程的控制 29

2.4处理机的调度 32

2.5线程的引入 37

2.6小结 39

习题 39

第3章 进程之间的并发控制和死锁 41

3.1并发进程的特点 41

3.2进程之间的低级通信 42

3.2.1进程之间的互斥 42

3.2.2进程之间的同步 45

3.2.3信号量和P、V操作 45

3.2.4利用信号量解决计算机中的经典问题 47

3.3管程 49

3.4进程的高级通信 53

3.4.1消息缓冲通信 53

3.4.2其他通信机制 56

3.5死锁 57

3.5.1死锁的定义和死锁产生的必要条件 57

3.5.2解决死锁的方法 58

3.6小结 66

习题 66

第4章 存储器管理 70

4.1概述 70

4.2单用户单道程序的存储器分配 72

4.3多用户多道程序的存储器分配——分区分配 73

4.3.1固定式分区 73

4.3.2可变式分区 74

4.3.3分区管理的地址重定位和存储器保护 77

4.3.4分区管理的优缺点 77

4.4覆盖与交换技术 78

4.5页式存储器管理 79

4.6段式存储器管理 84

4.7虚拟存储器管理 86

4.7.1虚拟存储器 86

4.7.2页式虚拟存储器管理 87

4.7.3页式管理设计中应考虑的问题 91

4.7.4段式虚拟存储器管理 94

4.7.5段页式虚拟存储器管理 96

4.8小结 98

习题 98

第5章 文件系统 101

5.1文件和文件系统 101

5.2文件目录结构 103

5.3文件的逻辑结构和存取方法 105

5.4文件的物理结构和存储介质 107

5.4.1文件的物理结构 107

5.4.2文件的存储介质 110

5.5文件记录的组块与分解 112

5.6文件存储器存储空间的管理 113

5.7文件的共享与保护 114

5.8文件的操作命令 118

5.9文件系统的组织结构 119

5.10存储器映射文件 120

5.11小结 121

习题 122

第6章 设备管理 124

6.1 I/O硬件组成 124

6.1.1 I/O设备分类 124

6.1.2设备控制器 124

6.1.3 I/O数据传输的控制方式 126

6.1.4通道 128

6.2 I/O软件的组成 130

6.2.1 I/O软件的设计目标 130

6.2.2 I/O软件的功能 131

6.2.3同步I/O和异步I/O 135

6.3磁盘管理 136

6.3.1磁盘调度 136

6.3.2磁盘的错误处理 139

6.3.3提高磁盘性能和容错性的机制——独立磁盘的冗余阵列 139

6.4小结 142

习题 143

第二篇 Linux操作系统 145

第7章 Linux进程管理 145

7.1 Linux进程的组成 146

7.1.1进程的定义 146

7.1.2进程的状态 149

7.2 Linux进程链表 149

7.3 Linux进程控制 152

7.3.1进程创建 152

7.3.2进程撤销 155

7.4 Linux进程切换 155

7.5 Linux进程调度 156

7.6内核同步 159

7.7小结 161

习题 162

第8章 Linux存储器管理 163

8.1进程地址空间的管理 163

8.1.1 Linux中的分段 163

8.1.2虚拟内存区域 165

8.1.3虚拟内存描述符 168

8.1.4创建进程的地址空间 170

8.1.5堆的管理 170

8.2物理内存管理 170

8.3 slab管理 176

8.3.1 slab分配器 176

8.3.2 slab着色 178

8.4高端内存区管理 179

8.5地址转换 180

8.6 请求调页与缺页异常处理 181

8.7盘交换区空间管理 182

8.8小结 183

习题 184

第9章 Linux文件系统 185

9.1 Ext2的磁盘涉及的数据结构 185

9.1.1 Linux文件卷的布局 185

9.1.2超级块 186

9.1.3块组描述符 187

9.1.4文件目录与索引节点结构 188

9.1.5访问控制表ACL 191

9.2 Ext2的主存数据结构 191

9.2.1超级块和索引节点对象 192

9.2.2位图高速缓存 193

9.3 Ext2磁盘空间管理 194

9.3.1磁盘索引节点的管理 195

9.3.2空闲磁盘块的分配与回收 196

9.4 Ext2提供的文件操作 197

9.5小结 198

习题 198

第10章 Linux虚拟文件系统 199

10.1虚拟文件系统涉及的数据结构 199

10.1.1超级块对象 200

10.1.2索引节点对象 202

10.1.3文件对象 205

10.1.4目录项对象 206

10.1.5与进程打开文件相关的数据结构 208

10.2文件系统的注册与安装 210

10.2.1文件系统注册 210

10.2.2文件系统安装 211

10.3 VFS系统调用的实现 213

10.3.1文件的打开与关闭 213

10.3.2文件的读写 214

10.4小结 216

习题 216

第11章 Linux I/O系统 217

11.1设备驱动模型 217

11.1.1 sysfs文件系统 217

11.1.2设备驱动模型的组件 219

11.2设备文件 221

11.3设备驱动程序 222

11.3.1块设备驱动程序 223

11.3.2字符设备驱动程序 228

11.4高速缓存 228

11.4.1页高速缓存 229

11.4.2把块存放在页高速缓存中 231

11.5小结 232

习题 233

第12章 中断、异常和信号处理 234

12.1中断和异常处理的硬件基础 234

12.2中断和异常处理 236

12.2.1硬件完成的处理 236

12.2.2软件处理 237

12.2.3如何处理中断 237

12.3信号处理机制 239

12.3.1信号概述 239

12.3.2信号的发送与安装 240

12.3.3信号集 241

12.3.4信号应用示例 242

12.4小结 243

习题 243

第13章 UNIX系统进程之间的通信 244

13.1管道通信 244

13.1.1创建无名管道 244

13.1.2管道涉及的数据结构 246

13.1.3创建一个有名管道 247

13.2 UNIX系统V的交互进程通信 249

13.3信号量机制 250

13.3.1信号量机制使用的数据结构 251

13.3.2信号量机制的系统调用 253

13.4消息缓冲机制 254

13.4.1消息缓冲使用的数据结构 255

13.4.2消息缓冲的系统调用 256

13.4.3消息缓冲的通信示例 258

13.5共享内存区机制 259

13.6小结 262

习题 263

第三篇 Windows 2000/XP操作系统研究 264

第14章 Windows 2000/XP操作系统模型 264

14.1 Windows 2000/XP的体系结构 264

14.1.1用户态进程 264

14.1.2子系统动态链接库 266

14.1.3核心态的系统组件 266

14.2 Windows 2000/XP操作系统的特点 268

14.3 Windows 2000/XP的系统机制 269

14.3.1陷阱处理程序 269

14.3.2中断调度 270

14.3.3异常调度 273

14.3.4系统服务调度 274

14.4对象管理器 275

14.4.1对象结构 275

14.4.2管理对象 276

14.5对象之间的同步 279

14.6小结 283

习题 283

第15章 Windows 2000/XP进程和线程管理 284

15.1 Windows 2000/XP进程和线程 284

15.1.1进程对象 284

15.1.2线程对象 285

15.2线程调度 287

15.3对称多处理机系统上的线程调度 291

15.3.1几个与调度有关的概念 291

15.3.2线程调度程序的数据结构 291

15.3.3多处理机的线程调度算法 292

15.3.4空闲线程的调度 294

15.4线程优先级提升 294

15.5 Windows 2000/XP的进程同步 296

15.5.1同步对象 296

15.5.2同步对象的应用示例 296

15.6小结 300

习题 300

第16章 Windows 2000/XP的存储器管理 302

16.1存储器管理的基本概念 302

16.1.1进程地址空间的布局 302

16.1.2进程私有空间的分配 303

16.2 Windows 2000/XP地址转换 307

16.2.1地址转换所涉及的数据结构 307

16.2.2页错误处理 311

16.3页调度策略 313

16.4小结 315

习题 316

第17章 Windows 2000/XP的文件系统 317

17.1文件系统概述 317

17.2主控文件表 318

17.2.1主控文件表的结构 318

17.2.2主控文件表的记录结构 319

17.3 NTFS文件的引用和索引 321

17.4 Windows 2000/XP文件系统模型 322

17.4.1文件系统分层模型 322

17.4.2 Windows 2000/XP文件系统驱动程序的体系结构 323

17.5 NTFS可恢复性支持 326

17.5.1文件系统优化技术 326

17.5.2日志文件服务的实现 327

17.5.3 NTFS坏簇恢复的支持 331

17.6小结 332

习题 332

第18章 Windows 2000/XP的设备管理 333

18.1 Windows 2000/XP的I/O系统结构 333

18.2 I/O管理系统所涉及的关键数据结构 334

18.3 Windows 2000/XP的I/O处理 337

18.3.1对单层驱动程序的I/O请求 337

18.3.2设备I/O的中断处理 338

18.3.3 I/O请求的完成处理 339

18.3.4对多层驱动程序的I/O请求 340

18.4多处理I/O中的同步问题 345

18.5快速I/O 345

18.6即插即用PnP管理器 346

18.7小结 347

习题 348

参考文献 349