操作系统原理及Linux内核分析(第3版)
作者:李芳,刘晓春,李东海
出版社:清华大学出版社
出版时间:2023-05-01
ISBN:9787302631705
定价:¥59.90
第1章绪论
1.1什么是操作系统
1.1.1程序是如何运行的
1.1.2操作系统的作用
1.2操作系统运行环境
1.2.1计算机的基本硬件元素
1.2.2与操作系统相关的几种主要寄存器
1.2.3指令的执行
1.2.4中断
1.2.5处理机状态及特权指令
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.3.10操作系统的发展趋势
1.4操作系统的功能和特性
1.4.1操作系统的功能
1.4.2操作系统的基本特征
1.5操作系统结构
1.5.1模块组合结构及层次结构
1.5.2微内核结构
1.5.3虚拟机结构
1.6Linux操作系统
1.6.1Linux发展历程
1.6.2Linux的特点
1.6.3Linux内核结构
习题
第2章用户接口
2.1命令控制界面
2.1.1联机命令的类型
2.1.2联机命令的操作方式
2.2Linux系统的命令控制界面
2.2.1登录Shell
2.2.2命令句法
2.2.3常用的基本命令
2.2.4重定向与管道命令
2.2.5通信命令
2.2.6后台命令
2.3程序接口
2.3.1系统调用
2.3.2系统调用的类型
2.3.3系统调用的实现
2.3.4Linux系统调用
2.3.5Windows应用编程接口
习题
第3章进程管理
3.1进程的概念
3.1.1进程的引入
3.1.2进程的定义与特征
3.1.3引入进程的利弊
3.2进程控制块和进程的状态
3.2.1进程的状态及其变化
3.2.2进程控制块
3.3进程的控制
3.3.1进程的创建原语
3.3.2进程的撤销原语
3.3.3进程的阻塞与唤醒原语
3.4进程同步
3.4.1互斥
3.4.2进程的同步
3.4.3同步机制
3.4.4同步机构应用
3.5经典的进程同步问题
3.5.1生产者消费者问题
3.5.2读者写者问题
3.5.3哲学家进餐问题
3.6进程通信
3.6.1进程通信的类型
3.6.2进程通信的方式
3.6.3消息缓冲队列通信机制
3.6.4信箱通信
3.7线程
3.7.1线程的引入
3.7.2线程的概念
3.7.3线程的控制
3.7.4线程的实现
3.7.5线程的适用范围
3.8Linux的进程管理
3.8.1Linux进程概念与描述
3.8.2Linux中的进程状态及其转换
3.8.3Linux的进程控制
3.8.4Linux的进程通信
习题
第4章处理机调度与死锁
4.1调度的基本概念
4.1.1作业的概念及状态
4.1.2分级调度
4.1.3调度的功能与时机
4.1.4调度原则与性能衡量
4.2调度算法
4.2.1先来先服务算法
4.2.2短作业优先算法
4.2.3响应比优先算法
4.2.4高优先权优先算法
4.2.5轮转法
4.2.6多级反馈算法
4.3实时调度
4.3.1实时系统的特点
4.3.2实时调度算法
4.4多处理机调度
4.4.1多处理机系统的类型
4.4.2多处理机系统调度方式
4.5死锁
4.5.1死锁的产生
4.5.2死锁的必要条件
4.6解决死锁问题的方法
4.6.1死锁的预防
4.6.2死锁的避免
4.6.3死锁的检测与解除
4.7Linux进程调度
4.7.1Linux进程调度的时机
4.7.2Linux进程调度策略
4.7.3Linux进程调度算法
习题
第5章存储管理
5.1存储管理基本概念
5.1.1物理内存和虚拟存储空间
5.1.2存储管理的主要任务
5.2分区式存储管理
5.2.1固定分区
5.2.2可变分区
5.2.3地址变换与内存保护
5.2.4分区式存储管理的优缺点
5.3页式存储管理
5.3.1静态页式存储管理
5.3.2动态页式存储管理
5.3.3指令存取速度与页面大小问题
5.3.4存储保护
5.3.5页式存储管理的优缺点
5.4淘汰算法与抖动现象
5.4.1淘汰算法
5.4.2抖动现象与工作集
5.5段式存储管理
5.5.1静态段式存储管理
5.5.2动态段式存储管理
5.5.3分段和分页的主要区别
5.5.4段的信息共享
5.5.5段的静态链接与动态链接
5.5.6段式存储管理的内存保护
5.5.7段式存储管理的优缺点
5.6段页式存储管理
5.6.1实现原理
5.6.2段页式存储管理的其他问题
5.7Linux存储管理
5.7.1进程虚拟内存空间的管理
5.7.2Linux的分页式存储管理
习题
第6章设备管理
6.1设备管理概述
6.1.1设备的分类
6.1.2设备管理的目标
6.1.3设备控制器
6.1.4I/O系统的层次结构
6.2数据传送控制方式
6.2.1程序直接控制方式
6.2.2中断控制方式
6.2.3DMA控制方式
6.2.4通道控制方式
6.3中断处理与设备驱动程序
6.3.1中断处理过程
6.3.2设备驱动程序
6.4缓冲技术
6.4.1引入缓冲技术的原因
6.4.2缓冲的种类
6.4.3缓冲池的管理
6.5设备分配
6.5.1设备分配中的数据结构
6.5.2设备分配的原则
6.5.3设备分配程序
6.5.4SPOOLing技术
6.6逻辑I/O系统
6.7Linux的设备管理
6.7.1逻辑I/O管理
6.7.2用户与设备驱动程序
6.7.3设备模型
习题
第7章文件管理
7.1文件和文件系统
7.1.1文件的概念
7.1.2文件的分类
7.1.3文件管理系统
7.2文件的逻辑结构
7.2.1无结构文件
7.2.2顺序文件
7.2.3索引文件
7.2.4直接文件
7.3文件的物理结构
7.3.1连续文件
7.3.2链接式文件
7.3.3索引文件
7.4文件存储空间的管理
7.4.1位示图法
7.4.2空闲表法
7.4.3空闲链表法
7.5文件目录管理
7.5.1文件控制块的内容
7.5.2目录结构
7.5.3目录管理
7.6文件共享和保护
7.6.1基于索引节点的共享方法
7.6.2基于符号链接的共享方法
7.6.3文件的保护
7.7硬盘管理与调度
7.7.1机械硬盘
7.7.2固态硬盘
7.8Linux文件管理
7.8.1Linux文件系统概论
7.8.2虚拟文件系统
7.8.3EXT文件系统
7.8.4文件管理和操作
习题
第8章多处理机系统
8.1多处理机
8.1.1多处理机硬件
8.1.2多处理机操作系统类型
8.1.3多处理机同步
8.1.4处理机调度
8.2多计算机
8.2.1多计算机硬件
8.2.2低层通信软件
8.2.3用户层通信软件
8.2.4远程过程调用
8.2.5分布式共享存储器
8.2.6多计算机调度
8.2.7负载均衡
8.3虚拟化
8.3.1准虚拟化
8.3.2内存的虚拟化
8.3.3I/O设备的虚拟化
8.3.4虚拟工具
8.3.5多核处理机上的虚拟机
8.3.6授权问题
习题
第9章嵌入式操作系统
9.1什么是嵌入式操作系统
9.2嵌入式操作系统的特点
9.3嵌入式操作系统的主要功能
9.4嵌入式操作系统的应用领域
9.5典型的嵌入式操作系统
9.5.1VxWorks
9.5.2QNX
9.5.3嵌入式Linux
9.5.4Windows CE
9.5.5Android
9.5.6iOS
9.5.7TinyOS
9.5.8μC/OS
习题
第10章操作系统安全
参考文献