操作系统原理及应用(Linux)

-
【作 者】王红 主编
【I S B N 】978-7-5084-2912-0
【责任编辑】宋俊娥
【适用读者群】本科
【出版时间】2007-08-01
【开 本】16开本
【装帧信息】平装(光膜)
【版 次】第1版
【页 数】
【千字数】
【印 张】
【定 价】¥26
【丛 书】21世纪高等院校规划教材
【备注信息】
简介
本书特色
前言
章节列表
精彩阅读
下载资源
相关图书
本书介绍操作系统的基本原理及应用,并以Linux操作系统作为具体实例加以说明。全书共9章,主要内容包括操作系统的基本概念、功能、操作系统的发展史及Linux操作系统概述,进程的概念、进程描述、进程控制、进程的同步与互斥、进程通信及线程,作业调度及进程调度、死锁的概念与产生原因以及解决死锁的方法,各种内存管理及分配方法的思想、数据结构、重定位及实现原理,文件的逻辑结构、物理结构及文件系统的构成,操作系统对设备的控制、分配、缓冲区的管理等,Linux系统的网络功能,现代流行的UNIX、Windows2000操作系统的特点、原理以及分布式操作系统的概况,操作系统的安全性。
本书例题及课后习题丰富,便于初学者对操作系统原理进行理解、掌握并运用;在配套教材《操作系统原理及应用??学习指导与题解》中,为各章提供了内容要点复习、教材习题解答、新增习题及解答,并为各部分原理提供了一些实训内容。
本书内容全面,选材适当,结构合理,理论结合实际,可作为应用型本科、成人高校、高职高专院校计算机及相关专业的操作系统课程的教材,也可以作为相关专业的师生及专业技术人员的参考书。
本书所配电子教案可以从中国水利水电出版社网站下载,网址为Http://www.waterpub.com.ca/softdown/。
计算机操作系统管理计算机系统所有的软件和硬件资源,同时为用户提供一个方便、安全、可靠的工作环境。操作系统课程是计算机专业学生的必修课程,掌握并理解计算机操作系统的基本原理和方法,对计算机专业的学生和技术人员来说是非常必要的。
由于操作系统在计算机系统中所处的特殊地位,以及它具有的抽象性及理论深度,使得这门课程并不是那么容易真正学懂弄通。很多初学者会感到这门课程理论性太强、概念原理太多,不容易记住,更不易掌握,特别是在本科操作系统课程中,选择合适的实验内容是一个普遍的难题。编者正是在这种情况下,在结合多年操作系统课程教学经验的基础上对该教材进行了编写。
本书主要讲述操作系统的基本原理及应用,具体实例采用Linux操作系统。内容共分9章,第1章介绍操作系统的基本概念、功能、操作系统的发展史及Linux操作系统概述;第2章介绍进程的概念、进程描述、进程控制、进程的同步与互斥、进程通信及线程;第3章介绍作业调度及进程调度,死锁的概念与产生的原因,以及解决死锁的方法;第4章介绍操作系统对内存的管理方法,主要介绍各种内存管理及分配方法的思想、数据结构、重定位及实现原理;第5章介绍操作系统对文件的管理,重点介绍文件的逻辑结构、物理结构及文件系统的构成;第6章介绍操作系统对设备的管理方法,主要介绍对设备的控制、分配、缓冲区的管理等;第7章介绍Linux系统的网络功能;第8章为现代操作系统,介绍了现代流行的UNIX、Windows 2000操作系统的特点、原理以及分布式操作系统的概况;第9章介绍操作系统的安全性。
本书由王红主编,侯刚、张凤云、杨德芳任副主编。各章主要编写人员分工如下:第2章、第3章、第8章由王红编写;第1章、第6章、第9章由侯刚编写;第4章由杨德芳编写;第5章、第7章由张凤云编写;参加本书编写的还有沈祥玖、王成端、陈光军、王承君、肖孟强、刘永华、宗绪锋、李禹生、安志远等。全书由王红统稿。
全书内容在介绍原理的基础上,注重理论与实践相结合。在本书的配套实训教材中,为各章提供了习题解答、内容要点复习、新增例题、习题及解答,并为各部分原理提供了一些实训内容。
本书可以作为本科,特别是应用型本科计算机专业的操作系统教材,也可以作为计算机专业技术人员的参考书。
对于本书,虽然编写小组付出了很大努力,但由于作者水平有限,出现错误在所难免,希望广大读者批评指正。
编 者
2005年3月
前言
第1章 操作系统概论 1
本章学习目标 1
1.1 操作系统的地位 1
1.2 操作系统的功能 2
1.2.1 提供人机接口 2
1.2.2 管理计算机资源 5
1.3 操作系统的发展过程 9
1.3.1 推动操作系统发展的主要动力 9
1.3.2 无操作系统的计算机系统 9
1.3.3 单道批处理系统 10
1.3.4 多道批处理系统 11
1.3.5 分时系统 12
1.3.6 实时系统 13
1.3.7 微机操作系统 14
1.3.8 网络操作系统 15
1.3.9 分布式操作系统 15
1.4 操作系统的特性 15
1.5 操作系统的体系结构 16
1.5.1 层次结构 16
1.5.2 微内核结构 16
1.6 Linux介绍 17
1.6.1 Linux简介 17
1.6.2 UNIX、GNU与Linux 18
1.6.3 Linux的历史 20
1.6.4 Linux的内核特征 22
1.6.5 Linux的发展及展望 24
本章小结 26
习题一 27
第2章 进程管理 28
本章学习目标 28
2.1 进程的基本概念 28
2.1.1 程序的顺序执行及其特征 28
2.1.2 程序的并发执行及其特征 29
2.1.3 进程的定义与特征 30
2.1.4 进程的基本状态及转换 31
2.1.5 Linux进程的状态 33
2.2 进程的描述 35
2.2.1 进程控制块PCB 35
2.2.2 进程控制块的组织方式 36
2.2.3 Linux进程的PCB 38
2.3 进程控制 39
2.3.1 进程的创建与终止 39
2.3.2 几个相关的Linux系统调用 40
2.3.3 进程的阻塞与唤醒 41
2.4 进程的同步与互斥 42
2.4.1 临界资源的概念 42
2.4.2 进程的互斥与同步 43
2.4.3 锁机制 44
2.4.4 信号量机制 44
2.5 进程同步问题举例 48
2.5.1 生产者—消费者问题 48
2.5.2 读者—写者问题 50
2.5.3 哲学家进餐问题 51
2.6 进程通信 52
2.6.1 共享存储器系统 53
2.6.2 消息传递系统 56
2.6.3 管道通信系统 60
2.6.4 信号通信机制 60
2.7 线程 63
2.7.1 线程的基本概念 63
2.7.2 线程的状态与转换操作 63
2.7.3 引入线程的好处 64
2.7.4 多线程的实现 64
本章小结 65
习题二 66
第3章 处理机调度与死锁 68
本章学习目标 68
3.1 分级调度 68
3.1.1 调度的层次 69
3.1.2 作业与进程的关系 70
3.2 作业调度 70
3.2.1 作业调度的功能 70
3.2.2 调度算法的评价及准则 73
3.3 进程调度 74
3.3.1 进程调度的功能 74
3.3.2 进程调度的时机 75
3.3.3 进程上下文的切换 75
3.3.4 Linux系统中进程调度发生的时机 76
3.4 调度算法 76
3.4.1 单道批处理系统的调度算法 77
3.4.2 多道批处理系统的调度算法 79
3.4.3 优先级调度算法 79
3.4.4 轮转调度算法 82
3.5 Linux系统的调度算法 85
3.5.1 Linux系统的进程调度策略 85
3.5.2 Linux系统的优先级调度策略 86
3.5.3 实时进程的调度策略 88
3.6 死锁问题 88
3.6.1 死锁的概念 89
3.6.2 产生死锁的原因及必要条件 89
3.6.3 解决死锁问题的基本方法 90
3.7 死锁的预防与避免 91
3.7.1 死锁的预防 91
3.7.2 死锁的避免 92
3.8 利用银行家算法避免死锁 93
3.8.1 银行家算法中的数据结构 93
3.8.2 银行家算法的实现 94
3.8.3 银行家算法的应用 95
3.9 死锁的检测与解除 97
3.9.1 死锁检测的时机 97
3.9.2 死锁的检测 97
3.9.3 死锁的解除 99
本章小结 100
习题三 100
第4章 存储器管理 102
本章学习目标 102
4.1 存储器管理概述 102
4.1.1 存储器的层次 103
4.1.2 用户程序的处理过程 103
4.2 连续分配存储管理方式 106
4.2.1 单道程序的连续分配 106
4.2.2 固定分区分配方式 107
4.2.3 动态分区分配 107
4.2.4 可重定位分区 110
4.3 分页存储管理方式 111
4.3.1 页式存储管理的系统应解决的问题 111
4.3.2 分页存储管理的基本方法 111
4.3.3 两级和多级页表 114
4.4 分段存储管理方式 116
4.4.1 分段存储管理方式的基本原理 116
4.4.2 信息共享 118
4.4.3 段页式存储管理方式 118
4.5 虚拟存储器的基本概念 121
4.5.1 虚拟存储器的引入 121
4.5.2 虚拟存储器的实现方法及其特征 122
4.6 请求分页 123
4.6.1 请求分页的实现 123
4.6.2 页面置换算法 125
4.7 请求分段存储管理 127
4.7.1 请求分段的实现 127
4.7.2 段的共享与保护 130
4.8 Linux系统的内存管理方法 131
4.8.1 Linux的分页管理机制 131
4.8.2 虚存段的组织与管理 133
4.8.3 内存的共享和保护 135
4.8.4 内存空间管理 136
4.8.5 空闲内存管理 136
4.8.6 内核态内存的申请与释放 137
4.8.7 用户态内存的申请与释放 138
4.8.8 交换空间 139
4.8.9 页交换进程和页面换出 140
4.8.10 缺页中断和页面换入 142
4.8.11 存储管理系统的缓冲机制 142
本章小结 143
习题四 144
第5章 文件管理 147
本章学习目标 147
5.1 文件管理概述 147
5.1.1 文件及其分类 147
5.1.2 文件系统及其功能 149
5.2 文件的结构 150
5.2.1 文件的逻辑结构 150
5.2.2 文件的物理结构 151
5.3 文件目录管理 155
5.3.1 文件控制块和索引节点 155
5.3.2 文件目录结构 157
5.3.3 按名存取 159
5.3.4 Linux文件目录 160
5.4 Linux文件系统 162
5.4.1 Linux文件的物理结构 163
5.4.2 Linux文件系统 164
5.5 文件存储空间的管理 168
5.5.1 空闲空间表法 168
5.5.2 空闲块链法 169
5.5.3 位示图法 169
5.5.4 空闲块成组链接法 170
5.6 文件共享与安全性 172
5.6.1 文件的共享 172
5.6.2 文件的安全性 173
5.7 Linux系统的文件操作 175
5.7.1 文件操作命令 175
5.7.2 目录操作命令 178
5.7.3 存取控制命令 179
5.7.4 磁盘存储命令 181
5.7.5 磁盘操作 182
5.7.6 常用系统调用 182
本章小结 185
习题五 186
第6章 设备管理 187
本章学习目标 187
6.1 I/O系统组成 187
6.1.1 I/O设备 187
6.1.2 设备控制器 189
6.1.3 I/O通道 190
6.2 数据传输控制方式 192
6.2.1 程序直接控制方式 192
6.2.2 中断控制方式 193
6.2.3 DMA方式 193
6.2.4 通道控制方式 194
6.3 中断技术 197
6.3.1 中断的概念 197
6.3.2 中断源 197
6.3.3 中断响应 197
6.3.4 中断处理 198
6.4 缓冲技术 199
6.4.1 缓冲的引入 199
6.4.2 单缓冲 200
6.4.3 双缓冲 200
6.4.4 循环缓冲 201
6.4.5 缓冲池 201
6.5 设备分配 202
6.5.1 与设备分配相关的因素 202
6.5.2 虚拟设备技术 204
6.6 SPOOLING系统 204
6.6.1 SPOOLING系统的简介 204
6.6.2 SPOOLING系统的组成 205
6.7 I/O控制过程 206
6.7.1 用户进程的I/O请求 206
6.7.2 设备驱动 206
6.8 磁盘I/O 207
6.8.1 磁盘存储格式 207
6.8.2 磁盘I/O性能 207
6.8.3 磁盘调度 208
6.8.4 磁盘高速缓存 209
6.9 Linux系统的设备管理 210
6.9.1 Linux系统设备管理的特点 210
6.9.2 Linux设备驱动程序的接口 210
6.9.3 Linux的磁盘高速缓存 212
6.9.4 Linux的字符设备缓冲区管理 214
6.9.5 Linux的设备驱动 215
本章小结 218
习题六 218
第7章 Linux网络基础 220
本章学习目标 220
7.1 TCP/IP协议简介 220
7.1.1 网络概述 220
7.1.2 TCP/IP协议 221
7.2 配置Linux网络 224
7.2.1 网络配置文件 224
7.2.2 手工配置TCP/IP网络 226
7.3 基本网络服务介绍 228
7.3.1 域名服务器(DNS) 228
7.3.2 Apache服务器 229
7.3.3 邮件服务器 231
7.3.4 samba服务器 232
7.4 Linux网络安全 234
7.4.1 Linux系统的文件安全 234
7.4.2 用户口令安全 235
7.4.3 防火墙技术 235
7.4.4 Linux常用的网络命令 238
本章小结 241
习题七 242
第8章 现代操作系统实例 243
本章学习目标 243
8.1 UNIX操作系统 243
8.1.1 UNIX操作系统的发展 243
8.1.2 UNIX操作系统的特点 243
8.1.3 UNIX系统的内核结构 244
8.1.4 UNIX系统的进程管理 245
8.1.5 UNIX系统的内存管理 249
8.1.6 UNIX系统的文件管理 250
8.1.7 UNIX系统的设备管理 253
8.2 Windows 2000操作系统 254
8.2.1 Windows 2000概述 254
8.2.2 Windows 2000中的进程和线程的特点 255
8.2.3 Windows 2000中进程的实现 255
8.2.4 Windows 2000中线程的实现 256
8.2.5 Windows 2000 的调度算法 256
8.2.6 Windows 2000的内存管理 257
8.2.7 Windows 2000的文件系统 257
8.2.8 Windows 2000设备管理的特点 258
8.3 分布式操作系统 258
8.3.1 分布式操作系统的特性 258
8.3.2 进程迁移 259
8.3.3 分布式进程管理 260
本章小结 262
习题八 262
第9章 操作系统的安全性 264
本章学习目标 264
9.1 操作系统安全性概述 264
9.1.1 计算机系统安全性的内涵 264
9.1.2 操作系统的安全性 265
9.1.3 计算机系统安全性评价标准 266
9.2 操作系统的安全机制 268
9.2.1 内存保护机制 269
9.2.2 用户身份认证机制 269
9.2.3 访问控制技术 271
9.2.4 加密技术 273
9.2.5 病毒及其防御机制 273
9.2.6 监控和审计日志 274
本章小结 275
习题九 275
参考文献 277本书介绍操作系统的基本原理及应用,并以Linux操作系统作为具体实例加以说明。全书共9章,主要内容包括操作系统的基本概念、功能、操作系统的发展史及Linux操作系统概述,进程的概念、进程描述、进程控制、进程的同步与互斥、进程通信及线程,作业调度及进程调度、死锁的概念与产生原因以及解决死锁的方法,各种内存管理及分配方法的思想、数据结构、重定位及实现原理,文件的逻辑结构、物理结构及文件系统的构成,操作系统对设备的控制、分配、缓冲区的管理等,Linux系统的网络功能,现代流行的UNIX、Windows2000操作系统的特点、原理以及分布式操作系统的概况,操作系统的安全性。
本书例题及课后习题丰富,便于初学者对操作系统原理进行理解、掌握并运用;在配套教材《操作系统原理及应用??学习指导与题解》中,为各章提供了内容要点复习、教材习题解答、新增习题及解答,并为各部分原理提供了一些实训内容。
本书内容全面,选材适当,结构合理,理论结合实际,可作为应用型本科、成人高校、高职高专院校计算机及相关专业的操作系统课程的教材,也可以作为相关专业的师生及专业技术人员的参考书。
本书所配电子教案可以从中国水利水电出版社网站下载,网址为Http://www.waterpub.com.ca/softdown/。
- C语言同步案例习题精解 [主编 肖朝晖]
- Python程序设计 [李国燕 王新强 刘佳 等编著]
- 高等数学(下册) [秦红兵]
- 智慧畜牧业技术 [主编 连卫民 张志明 王辉]
- Python程序设计项目化教程 [主编 卢凤伟]
- 人工智能算法与实践 [主编 梁琨 张翼英]
- 网页设计与制作 [主编 王潇 章明珠]
- Python办公自动化—玩转Excel [郝春吉 刘智杨 周永福 黄 诠]
- 人工智能概论(第二版) [张广渊 周风余 朱振方 著]
- Web安全基础及项目实践 [主编 郑丽 安厚霖 崔俊鹏]
- 电路与电子技术Ⅲ——模拟电子技术 [主编 刘峰]
- 线性代数 [主编 惠小健 王震 卢鸿艳]
- 信息安全技术基础(第二版) [主编 张浩军 陈莉 王峰]
- 电气与控制工程项目管理 [邹红利 滕璇璇 陈德山 编著]
- 计算机网络技术项目化教程(微课版) [主编 王艳萍 安华萍]
- 自然拼读背单词:基础英语4000词(微课版) [陈雪 编著]
- 剪枝——庭院常见植物修剪 [[英]大卫·斯夸尔]
- 电子产品生产与检测 [主编 李恒 杨国辉 练斌]
- Web前端开发项目化教程(微课版) [主编 郭立文 王洪波]
- 数据清洗 [黄源 刘智杨 孙大松]
- 计算机应用基础与实践(Windows 7平台与Office 2016应用) [主编 吕波 何敏]
- 程序员考前冲刺100题 [黄少年 李竹村 曾哲军 编著]
- 办公自动化高级应用案例教程(微课版) [高海波 张诚 杨顺]
- UI创意设计 [主 编 赵艳莉]
- Photoshop图形图像处理项目式教程(微课版) [主 编 韦连春]
- 摄影与剪辑(微课版) [主编 康永斌 杨华 李建伟 副]
- 美国儿童英语自然拼读法(中外教精讲版)(上、下册) [好想学英语教研组 编著]
- 零基础英语语法趣味自学 [宣利 著 黎娟 译]
- “五小工”劳动技能培训教程 [张希跃 王其梁]
- 数据挖掘算法—基于C++及CUDA C [蒂莫西•马斯特斯(Timothy]