操作系统原理及应用

本书特色

[

操作系统是现代计算机中必不可少的核心软件,是计算机学科各专业的必修课程,也是从事计算机应用人员的**知识。
本书系统地讲述了操作系统的基本概念、原理、技术、策略及功能,尽可能多方面地提示操作系统的精髓和特征,以简洁、易懂的语言组织全书内容。
全书共7章,第1章介绍操作系统的基本知识,第2章详细说明进程管理的相关内容,第3章阐述处理机调度,第4章介绍存储管理,第5章介绍设备管理,第6章介绍文件系统,第7章介绍Linux网络及服务器配置实例。
本书既可作为高等院校计算机及相关专业本科、专科的教材,也可供从事计算机科学、工程、应用等方面工作的科技人员参考使用。

]

内容简介

[

 操作系统是计算机系统中较为重要的系统软件,在计算机学科的课程体系中占有重要的地位,是计算机及相关专业的一门基础必修课,也是计算机专业从业者必须掌握的知识。一本适用的教材对于操作系统的学习尤为重要。因此,作者在多年教学工作的基础上,结合Linux 2.4内核相关内容编写了此书。考虑到课程学习的有限课时数,我们对内容进行了精选,着重于操作系统基本概念、基本原理、实现策略、基本算法原理的阐述,力图从两个主线――操作系统的资源管理角度和面向用户的角度将操作系统内容组织成一个逻辑清晰的整体。全书共分7章。从操作系统的资源管理角度分别介绍了相关软硬件资源管理的内容,并在其中引入Linux 2.4相关的内容进行实例说明。

]

目录

