重新整理操作系统概念系类——信号量
2020-08-20 11:51
567 查看
前言
简单介绍一下信号量。
信号量有两种一种整型型号量,另一种记录型信号量。
这个可以用来解决进程互斥,前面提及到的进程互斥没有实现原则——让权等待。
让权等待是这样子的,比如说我这个进程要执行,然后发现资源不足,那么就应该主动进入到阻塞态,而不是说等待时间片的执行完毕。
正文
用户进程可以通过使用操作系统提供的一对原语来对信号量进行操作,从而实现进程的互斥、进程同步。
信号量其实是一个变量,可以是一个整型也可是是更复杂的记录值变量,可以用信号量表示系统中某种资源的数量。
我们在调用操作系统的pv操作的时候和调用普通函数操作的区别,在于对信号量只有3种操作,即初始化、p操作、v操作。
整型信号量
记录型信号量
过程:
比如说资源为打印机2,然后有下面这几个进程。
假设一开始是这样的:
然后1.2进程占用了:
然后p3,p4进来了,资源数量为-2,阻塞队列为p3和p4,这个时候是p3没有获取到资源然后value-1,阻塞加入到阻塞队列中:
这个时候如果进程1用完了资源然后释放,然后value变成-1,如果value小于等于0,之后会检查该资源的阻塞进程中是否有等待,如果有那么会唤醒p3进程,
然后p3进程开始使用资源。p3用完,然后value变成0,如果value小于等于0,之后会检查该资源的阻塞进程中是否有等待,然后调用p4。这是单核处理机的结果,如果多核结果顺序多种,但是机制相同。
结
相关文章推荐
- 重新整理操作系统概念系类——信号量实现进程互斥
- 操作系统知识整理4:进程通信,信号量,死锁
- HTC Viva 恢复出厂设置及重新整理系统
- [面试]牛人整理 操作系统、计算机网络、设计模式 、Linux、算法
- 操作系统问题整理
- CactiEZi中文版V10.1是基于CentOS6.0系统,整合Cacti等相关软件,重新编译而成的一个操作系统
- [综合面试] 牛人整理分享的面试知识:操作系统、计算机网络、设计模式、Linux编程,数据结构总结
- 操作系统 (Po学校 计算机科学 笔记整理)
- apache php 多站点配置 重新整理
- 64位操作系统下重新编译hadoop-2.2.0
- [IT综合面试]牛人整理分享的面试知识:操作系统、计算机网络、设计模式、Linux编程,数据结构总结
- UCOSIII操作系统——信号量与互斥量篇(1)信号量
- 牛人整理分享的面试知识:操作系统、计算机网络、设计模式、Linux编程,数据结构总结
- linux操作系统下php追加模块(不重新编译)
- 操作系统知识点整理(1)
- 操作系统知识整理 - 进程控制块
- 重新整理了一遍,花了小半月终于将基础Html+css系统的学完,期间的学习笔记+中文手册都在这,分享..
- php重新整理数组索引
- 信号量相关函数整理
- [综合面试] 牛人整理分享的面试知识:操作系统、计算机网络、设计模式、Linux编程,数据结构总结