操作系统原理与Linux系统实验
作者 : 庞丽萍,郑然
出版日期 : 2011-04-21
ISBN : 978-7-111-33568-9
适用人群 : 本书既可作为高等院校计算机和信息类本科、专科各专业
定价 : 29.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 253
开本 : 16
原书名 :
原出版社:
属性分类: 教材
包含CD :
绝版 :
图书简介

本书全面、系统地阐述了现代操作系统的基本原理、主要功能及实现技术。重点论述多用户、多任务操作系统的运行机制;系统资源管理的策略和方法;操作系统提供的用户界面。本书给出了一个操作系统实验体系。该实验体系涉及操作系统的核心实现技术和一些重要的实际应用,包括进程控制、增加新的系统功能调用、增加新的设备驱动程序等操作系统功能模块的实现方法;还包括Linux文件系统、服务器配置与应用的范例。每个实验都有一个完整的小体系,包括本实验的预备知识、实验指导、实验的要求和内容、还给出了实验范例。

图书特色

操作系统原理与Linux系统实验
庞丽萍 郑 然◎编著

本书内容:
本书系统、深入地阐述了现代操作系统的基本原理、主要功能及实现技术。重点论述了多用户、多任务操作系统的运行机制,系统资源管理的策略和方法。本书给出了一个操作系统实验体系,涉及操作系统核心的实现技术和一些重要的实际应用。如进程控制、增加新的系统功能调用、增加新的设备驱动程序等操作系统功能模块的实现方法;还包括Linux文件系统、服务器配置与应用实例。每个实验都是一个完整的小体系,包括本实验的预备知识、实验指导、实验的目的和内容以及实验中的程序范例。
本书特色:
内容选取注重基础性、实践性、先进性。
以并发共享为主线勾画操作系统的动态特征和实现技术,论述深入浅出、通俗易懂。
精心选择实验内容,涉及Linux系统核心实现技术和重要的实际应用,以丰富的预备知识、明确的实验指导、恰当的实验要求和内容、精练且适用的范例引导学生边干边学,通过实践学懂操作系统。
作者简介:
庞丽萍
华中科技大学教授,博士生导师,1967年毕业于北京邮电学院(现北京邮电大学)无线电通信专业。曾任国家教育部工科计算机基础课程教学指导委员会委员、中国计算机学会教育与培训专业委员会委员。长期从事计算机操作系统、分布式计算机系统的研究和教学工作;主要研究方向为并行分布式系统。编著的《操作系统原理》(第三版)2002年获全国普通高等学校优秀教材二等奖;主持的“操作系统原理”课程获2007年国家级精品课程;编著了《操作系统原理》等11本教材。1995年获首届“孺子牛金球奖”[香港柏宁顿(中国)教育基金会颁发];2003年获湖北省科技进步一等奖1项;获2004年度宝钢教育奖优秀教师奖。

郑 然
华中科技大学博士,副教授。主要从事操作系统原理、多核操作系统实践等课程的讲授,主要研究方向为高性能计算、图像处理应用、计算系统虚拟化。在国内外学术刊物和国际会议上发表论文30余篇,主持并参与多个国家项目。2003年获湖北省科技进步一等奖1项,2008年获湖北省科技进步二等奖1项;获得国家发明专利3项,软件著作版权5项。

图书前言