第1章 概述…. 1
1.1 操作系统的定义… 3
1.1.1 面向用户的操作系统… 3
1.1.2 面向系统资源的操作系统… 4
1.1.3 操作系统的定义… 4
1.2 操作系统的发展简史… 5
1.2.1 手工操作阶段… 5
1.2.2 监督程序阶段… 5
1.2.3 执行系统阶段… 5
1.2.4 多道程序系统阶段… 6
1.2.5 操作系统的形成… 7
1.3 操作系统的分类… 7
1.4 计算机系统硬件简介… 11
1.4.1 中央处理器… 11
1.4.2 存储器… 11
1.4.3 磁盘… 12
1.4.4 I/O设备… 12
1.4.5 总线… 13
1.4.6 操作系统的工作过程… 13
1.5 系统调用… 15
1.5.1 系统调用的基本类型… 16
1.5.2 系统调用的实现… 16
1.6 现代操作系统的特征… 17
1.7 操作系统的发展趋势… 19
1.8 Linux操作系统简介… 20
1.8.1 Linux的产生… 20
1.8.2 Linux的特性… 20
1.8.3 Linux与Windows操作系统
之间的差别… 21
1.8.4 Linux的用户界面… 22
本章小结… 23
习题… 24
第2章 进程控制…. 25
2.1 进程的概念… 27
2.1.1 程序的顺序执行… 27
2.1.2 程序的并发执行… 28
2.1.3 进程的引入原因… 31
2.2 进程控制… 38
2.2.1 进程创建… 38
2.2.2 进程撤销… 40
2.2.3 进程阻塞… 41
2.2.4 进程唤醒… 42
2.2.5 Linux进程创建及执行实例… 43
2.3 进程间通信… 45
2.3.1 临界区与临界资源… 46
2.3.2 忙等的互斥… 46
2.3.3 用信号量机制实现互斥与
同步… 50
2.3.4 进程通信… 56
2.3.5 Linux IPC概述… 57
2.3.6 Linux管道通信… 58
2.3.7 Linux软中断通信… 60
2.4 经典的IPC问题… 63
2.4.1 生产者与消费者问题… 63
2.4.2 哲学家进餐问题… 63
2.4.3 读者-写者问题… 65
2.5 线程… 66
2.5.1 线程的引入及定义… 66
2.5.2 线程与进程的关系… 67
2.5.3 线程的实现方法… 68
2.5.4 Linux的线程管理… 68
2.5.5 Linux线程管理相关函数… 69
2.5.6 Linux线程管理举例… 70
2.6 管程… 71
2.6.1 管程的提出… 71
2.6.2 管程概念… 71
2.6.3 管程的组成… 71
2.6.4 管程的形式… 72
2.6.5 管程的三个主要特性… 73
2.7 死锁… 73
2.7.1 死锁的定义和起因… 73
2.7.2 规避死锁的方法… 74
2.8 小型案例实训… 77
本章小结… 78
习题… 78
第3章 处理机调度…. 81
3.1 作业的概念… 82
3.2 作业与进程的关系… 83
3.3 多级调度的概念… 84
3.3.1 高级调度… 84
3.3.2 中级调度… 85
3.3.3 低级调度… 85
3.3.4 线程调度… 85
3.4 调度算法… 85
3.4.1 作业调度算法… 86
3.4.2 进程调度算法… 87
3.5 进程调度的时机… 91
3.6 Linux进程调度… 91
3.6.1 Linux进程调度的目标… 91
3.6.2 Linux进程分类… 92
3.6.3 Linux进程优先级… 92
3.6.4 Linux进程调度程序… 93
3.6.5 进程调度策略… 94
3.6.6 可变优先级… 94
3.6.7 可变时间片… 94
3.6.8 Linux进程调度实现… 95
3.7 小型案例实训… 95
本章小结… 103
习题… 103
第4章 存储管理…. 106
4.1 存储管理概述… 107
4.1.1 计算机系统的存储体系… 108
4.1.2 存储器的组织方式… 109
4.2 单一连续存储管理… 112
4.3 分区存储管理… 112
4.3.1 固定分区方式… 112
4.3.2 可变分区方式… 114
4.3.3 分区式存储管理的特点… 116
4.3.4 分区式存储管理的内存扩充
技术… 117
4.4 分页存储管理… 119
4.4.1 分页存储管理的基本原理… 119
4.4.2 分页存储管理的数据结构… 120
4.4.3 页式地址结构及转换… 122
4.4.4 相联存储器和快表… 124
4.4.5 分页存储管理的内存分配与
回收… 125
4.4.6 分页存储管理的内存共享与
保护… 126
4.4.7 分页存储管理的特点… 127
4.5 分段存储管理… 127
4.5.1 分段存储管理的基本原理… 127
4.5.2 分段存储管理的数据结构… 128
4.5.3 分段存储管理的地址结构及
转换… 128
4.5.4 内存分配与回收… 129
4.5.5 段共享与保护… 130
4.5.6 分段存储管理的特点… 131
4.5.7 分页存储管理和分段存储管理
的区别… 131
4.6 段分页存储管理… 131
4.7 虚拟存储管理系统… 131
4.7.1 虚拟存储概述… 131
4.7.2 请求分页虚拟存储管理… 133
4.7.3 请求分段虚拟存储管理… 138
4.7.4 段页式虚拟存储管理… 138
4.8
Linux的存储管理… 139
4.8.1 Intel 80386体系结构下的内存管理机制 139
4.8.2 Linux地址转换机制… 142
4.8.3 Linux内存分配和释放… 143
4.8.4 Linux进程虚拟内存地址… 145
4.8.5 Linux页面操作… 147
4.9 小型案例实训… 149
本章小结… 153
习题… 153
第5章 设备管理…. 155
5.1 概述… 156
5.1.1 设备的分类… 156
5.1.2 设备管理的功能… 157
5.2 设备控制器… 158
5.2.1 设备控制器的基本功能… 158
5.2.2 设备控制器的组成… 159
5.3 数据传送控制方式… 159
5.3.1 程序直接控制方式… 160
5.3.2 中断控制方式… 160
5.3.3 DMA方式… 161
5.3.4 通道控制方式… 163
5.4 中断技术… 164
5.4.1 中断的基本概念… 164
5.4.2 中断类型… 166
5.4.3 中断的优先级… 167
5.4.4 软件中断… 168
5.5 缓冲技术… 168
5.5.1 缓冲技术的引入… 168
5.5.2 缓冲的分类与管理… 169
5.6 设备独立性… 169
5.7 设备分配… 170
5.7.1 设备分配中的数据结构… 170
5.7.2 设备分配时应考虑的因素… 171
5.8 SPOOLing系统… 172
5.9
Linux设备管理… 173
5.9.1 设备管理概述… 173
5.9.2 Linux的I/O控制… 175
5.9.3 字符设备与块设备管理… 177
5.10
小型案例实训… 178
本章小结… 182
习题… 183
第6章 文件系统…. 184
6.1 文件… 186
6.1.1 文件管理的几个基本概念… 186
6.1.2 文件分类… 187
6.2 文件组织形式… 187
6.2.1 文件的逻辑结构… 187
6.2.2 文件的物理结构… 188
6.3 文件存储空间的管理… 191
6.3.1 空闲文件目录法… 191
6.3.2 空闲块链法… 191
6.4 文件目录管理… 192
6.4.1 文件目录管理的基本要求… 192
6.4.2 文件控制块和索引节点… 193
6.4.3 文件目录结构… 193
6.4.4 文件共享… 194
6.4.5 文件保护… 195
6.5 文件操作… 196
6.6 文件系统的层次模型… 196
6.7
Linux文件系统概述… 198
6.7.1 Linux文件系统特点… 198
6.7.2 Linux的文件类型… 198
6.7.3 Linux的虚拟文件系统… 199
6.7.4 挂载、卸载文件系统… 201
6.7.5 ext2文件系统… 201
6.8 小型案例实训… 202
本章小结… 208
习题… 209
第7章 Linux网络及服务器配置
实例…. 211
7.1
Linux网络基础… 212
7.1.1 Linux网络的相关概念… 212
7.1.2 Linux的网络端口… 212
7.1.3 Linux网络的相关配置文件… 213
7.2 配置网卡… 216
7.2.1 配置TCP/IP 网络… 216
7.2.2 网络相关命令… 217
7.2.3 桌面环境下配置网卡… 218
7.2.4 配置网络的shell命令… 221
7.3
Linux网络服务… 223
7.3.1 服务器软件与网络服务… 223
7.3.2 管理服务… 224
7.4
samba服务器… 224
7.4.1 samba概述… 224
7.4.2 samba的安装… 227
7.4.3 samba的配置文件… 227
7.4.4 samba的文件共享… 227
7.4.5 samba的打印共享… 229
7.4.6 启动和停止samba服务… 230
7.4.7 编辑文件配置samba服务器
实例… 230
7.5
DNS服务器… 232
7.5.1 配置主DNS服务器… 232
7.5.2 配置辅助DNS服务器… 234
7.5.3 测试DNS服务器… 234
7.6
FTP服务器… 236
7.6.1 FTP服务器简介… 236
7.6.2 vsftpd服务器配置基础… 237
7.6.3 配置vsftpd服务器… 239
本章小结… 240
习题… 241
附录…. 242
参考文献…. 257

封面

操作系统原理及应用

书名:操作系统原理及应用

作者:陈敏

页数:268

定价:¥39.8

出版社:清华大学出版社

出版日期:2017-10-01

ISBN:9787302478928

PDF电子书大小:92MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注