《21世纪高等学校规划教材·计算机科学与技术:操作系统原理及应用(Linux)》系统地介绍了操作系统的基本概念和基本原理,并在各章中结合Linux实例加以讲解。《21世纪高等学校规划教材·计算机科学与技术:操作系统原理及应用(Linux)》主要内容包括:操作系统概论、进程管理、处理机调度与死锁、内存管理、文件管理、设备管理、现代操作系统实例,以及操作系统的安全性。
《21世纪高等学校规划教材·计算机科学与技术:操作系统原理及应用(Linux)》是结合作者多年从事操作系统教学及科研工作的实践,根据操作系统课程的特点编写而成。《21世纪高等学校规划教材·计算机科学与技术:操作系统原理及应用(Linux)》概念准确,层次清晰,重点突出,系统性强,算法采用C语言描述。书中提供的例题典型部分,便于初学者对操作系统原理进行理解、掌握和运用。
《21世纪高等学校规划教材·计算机科学与技术:操作系统原理及应用(Linux)》可以作为高等学校及应用型本科、成人高教、高职高专等院校计算机类专业的教材,也可以作为从事计算机和信息科学类相关工作人员的参考用书。
操作系统在计算机系统中起着举足轻重的作用。操作系统课程是计算机科学与技术、计算机网络、通信等专业的必修课,也是计算机类考研的四门通考课程之一。掌握操作系统原理,并在此基础上提高实践能力,是操作系统课程教学需要完成的主要任务。为提高教学质量,保证教学效果,本书总结作者多年从事操作系统课程教学与科研的经验,依据新的操作系统课程本科教学大纲,在写作过程中注重突出以下特色:
(1) 提出问题,由浅入深。在写作过程中对一些典型的概念及原理,从提出问题入手,由浅入深地对操作系统的原理进行阐述,使初学者尽快进入操作系统的学习研究状态,更好地掌握操作系统原理。
(2) 突出重点,强化理解。操作系统课程的一个特点是内容宽泛,知识的广度和深度都比较高。本书针对应用型本科的教学要求和学生的特点,做到对重要知识点加以强调突出,注重对这些知识的深入理解; 同时内容方面也兼顾知识的系统化要求。
(3) 注重理论,联系实际。操作系统课程的另一个特点是理论性较强,对于一些概念和原理,学生在学习过程中不太容易理解。本书对重要的知识点都写了一些典型的例题,便于老师上课使用和同学们对知识的掌握; 本书以Linux系统作为操作系统实例对操作系统原理进行了讲解,算法使用了C语言描述。
(4) 资源开放,方便教学。作者配合本书制作了PPT教学课件,方便教学使用。
本书内容共有8章,第1章操作系统概述,介绍操作系统的概念、分类、结构及操作系统的发展方向; 第2章进程管理,介绍进程的概念、控制及进程同步; 第3章处理机调度与死锁,介绍调度的概念、过程、算法、死锁的概念及死锁的解决方案; 第4章内存管理,介绍内存管理的概念、基本内存管理方法和虚拟内存管理方法; 第5章文件管理,介绍文件的概念、逻辑结构、物理结构,以及文件系统实现按名存取的方法; 第6章设备管理,介绍设备管理的方法,以及在设备管理中如何提高进程的并发性,进而提高系统的效率; 第7章现代操作系统实例,以目前较为流行的Windows系统、经典的UNIX系统,以及分布式系统作为实例,阐述对操作系统原理的运用; 第8章操作系统的安全性,论述操作系统安全性的概念及实现方案。
本书由王红任主编。在本书的编写过程中,侯刚、张凤云、杨德芳提供了很多帮助,在此表示感谢。
由于作者水平有限,疏漏之处在所难免,敬请广大读者批评指正。
编者
2012年12月
第1章 操作系统概论
1.1 操作系统的地位
1.2 操作系统的功能
1.2.1 提供人机接口
1.2.2 管理计算机资源
1.3 操作系统的发展过程
1.3.1 推动操作系统发展的主要动力
1.3.2 操作系统发展的初级阶段
1.3.3 单道批处理系统
1.3.4 多道批处理系统
1.3.5 分时系统
1.3.6 实时系统
1.3.7 微机操作系统
1.3.8 网络操作系统
1.3.9 分布式操作系统
1.4 操作系统的特性
1.5 操作系统的体系结构
1.5.1 层次结构
1.5.2 微内核结构
1.6 Linux简介
1.6.1 Linux简介
1.6.2 Linux的内核特征
1.6.3 Linux的发展及展望
本章小结
习题1
第2章 进程管理
2.1 进程的引入
2.1.1 程序的顺序执行
2.1.2 程序的并发执行及其特征
2.1.3 进程的定义与特征
2.1.4 进程的基本状态及转换
2.1.5 Lnux进程的状态
2.2 进程的描述
2.2.1 进程控制块PCB
2.2.2 进程控制块的组织方式
2.2.3 Linux进程的PCB
2.3 进程控制
2.3.1 进程的家族关系
2.3.2 进程的创建与终止
2.3.3 进程的阻塞与唤醒
2.3.4 Linux系统调用
2.4 进程的同步与互斥
2.4.1 临界资源的概念
2.4.2 进程的互斥与同步
2.4.3 锁机制
2.4.4 信号量机制
2.5 进程同步问题举例
2.5.1 两个简单的例子
2.5.2 生产者-消费者问题
2.5.3 读者写者问题
2.5.4 哲学家进餐问题
2.6 进程通信
2.6.1 共享存储器系统
2.6.2 消息传递系统
2.6.3 管道通信系统
2.7 信号通信机制
2.8 线程
2.8.1 线程的基本概念
2.8.2 线程的状态与转换操作
2.8.3 引入线程的好处
2.8.4 多线程的实现
2.8.5 Linux系统的线程
本章小结
习题2
第3章 处理机调度与死锁
3.1 作业管理
3.1.1 作业的概念及分类
3.1.2 作业的状态
3.1.3 作业管理的功能
3.11.1 死锁检测的时机
3.11.2 死锁的检测
3.11.3 死锁的解除
本章小结
习题3
第4章 内存管理
第5章 文件管理
第6章 设备管理
第7章 现代操作系统实例
第8章 操作系统的安全性
参考文献
进程间的信息交换称为进程通信。上一节介绍的进程互斥与同步就是一种进程间的通信方式。操作系统可以被看做是由各种进程组成的,如用户进程、系统进程、计算进程、打印进程等,这些进程都具有各自的独立功能,且大多数由于外部需要而产生并执行。通常,进程间的通信分为控制信息的传送与大量信息的传送两种。有时,将进程间控制信息的交换称为低级通信,而把进程之间大批量数据的交换称为高级通信。由于进程的互斥与同步交换的信息量较少且效率较低,因此称这种通信方式为低级通信方式,相应地,也称wait和signal操作为低级的通信原语。低级通信通常传送一个或几个字节的信息,以达到控制进程执行速度的作用。高级通信要传送大量的信息,因此,仅通过P、V操作或锁的方法无法实现进程的高级通信。
高级通信方式可分为共享存储器系统、消息传递系统和管道通信系统。在共享存储器系统中,相互通信的进程共享某些数据结构或共享存储区;在进程之间的消息传递系统中,进程间的数据交换以消息为单位,用户直接利用系统提供的一组通信原语来实现通信,消息传递系统可分为消息缓冲通信和信箱通信;管道是用于连接读进程和写进程,以实现它们之间通信的共享文件,向管道提供输入的发送进程以字符流形式将大量数据送入管道,而接受管道输出的接收进程可从管道中接收数据。
2.6.1 共享存储器系统
1.共享存储器系统的类型
在共享存储器系统中,相互通信的进程共享某些数据结构或共享存储区,进程之间能通过这些空间进行通信。通常,根据进程之间共享对象的类型将共享存储器系统通信分为如下两种类型。
(1)基于共享数据结构的通信方式。在这种通信方式中,要使各进程共用某些数据结构,以实现各进程间的信息交换。如在生产者消费者问题中,就是用有界缓冲区这种数据结构来实现通信的。在这里,公用数据结构的设置及对进程间同步的处理,都是程序员的职责,这无疑增加了程序员的负担,而操作系统只需提供共享存储器,因此这种通信方式效率低,只适用于传递相对少量的数据。
……