章节 | 记录 |
---|---|
1.1 课程概述 | |
1.2 什么是操作系统 | |
1.3 为什么学习操作系统 | |
1.4 如何学习操作系统 | |
1.5 操作系统实例 | |
1.6 操作系统的历史 | |
1.7 操作系统结构 | |
1.8 小结 | |
2.1 操作系统的启动 | |
2.2 操作系统的终端、异常、和系统调用 | |
3.1 计算机体系结构及内存分层体系 | |
3.2 地址空间与地址生成 | |
3.3 连续内存分配:内存碎片与分区的动态分配 | |
3.4 连续内存分配:压缩式与交换式碎片整理 | |
4.1 非连续内存分配:分段 | |
4.2 非连续内存分配:分页 | |
4.3 非连续内存分配:页表-概述、TLB | |
4.4 非连续内存分配:页表-二级,多级页表 | |
4.5 非连续内存分配:页表-反向页表 | |
5.1 虚拟内存的起因 | |
5.2 覆盖技术 | |
5.3 交换技术 | |
5.4 虚存技术(上) | |
5.5 虚存技术(下) | |
6.1 最优页面置换算法 | |
6.2 先进先出算法 | |
6.3 最近最久未使用算法 | |
6.4 时钟页面置换算法 | |
6.5 二次机会法 | |
6.6 最不常用法 | |
6.7 Belady现象、LRU、FIFO、Clock的比较 | |
6.8 局部页替换算法的问题、工作集模型 | |
6.9 两个全局置换算法 | |
6.10 抖动问题 | |
7.1 进程的定义 | |
7.2 进程的组成 | |
7.3 进程的特点 | |
7.4 进程控制结构 | |
7.5 进程的生命期原理 | |
7.6 进程状态变化模型 | |
7.7 进程挂起 | |
7.8 为什么使用线程 | |
7.9 什么是线程 | |
7.10 线程的实现 | |
7.11 上下文切换 | |
7.12 进程控制——创建进程 | |
7.13 进程控制——加载和执行进程 | |
7.14 进程控制——等待和终止进程 | |
8.1 背景 | |
8.2 调度原则 | |
8.3 调度算法1 | |
8.4 调度算法2 | |
8.5 实时调度 | |
8.6 多处理器调度与优先级反转 | |
9.1 背景知识 | |
9.2 一些概念part1 | |
9.3 一些概念part2 | |
9.4 一些概念part3 | |
9.5 临界区 | |
9.6 方法1:禁用硬件中断 | |
9.7 方法2:基于软件的解决方案 | |
9.8 方法3:更高级的抽象 | |
10.1 背景 | |
10.2 信号量 | |
10.3 信号量的使用 | |
10.4 信号量的实现 | |
10.5 管程 | |
10.6 经典同步问题-1 | |
10.7 经典同步问题-2 | |
10.8 经典同步问题-3 | |
10.9 经典同步问题-4 | |
10.10 经典同步问题-5 | |
10.11 景点同步问题-6 | |
11.1 死锁问题 | |
11.2 系统模型 | |
11.3 死锁特征 | |
11.4 死锁处理办法 | |
11.5 死锁预防和死锁避免 | |
11.6 银行家算法 | |
11.7 死锁检测和死锁恢复 | |
11.8 IPC概述 | |
11.9 信号、管道、消息队列和共享内存 | |
12.1 文件系统:总体介绍 | |
12.2 基本概念 | |
12.3 基本概念——文件系统和文件 | |
12.4 基本概念——文件系统的功能 | |
12.5 基本概念——文件和块 | |
12.6 基本概念——文件描述符 | |
12.7 基本概念——目录 | |
12.8 基本概念——文件别名 | |
12.9 基本概念——文件系统种类 | |
12.10 虚拟文件系统 | |
12.11 数据缓存 | |
12.12 打开文件的数据结构 | |
12.13 文件分配 | |
12.14 空闲空间列表 | |
12.15 多磁盘管理-RAID | |
12.16 磁盘调度 |