扫描二维码关注公众号,回复:
3628015 查看本文章
前驱图DAG:描述进程执行的顺序
顺序执行特征:顺序性,封闭性,可再现性
并发执行特征:间断性,失去封闭性,不可再现性
进程的定义和特征
进程是进程实体(PCB)的运行过程,是系统进行资源分配和调度的一个独立单位
特征:动态性,并发性;独立性;异步性
进程的基本状态以及转换
引入挂起操作进程状态的转换
进程管理中的数据结构
资源/进程信息表:计算机系统中对每个资源和进程设置数据结构表征其实体
PCB的作用
进程控制表中的信息
进程控制块的组织方式
操作系统内核
让驱动程序,运行频率高的模块常驻内存
功能
进程的创建
进程层次结构以及层次图——用来描述进程家族关系的有向树
引起创建进程的事件
创建过程
申请PCB -> 分配资源 ->初始化PCB -> 插入就绪队列
进程的终止
引起终止的事件
终止过程
读取PCB状态 -> 中止该进程以及子进程执行 -> 将进程(以及子进程)所有资源归还系统 -> 将进程PCB从队列中移除
进程的阻塞与唤醒
引起阻塞或唤醒的事件
阻塞过程
阻塞原语block:将进程状态改为阻塞,并将PCB插入阻塞队列
唤醒过程
唤醒原语wakeup:将PCB从阻塞队列中移出,插入到就绪队列
进程的挂起与激活
挂起
挂起原语suspend:检查进程状态,从 活动就绪/阻塞 -> 静止就绪/阻塞。若处于执行状态则转向条都程序重新调度
激活
激活原语active:将进程从外存调往内存,检查进程状态,从 静止就绪/阻塞 -> 活动就绪/阻塞
基本概念
两种制约关系
临界资源
临界区
同步机制应该遵循的规则
硬件同步机制
关中断
Test-and-Set 指令实现互斥
Swap指令实现进程互斥
信号量机制
整型信号量
记录型信号量
AND型信号量
信号量集
信号量的应用
实现进程互斥
实现前驱关系
管程机制
管程:进程对共享资源的申请必须通过的过程
条件变量
生产者-消费者问题
哲学家进餐问题
读者-写者问题
通信类型
共享储存器系统
管道通信系统
管道通信:写进程向共享文件输入以字符流形式的大量数据,并有读进程接收
消息传递系统
客户机-服务器系统
消息传递通信的实现方式
直接消息传递系统
信箱通信
直接消息传递系统实例
线程引入
进程两个基本属性
程序并发执行的时空开销
线程:作为调度和分派的基本单位
与进程的比较
调度的基本单位:引入线程OS中,线程是调度和分派基本单位,且能独立运行
并发性:同一进程中多个线程能够并发
拥有资源:线程本身只有维持独立运行的资源,但能共享进程拥有的资源
独立性:独立性比进程低
系统开销:线程系统开销较低
支持多处理机系统
线程的状态与控制块
线程3个基本状态
线程控制块TCB
多线程OS中进程属性
线程的实现方式
内核支持线程KST
用户级线程ULT
组合方式
线程的实现
内核支持线程的实现
用户级线程的实现
内核控制线程LWP:通过系统调用获得内核提供的服务,用户级线程只需连接LWP