目 录CONTENT

文章目录

操作系统

不争
2024-01-02 / 0 评论 / 0 点赞 / 26 阅读 / 741 字

操作系统

在操作系统中将用信号量来表示物理资源的实体,与队列有关。同时,须知:

信号量是一种变量类型,有如下两个分量:

  • 信号量的值(value)
  • value>0,表示实际可用资源数
  • value=0,表示资源为0
  • value<0,表示正在等待资源的进程数
  • 信号量的指针:用于指向等待的进程

按用途来分,信号量分为两种:

  1. 公用信号量:
  2. 联系一组并发进程,相关进程可以在此信号量上做PV操作,初值为1,这个为1,是为了实现进程的一个互斥;
  3. 私有信号量:
  4. 联系一组并发进程,仅允许此信号量所拥有的进程执行P操作,其他相关的进程可实施V操作,初值一般为0或正整数,在进程同步中常用。

按取值来分,又有如下两种:

  • 二值信号量
  • 仅能取值为0或1,解决进程互斥
  • 一般信号量
  • 允许取值大于1,常用于解决进程同步。

产生死锁的四个必要条件:

(1) 互斥条件:一个资源每次只能被一个进程使用。

(2) 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。

(3) 不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。

(4) 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。

0

评论区