简单介绍进程机制与同步的内容
树图思维导图提供 计算机考试知识进程机制与同步思维导图 在线思维导图免费制作,点击“编辑”按钮,可对 计算机考试知识进程机制与同步思维导图 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:6ed604c7dd522361ab665fe20670fe87
进程机制与同步思维导图模板大纲
利用Test-and-Set指令(2016)
利用Swap指令
关中断
执行效率会明显变低
双标志先检查
while(flag[j]); flag[i]=ture... flag[i]=false
两个进程都进去,违背忙则等待
双标志后检查
flag[i]=ture; while(flag[j])... flag[i]=false
两个进程谁也进不去,可能导致饥饿
peterson算法(2010)
flag[i]=ture; turn=j; while(flag[j]&&turn==j)
不遵循让权等待
单标志法
while(turn!=1)...turn=1
必须循环交替执行,违背空闲让进
组成:管程名称、共享结构数据说明、一组操作过程、初始化代码
特点
由编译语言支持的进程同步机制
模块化:是一个基本的软件模块
抽象数据类型:封装了数据以及对数据的操作
信息隐蔽:管程内部的数据和实现细节对外界是透明的
所有进程都只能用过管程访问临界资源,管程每次只允许一个进程进入
x.wait:把进程挂在x对应的阻塞队列上;x.signal:唤醒x的阻塞队列上的一个进程(2018)
若没有等待进程,x.signal不会有任何操作,这与信号量中的signal不同(会修改信号量变量的值)
条件变量
一种抽象数据类型,保存一个链表,用于记录因该条件变量而阻塞的所有进程
可以实现进程在条件变量内的阻塞与唤醒
临界资源
首先是共享资源,其次访问要互斥
包括:打印机、共享变量、共享缓冲区、公用队列(不包括磁盘)
临界区
每个进程访问临界资源的那段代码
可重入代码(纯代码)
允许多个进程同时访问,不能被任何进程修改
同步机制应遵循的规则
空闲让进:临界区空闲时允许进程进入
忙则等待:已有进程进入临界区时,其它进程必须等待
有限等待:请求进入临界区的进程能在有限时间内进入
让权等待:当进程不能进入临界区时应立即释放处理器(不是必须遵守的规则)(2020)
两种制约关系
间接相互制约(互斥)
对临界资源只能互斥地访问
直接相互制约(同步)
进程为完成同一项任务而相互合作
树图思维导图提供 9.战斗的基督教 在线思维导图免费制作,点击“编辑”按钮,可对 9.战斗的基督教 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:33d168acd0cd9f767f809c7a5df86e3a
树图思维导图提供 第六章 群体传播与组织传播_副本 在线思维导图免费制作,点击“编辑”按钮,可对 第六章 群体传播与组织传播_副本 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:1672f555831e7d9a3bb2cf2fb792cb49