《操作系统实用教程》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:侯海霞,李雪梅,蔡中博,郭鲜凤编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2016
  • ISBN:9787111524724
  • 页数:320 页
图书介绍:本书从便于读者阅读和理解的角度出发,系统、全面地阐述了现代操作系统的基本原理和实现机制。书中讨论了什么是操作系统,现代操作系统的用户接口,重点以操作系统对计算机系统资源的管理为线索,对操作系统的处理机管理、存储管理、设备管理和文件及磁盘管理的策略和技术,做了全面、深入、准确的介绍。全书以“程序”为切入点,以“程序”在计算机系统上的执行过程贯穿始终,读者即可思路清晰地去理解现代操作系统的各个功能模块,去学习操作系统的基本原理。实验部分讲述Linux的基础知识和怎样在虚拟机VMware上安装Linux操作系统;之后告诉读者怎样在Linux操作系统下进行程序编辑、程序的编译、链接和运行;最后以案例精选的方式指导读者在Linux操作系统环境下编程,,实现并验证操作系统的进程管理、存储管理、文件管理和磁盘调度功能并对所学操作系统原理知识加以应用。

上篇 基础理论篇 1

第1章 计算机操作系统概述 1

1.1 操作系统概念 1

1.2 操作系统的发展历程 2

1.2.1 穿孔卡片 2

1.2.2 晶体管和单道批处理系统 3

1.2.3 集成电路芯片和多道程序系统 4

1.2.4 个人计算机和现代操作系统 6

1.3 操作系统的分类 6

1.3.1 批处理操作系统 6

1.3.2 分时操作系统 7

1.3.3 实时操作系统 7

1.3.4 网络操作系统 8

1.3.5 分布式操作系统 9

1.3.6 嵌入式操作系统 10

1.3.7 云操作系统 11

1.4 现代操作系统的主要特性 12

1.4.1 并发性 12

1.4.2 共享性 13

1.4.3 虚拟性 13

1.4.4 异步性 14

1.5 操作系统的功能 14

1.5.1 处理机管理 15

1.5.2 存储管理 15

1.5.3 设备管理 15

1.5.4 文件管理 15

1.5.5 用户接口 15

1.6 Linux操作系统基础 16

1.6.1 Linux的起源与发展 16

1.6.2 Linux系统的特点 17

1.6.3 Linux基本结构 18

1.6.4 Linux版本 19

思考与练习 20

第2章 操作系统用户接口 22

2.1 用户接口简介 22

2.2 命令接口 23

2.2.1 作业 23

2.2.2 脱机用户接口 23

2.2.3 联机用户接口 23

2.2.4 Linux的命令控制接口 24

2.3 图形接口 26

2.4 系统调用 27

2.4.1 处理机的两种工作状态 27

2.4.2 系统调用的实现 27

2.4.3 系统调用实例 29

2.4.4 Linux系统调用 30

2.5 Linux编程基础 31

2.5.1 Linux的Shell 31

2.5.2 vi使用入门 42

2.5.3 GCC概述 43

2.5.4 Makefile 45

思考与练习 47

第3章 处理机管理 48

3.1 进程与线程 48

3.1.1 进程的引入 48

3.1.2 进程的概念 50

3.1.3 进程控制 54

3.1.4 进程调度 57

3.1.5 线程 64

3.2 进程间的制约关系 67

3.2.1 进程互斥和同步的概念 67

3.2.2 进程互斥的实现 68

3.2.3 进程同步的实现 72

3.2.4 用P、V原语解决经典的同步/互斥问题 74

3.2.5 结构化的同步/互斥机制——管程 78

3.3 进程通信 81

3.3.1 进程的通信方式 81

3.3.2 消息缓冲机制 82

3.3.3 信箱通信 86

3.4 死锁 87

3.4.1 死锁的概念 87

3.4.2 死锁产生的必要条件 88

3.4.3 死锁的预防 88

3.4.4 死锁的避免 90

3.4.5 死锁的检测和解除 94

3.5 处理机调度 96

3.5.1 调度的层次和分类 96

