学习笔记(08):2020软考软件设计师--基础知识实战培训视频-操作系统--进程管理(一)...

立即学习:https://edu.csdn.net/course/play/7883/161187?utm_source=blogtoedu

3.2 处理机管理(进程管理)

二.进程互斥关与同步

1.进程间两种形式的制约关系

(1) 间接相互制约关系---源于资源共享

(2) 直接相互制约关系---源于进程合作

2.临界资源

  • 临界资源(Critical Resource):把一段时间内只允许一个进程访问的资源称为临界资源或独占资源(特点:一定要互斥访问)
  • 临界区(Critical Section):每个进程中访问临界资源的那段代码称为临界区

保证进程不同时进入临界区,就能保证进程互斥的访问临界资源.

三.信号量机制

  • 信号量是OS提供的管理公有资源的有效手段.
  • 信号量是一个整数,当信号量大于等于零时,代表可供并发进程使用的资源数量,当信号量小于零时,表示处于阻塞态进程的个数.

Wait 操作: (P操作)

  • 申请资源,减量操作,S.value:=S.value-1
  • 当S.value<0时,表示资源分配完,进行自我阻塞.

Signal操作:(V操作)

  • 释放资源,增量操作,S.value=S.value+1
  • 当S.value<=0,唤醒S.L链表中的等待进程.

四.信号量的应用

比如:打印机 

  1. 利用信号量实现进程互斥(模式)(第二容易考到)
  2. 利用信号量实现前驱关系(模式)(软设第一容易考到)
  3. 利用记录型信号量实现同步(模式)(第三容易考到)

 

1.利用信号量实现进程互斥(模式)

为使多个进程互斥的访问某临界资源,须为该资源设置一互斥信号量mutex,并设其初始值为1,然后将各进程访问资源的临界区CS置于wait(mutex)和signal(mutex)之间即可.

wait和signal一定是成对出现的

注意:实现互斥资源的,初值一定是互斥资源的个数.

2.利用信号量实现前驱关系(模式)(历年上午考试经常考到)

设有两个并发执行的进程P1和P2,P1中有语句S1,P2有语句S2,希望在S1执行后再执行S2.

使进程P1和P2共享一个公用信号量S,并赋予其初值为0.

注意:实现前驱关系的,初值一定是0.有几个有向边就设几个信号量.

3.利用记录型信号量实现同步(模式)

P1,p2两进程因合作完成一项任务而共用一个变量x.

进程p2将处理结果送入x;进程P1将x的结果打印.

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章