# 操作系统笔记
本仓库是[王道操作系统](https://www.bilibili.com/video/BV1YE411D7nH)的学习笔记,[思维导图](os_mind_map.png)
## 目录
### 1.操作系统简介
[1.1_1_操作系统的概念、功能.md](1.操作系统简介/1.1_1_操作系统的概念、功能.md)
[1.1_2_操作系统的特征.md](1.操作系统简介/1.1_2_操作系统的特征.md)
[1.1_3_操作系统的发展与分类.md](1.操作系统简介/1.1_3_操作系统的发展与分类.md)
[1.1_4_操作系统的运行机制与体系结构.md](1.操作系统简介/1.1_4_操作系统的运行机制与体系结构.md)
[1.1_5_中断和异常.md](1.操作系统简介/1.1_5_中断和异常.md)
[1.1_6_系统调用.md](1.操作系统简介/1.1_6_系统调用.md)
### 2.进程管理
[2.1_1_进程的定义、组成、组织方式.md](2.进程管理/2.1_1_进程的定义、组成、组织方式.md)
[2.1_2_进程的状态与转换.md](2.进程管理/2.1_2_进程的状态与转换.md)
[2.1_3_进程控制.md](2.进程管理/2.1_3_进程控制.md)
[2.1_4_进程通信.md](2.进程管理/2.1_4_进程通信.md)
[2.1_5_线程概念和多线程模型.md](2.进程管理/2.1_5_线程概念和多线程模型.md)
[2.2_1_处理机调度的概念、层次.md](2.进程管理/2.2_1_处理机调度的概念、层次.md)
[2.2_2_进程调度的时机、切换与过程、方式.md](2.进程管理/2.2_2_进程调度的时机、切换与过程、方式.md)
[2.2_3_调度算法的评价指标.md](2.进程管理/2.2_3_调度算法的评价指标.md)
[2.2_4_调度算法:先来先服务、最短作业优先、最高响应比优先.md](2.进程管理/2.2_4_调度算法:先来先服务、最短作业优先、最高响应比优先.md)
[2.2_5_调度算法:时间片轮转、优先级、多级反馈队列.md](2.进程管理/2.2_5_调度算法:时间片轮转、优先级、多级反馈队列.md)
[2.3_1_什么是进程同步、进程互斥.md](2.进程管理/2.3_1_什么是进程同步、进程互斥.md)
[2.3_2_进程互斥的软件实现方法.md](2.进程管理/2.3_2_进程互斥的软件实现方法.md)
[2.3_3_进程互斥的硬件实现方法.md](2.进程管理/2.3_3_进程互斥的硬件实现方法.md)
[2.3_4_信号量机制.md](2.进程管理/2.3_4_信号量机制.md)
[2.3_5_用信号量实现进程互斥、同步、前驱关系.md](2.进程管理/2.3_5_用信号量实现进程互斥、同步、前驱关系.md)
[2.3_6_生产者-消费者问题.md](2.进程管理/2.3_6_生产者-消费者问题.md)
[2.3_7_多生产者-多消费者.md](2.进程管理/2.3_7_多生产者-多消费者.md)
[2.3_8_吸烟者问题.md](2.进程管理/2.3_8_吸烟者问题.md)
[2.3_9_读者-写者问题.md](2.进程管理/2.3_9_读者-写者问题.md)
[2.4_1_死锁的概念.md](2.进程管理/2.4_1_死锁的概念.md)
[2.4_2_死锁的处理策略—预防死锁.md](2.进程管理/2.4_2_死锁的处理策略—预防死锁.md)
[2.4_3_死锁的处理策略—避免死锁.md](2.进程管理/2.4_3_死锁的处理策略—避免死锁.md)
[2.4_4_死锁的处理策略—死锁的检测与解除.md](2.进程管理/2.4_4_死锁的处理策略—死锁的检测与解除.md)
### 3.内存管理
[3.1_1_内存的基础知识.md](3.内存管理/3.1_1_内存的基础知识.md)
[3.1_2_内存管理的概念.md](3.内存管理/3.1_2_内存管理的概念.md)
[3.1_3_覆盖与交换.md](3.内存管理/3.1_3_覆盖与交换.md)
[3.1_4_连续分配管理方式.md](3.内存管理/3.1_4_连续分配管理方式.md)
[3.1_5_动态分区分配算法.md](3.内存管理/3.1_5_动态分区分配算法.md)
[3.1_6_基本分页存储管理的基本概念.md](3.内存管理/3.1_6_基本分页存储管理的基本概念.md)
[3.1_7_基本地址变换机构.md](3.内存管理/3.1_7_基本地址变换机构.md)
[3.1_8_具有快表的地址变换机构.md](3.内存管理/3.1_8_具有快表的地址变换机构.md)
[3.1_9_两级页表.md](3.内存管理/3.1_9_两级页表.md)
[3.1_10_基本分段存储管理方式.md](3.内存管理/3.1_10_基本分段存储管理方式.md)
[3.1_11_段页式管理方式.md](3.内存管理/3.1_11_段页式管理方式.md)
[3.2_1_虚拟内存的基本概念.md](3.内存管理/3.2_1_虚拟内存的基本概念.md)
[3.2_2_请求分页管理方式.md](3.内存管理/3.2_2_请求分页管理方式.md)
[3.2_3_页面置换算法.md](3.内存管理/3.2_3_页面置换算法.md)
[3.2_4_页面分配策略.md](3.内存管理/3.2_4_页面分配策略.md)
### 4.文件管理
[4.1_1_初识文件管理.md](4.文件管理/4.1_1_初识文件管理.md)
[4.1_2_文件的逻辑结构.md](4.文件管理/4.1_2_文件的逻辑结构.md)
[4.1_3_文件目录.md](4.文件管理/4.1_3_文件目录.md)
[4.1_4_文件的物理结构(文件分配方式).md](4.文件管理/4.1_4_文件的物理结构(文件分配方式).md)
[4.1_5_文件存储空间管理.md](4.文件管理/4.1_5_文件存储空间管理.md)
[4.1_6_文件的基本操作.md](4.文件管理/4.1_6_文件的基本操作.md)
[4.1_7_文件共享.md](4.文件管理/4.1_7_文件共享.md)
[4.1_8_文件保护.md](4.文件管理/4.1_8_文件保护.md)
[4.1_9_文件系统的层次结构.md](4.文件管理/4.1_9_文件系统的层次结构.md)
[4.2_1_磁盘的结构.md](4.文件管理/4.2_1_磁盘的结构.md)
[4.2_2_磁盘调度算法.md](4.文件管理/4.2_2_磁盘调度算法.md)
[4.2_3_减少磁盘延迟时间的方法.md](4.文件管理/4.2_3_减少磁盘延迟时间的方法.md)
[4.2_4_磁盘的管理.md](4.文件管理/4.2_4_磁盘的管理.md)
### 5.设备管理
[5.1_1_IO设备的基本概念和分类.md](5.设备管理/5.1_1_IO设备的基本概念和分类.md)
[5.1_2_IO控制器.md](5.设备管理/5.1_2_IO控制器.md)
[5.1_3_IO控制方式.md](5.设备管理/5.1_3_IO控制方式.md)
[5.1_4_IO软件层次结构.md](5.设备管理/5.1_4_IO软件层次结构.md)
[5.1_5_IO核心子系统.md](5.设备管理/5.1_5_IO核心子系统.md)
[5.1_6_假脱机技术.md](5.设备管理/5.1_6_假脱机技术.md)
[5.1_7_设备的分配与回收.md](5.设备管理/5.1_7_设备的分配与回收.md)
[5.1_8_缓冲区管理.md](5.设备管理/5.1_8_缓冲区管理.md)
***
## 基本概念
### 概念
- 负责管理协调硬件、软件等计算机资源的工作
- 为上层用户、应用程序提供简单易用的服务
- 是一种系统软件
### 功能和目标
- 资源的管理者
- 处理机管理
- 存储器管理
- 文件管理
- 设备管理
- 向用户提供服务
- 命令接口
- 联机命令接口
- 脱机命令接口
- 程序接口
- 由一组系统调用组成
- GUI用户图形界面
- 对硬件机器的扩展
- 扩充机器
### 特征
- 并发
- 共享
- 互斥共享方式(如对摄像头设备的共享使用)
- 同时共享方式(如对硬盘资源的共享使用)
- 虚拟
- 空分复用技术(如虚拟存储技术
- 时分复用技术(如虚拟处理机技术)
- 异步
### 发展与分类
- 手工操作系统
- 缺:人机速度矛盾
- 批处理阶段
- 单道批处理系统(引入脱机输入输出技术)
- 优:缓解人机速度矛盾
- 缺:资源利用率依然很低
- 多道批处理系统(操作系统开始出现)
- 优:多道程序并发执行,资源利用率高
- 缺:不提供人机交互功能
- 分时操作系统
- 优:提供人机交互功能
- 缺:不能优先处理紧急任务
- 实时操作系统
- 硬实时系统
- 必须在严格的规定时间内完成处理
- 软实时系统
- 能接受偶尔违反时间规定
- 优:能优先处理紧急任务
- 网络操作系统
- 分布式操作系统
- 个人计算机操作系统
### 运行机制和体系结构
- 运行机制
- 两种指令
- 特权指令
- 如内存清零指令
- 非特权指令
- 如普通的运算