3.5.2 作业调度的功能和性能指标 99

3.5.3 作业调度算法 101

3.6 Linux系统的处理机管理 105

3.6.1 Linux系统进程与线程 105

3.6.2 Linux系统的进程控制块 106

3.6.3 Linux的进程状态及状态变迁 107

3.6.4 Linux的进程控制 107

3.6.5 Linux的进程调度 111

3.6.6 Linux的进程通信 112

思考与练习 115

第4章 主存管理 120

4.1 存储管理概述 120

4.1.1 基本概念 121

4.1.2 存储管理的功能 124

4.1.3 主存的虚拟存储中用到的几种技术 124

4.2 存储器的连续分配 126

4.2.1 单一连续分区存储管理 126

4.2.2 固定分区存储管理 127

4.2.3 可变分区存储管理 129

4.3 存储器的离散分配 135

4.3.1 分页式存储管理 135

4.3.2 分段式存储管理 145

4.3.3 段页式存储管理 149

4.3.4 虚拟存储管理 151

4.4 Linux系统的存储管理 164

4.4.1 Linux的内存管理概述 164

4.4.2 Linux存储空间的描述 165

4.4.3 Linux多级分页机制 166

4.4.4 空闲内存的管理 167

4.4.5 内存的分配与回收 168

4.4.6 页面的交换 169

思考与练习 171

第5章 文件管理 173

5.1 文件 173

5.1.1 文件的概念 173

5.1.2 文件的命名 174

5.1.3 文件的类型 174

5.1.4 文件的属性 176

5.1.5 文件的逻辑结构及存取方法 176

5.1.6 文件的物理结构 178

5.1.7 文件的使用 181

5.2 目录管理 183

5.2.1 文件控制块与目录项 183

5.2.2 目录的层次结构 185

5.2.3 “按名存取”的实现 188

5.3 文件系统 190

5.3.1 文件系统的概念 191

5.3.2 文件系统的实现 191

5.3.3 文件系统的功能 196

5.4 文件系统的安全性和保护 196

机制 196

5.4.1 文件的共享与安全 196

5.4.2 文件的保护 198

5.5 Linux文件系统管理 200

5.5.1 Linux文件系统的概念 200

5.5.2 Linux文件系统的特点 200

5.5.3 Linux文件系统的结构 201

5.5.4 Ext2文件系统 202

思考与练习 203

第6章 设备管理 205

6.1 设备管理概述 205

6.1.1 设备管理的目标和功能 205

6.1.2 I/O系统的组织结构 206

6.1.3 I/O系统的分类 210

6.1.4 I/O系统的物理特性 211

6.2 设备使用界面的管理 213

6.2.1 设备独立性的概念 213

6.2.2 设备独立性软件 214

6.3 设备的分配 215

6.3.1 设备分配前应考虑的因素 215

6.3.2 设备分配原则 215

6.3.3 设备分配策略 216

6.3.4 设备分配中使用的数据结构 216

6.3.5 独享设备的分配 218

6.3.6 共享设备的分配 219

6.3.7 虚拟设备的分配 223

6.4 缓冲区的管理 224

6.4.1 缓冲的引入 224

6.4.2 缓冲的概念 225

6.4.3 缓冲的分类及实现 225

6.5 I/O的具体实现 228

6.5.1 I/O请求的提出 228

6.5.2 对I/O请求的管理 229

6.5.3 I/O请求的具体实现 229

6.5.4 数据传输方式 230

6.6 Linux的设备管理 236

6.6.1 Linux设备管理的特点 236

6.6.2 Linux系统的I/O软件结构 236

6.6.3 Linux的中断处理 237

思考与练习 238

下篇 实验指导篇 239

实验一 Linux的安装及应用 239

实验二 进程创建 256

实验三 进程控制 261

实验四 进程互斥 266

实验五 进程同步 268

实验六 进程通信 274

实验七 存储管理 282

实验八 文件管理 290

实验九 设备驱动程序安装 310

实验十 课程设计及设计提示 316

参考文献 320