进程
2021-01-29 15:02:13 91 举报
AI智能生成
学习操作系统时做的思维导图
作者其他创作
大纲/内容
概念
运行在操作系统中的程序的指令序列<br>
是数据集合上运行的过程,是资源分配和调度的一个独立单位,由程序段,数据段,PCB三个部分组成<br>
OS为每个进程配置一个data structure称为PCB(进程控制块),用来描述进程的各种信息<br>
指令所在的地址
PCB是进程存在的唯一标志<br>
实质
多进程推进,需要操作系统支持进程记录(PCB),进程调度,进程同步<br>
通过映射表分离多个进程,达到互不影响的效果<br>
状态<br>
新建
分配内存空间等系统资源,创建和初始化CPU
就绪
具备运行条件,没有空闲CPU,暂不能执行(万事具备,只差CPU)
运行
占有CPU,并在CPU上运行<br>
终止
进程运行结束,完成资源回收,撤销PCB工作<br>
阻塞
因等待某一件事暂时不能运行
分配打印机<br>
磁盘IO操作
为提高CPU利用率,先将其他进程需要的资源分配到位,参嗯那个得到CPU的服务
内核级线程<br>
switch_to五段论
系统调用发生系统中断或时钟中断<br>
OS介入调度进程<br>
TCB切换
内核栈切换
用户栈切换<br>
CPU调度
FIFO
Priority<br>
短作业优先<br>
时间片轮转调度<br>
进程通信
进程同步和信号量semaphore<br>
Producer-Consumer
方式
共享存储:互斥访问
数据结构的共享
存储区的共享
消息传递
直接通信
一个进程直接发送到另一个进程的消息缓冲队列上<br>
间接通信<br>
两个进程之间维护一个信箱,只需要把消息发送到信箱中,一个进程发一个进程取即可<br>
消息头包含发送进程ID,接收ID,消息的格式等信息<br>
管道通信
用于连续读写进程的一个共享文件,就是在内存中开辟一个大小固定的缓冲区
半双工通信,同一时间只能单向传输,进程要互斥的访问管道<br>
概念<br>
进程之间的信息交换,各个进程拥有各自的内存地址空间,且相互独立
进程的控制
概念<br>
实现进程状态的转化
使用原语实现进程状态转换
特点
执行期间不允许中断,原子操作
开关中断指令
原语执行过程中,不允许中断发生,也就是关中断,原语执行完成后才开中断<br>
权限很大,只能在核心态下运行的特权指令
进程控制相关原语<br>
创建<br>
终止
阻塞
唤醒
进程切换
临界区保护引入锁<br>
死锁
用户线程
PCB
进程描述信息<br>
进程标识符ID
用户标识符ID
进程控制和管理信息
进程当前状态
进程优先级
资源分配清单
程序段指针
数据段指针
键盘
鼠标
处理机相关信息
各种寄存器的值
组织方式<br>
链接方式
安装进程状态将PCB分为多个队列
就绪队列指针<br>
阻塞队列指针<br>
OS持有指向各个队列的指针<br>
索引方式
根据进程状态的不同,建立几张索引表
就绪表<br>
阻塞表
OS持有指向各个索引表的指针 <br>
特性
动态性
执行过程,动态产生,变化,消亡<br>
并发性
多个进程实体,可以并发执行<br>
独立性
独立运行, 独立获得资源,独立接收调度的基本单位<br>
异步性
进程按各自独立的速度推进,OS需要提供“进程同步机制”解决异步问题
结构性
每个进程都会配置一个PCB。结构上由PCB,程序段,数据段组成
收藏
0 条评论
下一页