操作系统是计算机系统的核心软件,在计算机系统中占有重要的地位。学习操作系统就是要理解并熟练地运用它,为深入掌握计算机专业知识,进一步提升软件开发能力乃至系统软件开发能力打下坚实的基础。而要真正学懂操作系统却非易事,一方面需要有一本好的教材,另一方面则需要学习者的勤奋与努力。
  好的教材应能抓住操作系统原理的精髓,并能深入浅出地加以勾画与描述;还要有一套涉及操作系统核心的实验体系,使学生能方便地体验操作系统功能模块的实现方法,掌握与实际应用有关的技术。
  本教材针对操作系统内容庞杂、涉及面广的特点,在教材内容的选取上注重基础性、实质性、先进性,在框架的设计上注重逻辑性、完整性,将操作系统的内容组织成一个完整的逻辑整体;提炼现代多用户、多任务操作系统的本质特征,始终贯穿并发、共享的主线;深入浅出地描述现代操作系统的动态特征,论述操作系统的重要概念——进程、支持多进程并发活动必需的数据结构、进程控制与进程调度功能的实现技术,讨论系统资源的共享、资源管理的策略与方法。
  本教材针对操作系统实践性强的特征,以当前流行的Linux操作系统为例,给出了一个操作系统实验体系。该实验体系涉及操作系统的核心实验和一些重要的实际应用,其内容包括Linux系统的使用、Linux文件系统、服务器的配置与应用、proc文件系统、进程(线程)控制、进程间通信、系统功能调用的增加、设备驱动程序的加载、Linux主存管理等。每个实验都是一个完整的小体系,包括:预备知识、实验指导、实验目的和内容以及实验中的程序范例。
  在教材内容上,操作系统原理的论述和实验内容的讨论相互关联、相互印证,读者能以操作系统原理为指导,针对每一个实验去思考自己要做什么,并知道如何去做。这样,每次实验都会有收获,能更好地理解操作系统原理中有关的概念、操作系统实现的机制和策略,体验操作系统功能模块的实现技术。
  本教材的论述力求深入浅出,通俗易懂,使读者便于阅读和理解。实验内容经过精心的选择,实验中的程序范例都做了验证。
  我们在教学和编写教材的过程中,学习、参考了有关操作系统、UNIX系统、Linux系统方面的好的教材;在实验指导的写作过程中,参考了大量网络资源。我们对所有帮助过我们的老师、同行表示深深的感谢。由于篇幅所限,在参考文献中只列出了部分参考教材和网络资源所在的网站首页,请老师和同行谅解。另外,对机械工业出版社的领导及有关同志深表谢意,他们对此书的出版和发行做了大量的工作。
  恳切地希望能继续得到同行和读者的批评和帮助,以便使此书的质量能不断地提高。

庞丽萍 郑然  
2011年1月于武汉

上架指导

计算机\操作系统

封底文字

本书内容
本书系统、深入地阐述了现代操作系统的基本原理、主要功能及实现技术。重点论述多用户、多任务操作系统的运行机制;系统资源管理的策略和方法。本书给出了一个操作系统实验体系,涉及操作系统核心的实现技术和一些重要的实际应用。如进程控制、增加新的系统功能调用、增加新的设备驱动程序等操作系统功能模块的实现方法;proc文件系统、服务器配置与应用的范例。每个实验都有一个完整的小体系,包括本实验的预备知识、实验指导、实验的要求和内容、还给出了实验范例。



本书特色
? 教材内容的选取注重基础性、实质性、先进性。
? 以并发共享为主线勾画操作系统的动态特征和实现技术。论述深入浅出、通俗易懂。
? 精心选择实验内容,涉及Linux系统核心实现技术和重要的实际应用。以丰富的预备知识、明确的实验指导、恰当的实验要求和内容、精炼且适用的范例引导学生边干边学,通过实践学懂操作系统。

作者简介

庞丽萍:暂无

郑然:暂无

图书目录

