操作系统概述
- 作用
- 特征
- 并发性
- 共享性
- 虚拟性
- 不确定性
- 功能
- 进程管理
- 存储管理
- 文件管理
- 设备管理
- 作业管理
- 分类
- 计算机启动的基本流程
- BIOS
- 主引导记录
- 操作系统
进程的组成和状态
- 组成
- PCB 程序控制块
- 程序
- 描述程序要做什么
- 数据
- 三态
- 运行
- 就绪
- 只缺CPU资源
- 等待
- 除了CPU以外,还要等待某个事件
- 五态图
- 运行
- 活跃就绪
- 活跃阻塞
- 静止就绪
- 静止阻塞
- 人为挂起
- 人为激活
- 前驱图
- 哪些任务可以并行执行
- 哪些任务之间有顺序关系
- 确定
- 并行关系
- 先后关系
- 进程资源图
- 进程和资源之间的分配和请求关系
- R 资源
- P 进程
- R指向P 说明已经分配
- P指向R 说明请求资源
- 阻塞节点
- 无法获取所需资源,
- 被阻塞了,
- 无法继续
- 无法获取所需资源,
- 非阻塞节点
- 某进程请求的资源还有剩余
- 死锁状态
- 一个进程资源图中,所有进程都是阻塞节点
- 考察方式
- 哪个是阻塞节点
- 进程资源图化简
- 从非阻塞节点开始
同步和互斥
- 互斥
- 如打印机
- 同步
- 临界资源
- 临界区
- 互斥信号量
- 加锁
- 解锁
- 同步信号量
- P操作
- 申请资源
- S= S-1
- 大于等于0时表示资源的个数
- 小于0时表示等待资源的进程个数
- 说明没有资源可以分配
- 把进程放到阻塞队列里
- V操作
- 释放资源
- S= S+1
- 如果信号量的值小于等于0
- 去唤醒阻塞进程
- 生产者、消费者问题
- 互斥信号量S0
- 同步信号量S1
- 同步信号量S2
- 流程
- 生产一个商品S
- P(S0)申请仓库独立使用权
- P(S1)仓库是否空闲
- 将商品放入仓库中
- V(S2)
- V(S0)
- 消费者
- P(S0)
- V(S2)仓库里有没有商品
- 取出一个商品
- V(S1)
- V(S0)
- 银行家算法题
- 线程
- 传统的进程
- 可拥有资源的独立单位
- 可独立调度和分配的基本单位
- 线程
- 独立调度的最小单位
- 拥有资源的最小单位
- 线程可以共享进程的公共数据、全局变量、代码、文件等资源
- 但不能共享线程独有的资源,
- 比如线程的栈指针等标识数据
- 但不能共享线程独有的资源,
- 传统的进程