《操作系统原理与实践教程(第三版)/高等学校计算机应用规划教材》全面系统地介绍了现代计算机操作系统的基本理论和最新技术。《操作系统原理与实践教程(第三版)/高等学校计算机应用规划教材》共分为8章,第1章介绍了操作系统的概念、特征和功能、发展历史、结构和设计的相关问题,并介绍了常用的操作系统产品;第2章介绍了操作系统的生成与引导、向用户提供的接口和服务;第3、4章详细介绍了进程和线程的概念、处理器调度、同步和通信机制、调度与死锁等问题;第5、6、7章分别介绍了操作系统的存储管理、文件管理和设备管理功能;第8章介绍了操作系统的安全和保护问题。
《操作系统原理与实践教程(第三版)/高等学校计算机应用规划教材》可作为高等院校计算机科学与技术、软件工程、信息管理等专业本、专科生教材和考研、考证参考书,亦可供从事计算机科学、工程和应用等方面工作的科技人员参考。
《操作系统原理与实践教程(第三版)/高等学校计算机应用规划教材》
第1章 操作系统概论
1.1 操作系统的概念
1.1.1 操作系统的定义
1.1.2 操作系统的特征
1.1.3 操作系统的功能
1.1.4 操作系统的设计目标
1.1.5 操作系统的性能指标
1.2 操作系统的形成和发展
1.2.1 人工操作阶段
1.2.2 单道批处理
1.2.3 多道批处理
1.2.4 分时操作系统
1.2.5 个人计算机操作系统
1.2.6 实时操作系统
1.2.7 网络操作系统
1.2.8 分布式操作系统
1.2.9 操作系统的进一步发展
1.3 操作系统的结构
1.3.1 整体结构
1.3.2 分层结构
1.3.3 虚拟机
1.3.4 外核
1.3.5 客户机/服务器结构
1.4 常用操作系统简介
1.4.1 Windows系列操作系统
1.4.2 UNIX和Linux系统
1.5 小结
1.6 思考练习
第2章 操作系统的界面
2.1 用户工作环境
2.1.1 用户环境
2.1.2 系统的生成与引导
2.1.3 实例分析:Linux系统启动
2.2 操作系统的用户接口
2.2.1 命令接口
2.2.2 图形用户接口
2.2.3 程序接口
2.3 操作系统提供的服务
2.3.1 操作系统提供的基本服务
2.3.2 操作系统提供的公共函数
2.4 小结
2.5 思考练习
第3章 处理器管理
3.1 进程的引入
3.1.1 程序的顺序执行
3.1.2 程序的并发执行
3.2 进程的概念
3.2.1 进程的定义
3.2.2 进程的状态
3.2.3 进程控制块
3.3 进程控制
3.3.1 进程控制的概念
3.3.2 进程控制机构
3.3.3 进程创建
3.3.4 进程撤销
3.3.5 进程阻塞
3.3.6 进程唤醒
3.4 线程
3.4.1 线程的概念
3.4.2 线程的特点与状态
3.4.3 线程的实现
3.4.4 多线程模型
3.4.5 线程池
3.5 处理器调度
3.5.1 处理器调度的层次
3.5.2 选择调度算法的准则
3.5.3 作业调度
3.5.4 进程调度
3.6 调度算法
3.6.1 先来先服务
3.6.2 短作业(进程)优先
3.6.3 优先级调度
3.6.4 时间片轮转法
3.6.5 多级队列调度算法
3.6.6 多级反馈队列调度
3.6.7 高响应比优先调度
3.7 多处理器调度和实时调度
3.7.1 多处理器调度
3.7.2 实时调度
3.8 Linux的进程管理
3.8.1 Linux的进程描述符
3.8.2 Linux的进程状态及转换
3.8.3 Linux进程的调度
3.8.4 Linux进程的创建和终止
3.8.5 Linux的线程管理
3.9 小结
3.10 思考练习
第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.2.4 理发师问题
4.3 管程
4.3.1 管程的基本概念
4.3.2 条件变量
4.3.3 使用管程解决生产者-消费者问题
4.4 进程通信
4.4.1 进程通信的概念
4.4.2 进程通信的方式
4.4.3 消息传递系统
4.4.4 消息缓冲队列通信机制
4.4.5 管道通信方式
4.4.6 Linux的进程通信
4.5 死锁
4.5.1 死锁的概念
4.5.2 死锁产生的原因和必要条件
4.5.3 死锁的描述-资源分配图
4.5.4 处理死锁的方法
4.6 死锁的预防和避免
4.6.1 死锁的预防
4.6.2 死锁的避免
4.7 死锁的检测和解除
4.7.1 死锁的检测
4.7.2 死锁的解除
4.8 小结
4.9 思考练习
第5章 存储管理
5.1 存储管理的概念
5.1.1 多级存储结构
5.1.2 程序的运行过程
5.1.3 存储管理的任务和功能
5.1.4 存储管理方式
5.2 连续内存分配
5.2.1 单一连续分配
5.2.2 固定分区分配
5.2.3 动态分区分配
5.2.4 可重定位分区分配
5.3 内存不足时的管理
5.3.1 覆盖
5.3.2 交换
5.4 分页存储管理
5.4.1 分页存储管理的基本原理
5.4.2 地址映射
5.4.3 页表的结构
5.4.4 页面的共享
5.5 分段存储管理
5.5.1 分段存储管理方式的引入
5.5.2 分段存储管理的基本原理
5.5.3 段的共享和保护
5.5.4 段页式存储管理
5.6 虚拟存储器
5.6.1 虚拟存储器的引入
5.6.2 虚拟存储器的实现方法
5.6.3 虚拟存储器的特征
5.7 请求分页存储管理技术
5.7.1 请求分页存储管理的硬件支持
5.7.2 页面置换算法
5.7.3 请求分页系统内存块的分配
5.7.4 工作集理论和抖动问题
5.8 Linux的存储管理
5.8.1 物理内存管理
5.8.2 进程虚拟地址空间管理
5.9 小结
5.10 思考练习
第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.4 文件的逻辑结构
6.4.1 文件逻辑结构的类型
6.4.2 顺序文件
6.4.3 索引文件
6.4.4 索引顺序文件
6.5 文件的物理结构
6.5.1 连续文件
6.5.2 链接文件
6.5.3 随机文件
6.5.4 文件物理结构比较
6.6 文件存储空间的分配
6.6.1 连续分配
6.6.2 链接分配
6.6.3 索引分配
6.7 文件存储空间的管理
6.7.1 空闲文件目录
6.7.2 空闲链表法
6.7.3 位示图
6.8 文件系统
6.8.1 文件系统的结构
6.8.2 文件系统的实现
6.9 文件的共享和保护
6.9.1 文件的共享
6.9.2 文件保护
6.9.3 文件系统的可靠性
6.10 Linux的文件系统
6.10.1 虚拟文件系统VFS
6.10.2 EXT2文件系统
6.11 小结
6.12 思考练习
第7章 设备管理
7.1 设备管理的概念
7.1.1 设备的分类
7.1.2 设备管理的任务和功能
7.1.3 I/O系统结构
7.1.4 设备控制器
7.2 I/O控制方式
7.2.1 程序直接控制方式
7.2.2 中断方式
7.2.3 DMA方式
7.2.4 通道控制方式
7.3 中断技术
7.3.1 中断的基本概念
7.3.2 中断的作用
7.3.3 中断的分类与优先级
7.3.4 软中断
7.3.5 中断处理过程
7.4 缓冲技术
7.4.1 缓冲的引入
7.4.2 缓冲的种类
7.4.3 缓冲池的管理
7.5 设备分配
7.5.1 设备分配中的数据结构
7.5.2 设备分配的原则
7.5.3 SPOOLing系统
7.5.4 虚拟设备-- 共享打印机
7.5.5 SPOOLing系统的特点
7.6 I/O软件
7.6.1 I/O软件的设计目标和原则
7.6.2 I/O中断处理程序
7.6.3 设备驱动程序
7.6.4 设备无关软件
7.6.5 用户层I/O软件
7.7 磁盘调度和管理
7.7.1 磁盘结构
7.7.2 磁盘访问时间
7.7.3 磁盘调度
7.7.4 磁盘高速缓存
7.7.5 磁盘管理
7.7.6 廉价磁盘冗余阵列
7.8 Linux的设备管理
7.8.1 设备文件
7.8.2 字符设备管理
7.8.3 块设备管理
7.8.4 网络设备管理
7.9 小结
7.10 思考练习
第8章 操作系统的安全和保护
8.1 计算机系统和操作系统安全
8.1.1 计算机系统安全概述
8.1.2 操作系统安全及信息安全评价准则
8.1.3 计算机安全威胁分类
8.2 操作系统安全机制
8.2.1 数据加密的基本概念
8.2.2 数字签名和身份认证
8.2.3 授权机制
8.2.4 审计
8.3 计算机病毒
8.3.1 计算机病毒的基本概念
8.3.2 计算机病毒的类型
8.3.3 病毒的预防和检测
8.4 访问控制机制
8.4.1 保护域
8.4.2 访问矩阵
8.4.3 访问矩阵的实现
8.5 Linux的安全机制
8.6 小结
8.7 思考练习
参考文献
《操作系统原理与实践教程(第三版)/高等学校计算机应用规划教材》
1.处理器管理功能
处理器是计算机软硬件体系的心脏,是制约整个计算机体系性能的最重要器件,因此处理器性能是否被充分发挥关系着整个计算机体系的性能。操作系统的主要任务之一就是合理有效地管理处理器,使其在现有环境下尽可能地发挥最大功效,提供更高的处理效率。
处理器的管理功能主要体现在创建、撤销进程,并按照一定的算法为其分配所需资源,同时还要管理和控制各用户的多个进程的协调运行,确保各个进程可以正确地通信。在多道程序的OS中,这些管理功能最终通过对进程的控制和管理来实现,而在具有线程机制的OS中,这些功能的实现还依赖于对线程的管理和控制。
2.存储器管理功能
存储器是用来存放程序和数据的容器,是为计算机系统提供运作数据和具体指令序列的器件。操作系统所管理的存储器包括内存、外存等。因此存储器管理的主要任务就是将各种存储器件统一管理,保证多道程序的良好运行环境,同时还要兼顾内存利用率、逻辑上扩充内存的需求以及用户的感受,提供优良的控制、存取功能,为用户提供操控存储器的手段。
为实现上述要求,存储器管理应具有内存分配、内存回收、内存保护、地址映射和虚拟内存等功能。
(1)内存分配
内存分配指的是为每道程序分配合适的内存空间,使其能在运行期问将运行所需数据放置在内存指定区域,以保证CPU能够顺利地获取指令并存取指定数据。分配内存空问时应尽量提高内存空间的利用率,减少不可用内存空间。此外还应能响应正在运行的程序发出的动态空间申请,以便满足新增指令和数据对新空间的需求。
内存分配通常采用动态和静态两种方式。静态分配方式指的是程序在装入内存时需要估计所需空间,一旦进入内存开始运行,就不能再申请新的空间,也不能将该程序所占空间“搬运”到其他位置。动态分配方式指的是尽管程序装入内存时申请了一定的空间,但在程序运行期间还可以为运行过程中所需的新的程序和数据再申请额外的空间,以满足程序空间动态增长的需要。
(2)内存回收
内存回收指的是当程序运行完毕后,将各程序在装入内存时所分配的空间重新置为空闲分区,并交由OS统一管理,以备其他程序申请使用。
在内存的分配和回收过程中,为了记录当前内存使用和分配情况,OS通常还要配置内存分配数据结构,以便为后期分配和回收提供依据。
……