前言
教学建议
第一篇 操作系统原理
第1章 绪论 2
1.1 操作系统与计算机系统的关系 2
1.1.1 计算机系统的组成 2
1.1.2 操作系统在计算机系统中的位置 4
1.1.3 操作系统与计算机体系结构的关系 5
1.2 操作系统的发展历程 7
1.2.1 操作系统的发展阶段 7
1.2.2 多道程序设计技术与分时技术 8
1.3 操作系统的基本概念 10
1.3.1 操作系统的定义和特性 10
1.3.2 操作系统的资源管理功能 12
1.4 操作系统的基本类型 14
1.4.1 批量操作系统 14
1.4.2 分时操作系统 14
1.4.3 实时操作系统 15
1.4.4 个人计算机操作系统 16
1.4.5 网络操作系统 16
1.4.6 分布式操作系统 17
1.5 操作系统采用的关键技术 19
1.5.1 操作系统采用的并行处理技术 19
1.5.2 操作系统采用的虚拟技术 20
习题1 20
第2章 操作系统的运行基础与结构 22
2.1 操作系统的运行基础 22
2.1.1 处理机的态 22
2.1.2 特权指令 23
2.1.3 中断概念及类型 23
2.1.4 中断进入 24
2.1.5 软件中断处理过程 26
2.1.6 向量中断 27
2.2 操作系统虚拟机 28
2.3 操作系统的逻辑结构 29
2.3.1 操作系统的四种组织结构 29
2.3.2 Linux操作系统的逻辑结构 31
2.4 操作系统运行时的调用方式 32
习题2 33
第3章 操作系统的用户界面 34
3.1 操作系统提供的环境 34
3.1.1 操作系统的生成和系统引导 34
3.1.2 应用程序的处理 37
3.2 用户界面 39
3.2.1 用户界面概述 39
3.2.2 操作系统提供的用户界面 39
3.3 系统功能调用 41
3.3.1 系统功能调用的定义 41
3.3.2 系统功能调用的实现 42
3.3.3 应用编程接口 43
习题3 43
第4章 进程及进程管理 44
4.1 进程的引入 44
4.1.1 程序的顺序执行 44
4.1.2 程序的并发执行 45
4.2 进程的相关概念 48
4.2.1 进程的定义 48
4.2.2 进程的状态与变迁 49
4.2.3 进程描述 50
4.2.4 线程的定义与状态 52
4.3 进程控制 54
4.3.1 进程控制的概念 54
4.3.2 进程创建与撤销 54
4.3.3 进程等待与唤醒 55
4.4 进程协作与系统的支持 56
4.4.1 进程竞争与合作 57
4.4.2 进程互斥的概念 57
4.4.3 进程同步的概念 59
4.4.4 锁和上锁、开锁操作 60
4.4.5 信号灯和P、V操作 61
4.5 进程互斥与同步的实现 62
4.5.1 用锁机制实现进程互斥 62
4.5.2 用信号灯机制实现进程互斥 62
4.5.3 进程同步的实现 63
4.5.4 生产者(消费者问题 66
4.6 进程通信 67
4.6.1 进程通信的概念 67
4.6.2 进程通信方式 67
习题4 69
第5章 操作系统的资源管理 71
5.1 资源管理的机制与策略 71
5.1.1 资源管理任务 71
5.1.2 虚拟资源 72
5.1.3 资源分配机制 73
5.1.4 资源分配策略 74
5.2 死锁及其解决方法 76
5.2.1 死锁的定义与例子 76
5.2.2 产生死锁的原因和必要条件 77
5.2.3 解决死锁问题的策略 78
5.2.4 死锁的预防 79
5.2.5 死锁的避免 79
5.3 处理机管理 80
5.3.1 处理机的多级调度 80
5.3.2 作业调度 81
5.3.3 进程调度的功能 84
5.3.4 调度方式 84
5.3.5 进程调度算法 85
5.3.6 调度用的进程状态变迁图 86
5.4 主存管理 87
5.4.1 主存管理的功能 87
5.4.2 分区存储管理及其存在的问题 91
5.4.3 分页存储管理的基本概念 95
5.4.4 页式地址变换 97
5.4.5 请求页面的机制 98
5.4.6 淘汰机制与策略 100
5.4.7 段页式存储管理 104
5.5 设备管理 107
5.5.1 设备管理的功能 107
5.5.2 设备独立性与设备控制块 108
5.5.3 缓冲技术 110
5.5.4 设备分配技术 112
5.5.5 输入/输出控制 114
5.6 文件系统 118
5.6.1 文件与文件系统 118
5.6.2 文件的逻辑结构和存取方法 120
5.6.3 文件的物理结构 121
5.6.4 文件目录 125
5.6.5 文件共享与安全 127
5.6.6 文件操作与文件备份 130
习题5 132
第6章 Linux系统简介 136
6.1 Linux的发展历程 136
6.2 Linux的基本特性 137
6.3 Linux的发行版本 138
6.4 Linux内核版本 141
6.5 学习Linux的几点建议 142
第二篇 Linux系统实验
实验一 Linux系统的使用 144
<一> 预备知识 144
(一)Linux系统的安装 144
(二)Linux系统的组成 148
(三)Linux系统的用户界面 148
<二> 实验指导 150
(一)屏幕编辑程序vi 150
(二)Shell脚本编程 152
(三)编译器gcc 155
<三> 实验目的、内容和范例 156
(一)实验目的 156
(二)实验内容 156
(三)实验范例 156
实验二 Linux文件系统 158
<一> 预备知识 158
(一)Linux文件系统简介 158
(二)Linux系统的目录结构 159
(三)Linux文件属性 161
<二> 实验指导 163
(一)文件系统的生成和加载 163
(二)文件系统操作命令 165
(三)文件操作函数 166
<三> 实验目的、内容和范例 169
(一)实验目的 169
(二)实验内容 169
(三)实验范例 169
实验三 服务器的配置与应用 170
<一> 预备知识 170
(一)Linux配置文件 170
(二)Linux网络配置 171
(三)Linux远程控制 174
<二> 实验指导 175
(一)架设Web服务器 175
(二)架设FTP服务器 178
(三)架设Email服务器 178
<三> 实验目的和内容 181
(一)实验目的 181
(二)实验内容 181
实验四 proc文件系统 182
<一> 预备知识 182
(一)proc文件系统功能 182
(二)proc文件描述 183
(三)proc进程目录结构 184
<二> 实验指导 185
(一)proc信息获取 185
(二)终端图形编程curses库 186
(三)图形界面编程GTK和Qt工
具包 188
<三> 实验目的、内容和范例 190
(一)实验目的 190
(二)实验内容 190
(三)实验范例 190
实验五 进程(线程)控制 192
<一> 预备知识 192
(一)Linux进程及其属性 192
(二)Linux进程派生关系 193
(三)Linux线程 194
<二> 实验指导 196
(一)Linux进程管理命令 196
(二)Linux进程控制函数 198
(三)Linux守护进程 199
<三> 实验目的、内容和范例 200
(一)实验目的 200
(二)实验内容 200
(三)实验范例 201
实验六 进程间通信 202
<一> 预备知识 202
(一)Linux进程间通信 202
(二)进程软中断通信 204
(三)管道和消息队列 205
<二> 实验指导 208
(一)软中断通信函数 208
(二)管道通信的使用 210
(三)消息队列的应用 211
<三> 实验目的、内容和范例 213
(一)实验目的 213
(二)实验内容 213
(三)实验范例 213
实验七 增加新的系统调用 216
<一> 预备知识 216
(一)Linux内核结构 216
(二)Linux内核源代码 218
(三)Linux系统调用 219
<二> 实验指导 220
(一)系统调用的添加 220
(二)Linux内核编译 221
<三> 实验目的和内容 222
(一)实验目的 222
(二)实验内容 222
实验八 增加新的设备驱动程序 223
<一> 预备知识 223
(一)Linux设备分类 223
(二)Linux设备文件 224
(三)Linux设备驱动 225
<二> 实验指导 226
(一)设备驱动函数 226
(二)模块方式动态加载 227
(三)编译时静态加载 228
<三> 实验目的、内容和范例 229
(一)实验目的 229
(二)实验内容 229
(三)实验范例 230
实验九 Linux主存管理 235
<一> 预备知识 235
(一)Linux主存管理简介 235
(二)Linux主存分配 236
(三)Linux主存回收 238
<二> 实验指导 239
(一)主存信息的监视 239
(二)主存的申请和释放 241
<三> 实验目的、内容和范例 242
(一)实验目的 242
(二)实验内容 242
(三)实验范例 242
参考文献 243

教学资源推荐
作者: 凌云 吴海燕 谢满德 编著
作者: 黄岚 王岩 王康平 编著
作者: 朱鸣华 等编著
作者: (美)塞巴斯蒂安·拉施卡(Sebastian Raschka),瓦希德·米尔贾利利(Vahid Mirjalili)著
参考读物推荐
作者: 王海富 著
作者: 胡文 宁世勇 李明俊 金雪松 编著
作者: (英)Martin Fowler 著
作者: (美)Joe Duffy 著