
本书通过实用操作系统的现象引导,针对性引出操作系统的理论。前6章介绍了操作系统的概念、处理机管理、存储管理、作业管理、文件系统和设备管理,第7章整体分析了操作系统的设计方法。
本书提供了大量习题供读者练习,并配备了基于Windows XP和Linux操作系统不同层次的14个实验供读者选用,内容由浅入深,可帮助读者消化知识。
本书可作为高等学校计算机工程和应用类专业的教材,也适合计算机相关专业人员用作参考书,计算机工程技术人员阅读本书也会有所受益。
根据教育部全国高等学校计算机本科专业教育评估委员会精神,计算机专业可以细分为研究型、工程型、应用型三种培养模式,其中应用型模式培养的是从事计算机系统集成的应用人才。我们针对应用型模式的专业定位和人才培养目标,编写这本教材,期望给广大师生一本贴近实际应用,理论和实际融会贯通的教学用书。
人们开始认识计算机操作系统,并不是来自于理论渠道,而是在使用计算机的过程中感叹于操作系统的神奇。因此完全可以从实用操作系统的现象入手,引导学生进入操作系统的理论殿堂,然后再用理论去说明现象。学生便从他们日常学习的工具开始,逐步了解了操作系统课程的意义,学习不再枯燥,这正是我们编写这本教材想达到的目的。我们曾经用同样的思路编写过类似教材,出版后深受欢迎,几乎每半年加印一次。这次编写本书,吸取了前期的经验,同时更注重实验的针对性。本书可作为高等学校计算机专业的本科教材,也可作为其他理工科专业学习计算机课程的教学用书,还可作为那些从事计算机工作的人员的参考书。
为了引起兴趣和便于消化,本书选择了人们身边用得最多的两个操作系统作为实例贯穿始终。单用户多任务的代表Windows XP操作系统伸手可及,自由源代码的多用户操作系统Linux发展势头强劲。操作系统的经典理论就蕴涵在这些系统之中,生动的图片、调试过的程序都能够说明: 学习操作系统是用来创造的,我们能够利用现有的系统开发出计算机系统的强大功能。
全书分为8章。第1章让学习者全面了解操作系统的概念,第2章~第6章是操作系统的主要控制及管理部分,第7章介绍操作系统整体设计中要考虑的问题,第8章给出了14个实验。第1章~第6章后面配有相应的练习题,帮助学生更好的掌握所学的知识。考虑到不同学校和计算机专业分支的实际情况,本书配备的14个实验既有认知型,又有设计型和综合型,具有很强的针对性并易于实现,授课老师可以依据学生的程度和自己的教学计划自由取舍。
颜彬提出本书的编写大纲,编写了第1章~第7章,李登实编写了第8章。杨丞和马龙同学协助调试和实现了书中的部分程序,我们的同事们给予了许多支持与建议,在此一并表示感谢。
由于时间仓促,作者水平有限,书中难免出现错误和疏漏,请广大读者批评指正。
作者
2007年1月
第1章操作系统概述
1.1计算机与操作系统
1.1.1计算机系统
1.1.2实用操作系统
1.2操作系统的功能
1.2.1操作系统的定义
1.2.2操作系统的功能
1.2.3操作系统设计原则
1.2.4操作系统的发展
1.3操作系统的分类
1.3.1多道批处理系统
1.3.2分时系统
1.3.3实时系统
1.3.4几种操作系统的比较
1.3.5典型操作系统介绍
1.4操作系统的观点
1.4.1资源管理观点
1.4.2用户管理观点
1.4.3进程管理观点
1.5本章小结
习题
第2章处理机管理
2.1概述
2.1.1多用户
2.1.2程序
2.1.3并发程序
2.1.4Linux中的描述
2.2进程及其状态
2.2.1进程的定义
2.2.2进程的状态及其转换
2.2.3进程描述机构和进程实体
2.3进程控制
2.3.1原语
2.3.2进程控制原语
2.3.3Linux中的进程控制
2.3.4Windows中的进程控制
2.4进程同步
2.4.1互斥关系
2.4.2同步关系
2.4.3临界区实现方法
2.4.4用P、V操作实现互斥与同步
2.5进程通信
2.5.1消息通信
2.5.2管道文件
2.5.3Windows中的进程通信
2.5.4Linux中的进程通信
2.6死锁
2.6.1死锁的定义
2.6.2死锁发生的必要条件
2.6.3对抗死锁
2.7实用系统中的进程
2.8本章小结
习题
第3章存储管理
3.1实用系统中的存储管理方法
3.1.1DOS分区及分段
3.1.2Windows XP的存储器
3.1.3Linux存储管理
3.2存储管理功能
3.2.1用户实体与存储空间
3.2.2分配、释放及分配原则
3.2.3地址映射
3.2.4虚拟存储器
3.2.5存储保护与共享
3.2.6存储区整理
3.3分区管理
3.3.1单一分区
3.3.2多重固定分区
3.3.3多重动态分区
3.4分页管理
3.4.1静态分页管理
3.4.2动态分页管理
3.5分段与段页式管理
3.5.1分段管理
3.5.2段页式管理
3.6常用系统的存储管理方案
3.6.1DOS的存储管理
3.6.2Windows XP的存储管理
3.6.3Linux的存储管理
3.7本章小结
习题
第4章作业管理
4.1用户界面
4.1.1作业控制语言
4.1.2作业控制命令
4.1.3菜单控制
4.1.4窗口和图标
4.1.5系统调用
4.2作业
4.2.1作业的状态
4.2.2作业控制块
4.2.3作业调度程序
4.3作业与资源
4.3.1资源管理的目的
4.3.2资源分配策略
4.4进程调度与作业调度
4.4.1调度算法设计原则
4.4.2作业调度算法
4.4.3进程调度算法
4.4.4实用系统中的调度算法
4.5作业与任务、进程、程序
4.6本章小结
习题
第5章文件系统
5.1Windows中的文件
5.1.1资源管理器
5.1.2记事本
5.1.3文件的不同形态
5.2文件和文件系统的基本概念
5.2.1文件
5.2.2文件系统
5.2.3文件的逻辑结构和存取方法
5.2.4文件的物理结构和存储设备
5.2.5Linux的文件物理结构
5.3文件管理
5.3.1文件控制块
5.3.2Linux的索引结点
5.3.3一级结构
5.3.4二级文件
5.3.5树形结构
5.3.6基本文件和符号文件
5.3.7Linux结构的特点
5.3.8Windows XP文件系统的结构
5.4文件存储空间管理
5.4.1文件系统常用的存储空间管理方法
5.4.2FAT磁盘格式
5.4.3FAT32磁盘格式特点
5.5文件的操作
5.5.1有关文件操作的系统调用命令
5.5.2Linux中的文件系统调用命令及工作过程
5.5.3Windows中的文件系统
5.6文件的共享与安全
5.6.1文件的共享
5.6.2文件的安全
5.6.3安全控制手段
5.7本章小结
习题
第6章设备管理
6.1概述
6.1.1外设的分类
6.1.2设备管理的功能
6.2设备标识与设备驱动程序
6.2.1逻辑设备与物理设备
6.2.2实用系统中的逻辑设备和物理设备
6.2.3设备驱动程序
6.3输入/输出控制方式
6.3.1程序控制输入/输出方式
6.3.2中断输入/输出方式
6.3.3直接存储器访问方式
6.3.4通道方式
6.3.5Windows中的数据传输控制方式
6.4设备分配
6.4.1设备分配中的数据结构
6.4.2设备分配思想
6.4.3Spooling技术
6.5设备管理涉及到的常用技术
6.5.1中断技术
6.5.2缓冲技术
6.6Windows和Linux中的设备管理
6.6.1Windows的设备管理
6.6.2Linux的设备管理
6.7本章小结
习题
第7章操作系统的整体设计
7.1操作系统的各种模型
7.1.1网状结构与层次结构
7.1.2面向过程与面向对象
7.2分布式操作系统
7.2.1分布式系统定义
7.2.2分布式操作系统的设计目标
7.3网络操作系统
7.3.1什么是网络
7.3.2网络的结构
7.3.3网络操作系统
7.4Windows的网络操作系统
7.4.1网络构成
7.4.2Windows的结构
7.4.3Windows的管理职能
7.4.4Windows Server的安全与监视
7.5Linux操作系统
7.5.1Linux体系结构
7.5.2Linux模块化加载
7.5.3核心数据结构
7.5.4设备驱动
7.5.5文件系统
7.5.6Linux特性
第8章实验
实验1vi编辑器使用
实验2Linux基本操作命令
实验3Linux进程基本管理
实验4Windows基本进程管理
实验5Linux进程控制
实验6Windows进程的控制
实验7Linux进程通信
实验8Linux内存基本管理
实验9Windows内存的基本信息
实验10Linux环境下几种内存调度算法模拟
实验11Windows虚拟内存实验
实验12Linux设备管理
实验13Windows设备管理
实验14Windows文件管理
参考文献