美文网首页
操作系统复习3

操作系统复习3

作者: 利刃华尔兹soalig | 来源:发表于2018-12-03 21:40 被阅读0次

整型信号量

信号量定义为一个整型量;

根据初始情况赋相应的值;

仅能通过两个原子操作来访问。

P操作 wait(S):

              While S<=0 do no-op;

              S:=S-1;

V操作  signal(S):  

              S:=S+1;

整型信号量符合“有限等待”原则

signal释放资源后,当CPU被分配给等待进程后,等待进程仍可继续执行,可以符合“有限等待”。

但整型信号量不符合“让权等待”原则

整型信号量的wait操作,当s ≤0时,当前进程会占着CPU不断测试;

信号量原语不能被打断,这个占有CPU的进程会一直不断的占据CPU循环下去,陷入忙等。

Value>0,表示当前可用资源的数量;

Value≤0,其绝对值表示等待使用该资源的进程数,即在该信号量队列上排队的PCB的个数。

P操作wait():

    S.value = S.value - 1;

    if  S.value < 0  then  block(S,L)

V操作signal():

    S.value = S.value + 1;

    if  S.value <= 0 then wakeup(S,L)

互斥信号量mutex初值为1;

每个进程中将临界区代码置于P(mutex)和V(mutex)原语之间

必须成对使用P和V原语(在同一进程中),不能次序错误、重复或遗漏:

遗漏P原语则不能保证互斥访问

遗漏V原语则不能在使用临界资源之后将其释放(给其他等待的进程);

信号量的基本应用

实现进程互斥

实现进程间的前趋关系(有序)

///////////////////////////////////////////////

信号量题目做题一般方法:

分析问题,找出同步、互斥关系

根据资源设置信号量变量

写出代码过程,并注意P、V操作的位置

检查代码,模拟机器运行,体验信号量的变化和程序运行过程是否正确。

///////////////////////////////////////////////////

在每个程序中的多个wait操作顺序不能颠倒。且应先执行对资源信号量的wait操作,再执行对互斥信号量的wait操作,否则可能引起进程死锁

相关文章

  • 操作系统复习3

    整型信号量 信号量定义为一个整型量; 根据初始情况赋相应的值; 仅能通过两个原子操作来访问。 P操作 wait(...

  • 操作系统复习(自用)3

    第六章 背景:为什么并发执行要互斥:共享数据的并发访问可能会产生数据的不一致 互斥使用临界资源(物理设备、软件、变...

  • 2019-11-14

    复习操作系统,写作业。

  • 2020-01-07

    今天复习了操作系统

  • 2019-11-15

    复习计算机操作系统!

  • 操作系统复习

    摘自《操作系统概念》(高等教育出版社)第七版第一部分 概述1、事件的发生通常通过硬件或软件中断表示。硬件可随时...

  • 操作系统复习

    物理地址和逻辑地址 物理地址:存单元的真正地址。逻辑地址:CPU所生成的地址。例如,你在进行C语言指针编程中,可以...

  • 操作系统复习

    一、API相关 1.fork() https://www.cnblogs.com/bastard/archive/...

  • 操作系统复习

    作业题 操作系统 孟庆昌(第3版)的课后习题 第一章 操作系统引论 8. 解释以下术语:硬件、软件、多道程序设计、...

  • 操作系统复习

    第一章 引论 1、什么是操作系统?定义,特点,功能 定义:操作系统其实是一个软件,是底层复杂多样的硬件和软件操作的...

网友评论

      本文标题:操作系统复习3

      本文链接:https://www.haomeiwen.com/subject/gspecqtx.html