前言进程同步,衍生阅读互斥和同步区别,互斥锁读写锁自旋锁条件变量

目录

一、信号量机制

1.1 背景

1.2 整型信号量

1.3 记录型信号量

1.4 AND型信号量

1.5 信号量集


一、信号量机制

1.1 背景

1965年,荷兰学者Dijkstra、计算机先驱之一提出的信号量机制(semaphores)机制是一种卓有成效的进程同步工具。在长期且广泛的应用中,信号量机制又得到了很大的发展,它从整型信号量经记录型信号量,进而发展为“信号量集”机制。

图1 20世纪伟大先驱的生平成就

1.2 整型信号量

一个用于表示资源数目的整型量S,它与一般整型量不同,除初始化外,仅能通过两个标准的原子操作(atomic operation)wait(S)和signal(S)来访问,这就是著名的P/V操作:

1.3 记录型信号量

在采取“让权等待”的策略后,又会出现多个进程等待访问同一临界资源的情况。需求决定结构设计,为此,在信号量机制中,除了需要一个用于代表资源数目的整型变量value外,还应增加一个进程链表指针,用于链接上述的所有的等待进程。

记录型信号量是由于它采用了记录型的数据结构而得名。

相应地,wait(S)和signal(S)操作可描述如下:

说明:该机制遵循了“让权等待”的原则。当S->value < 0时,其绝对值表示在该信号量链表中已阻塞进程的数目。V操作若加1后仍有S->value <= 0,则表示在该信号量链表中仍有等待该资源的进程被阻塞,故还应该调用wakeup原语,将链表中第一个等待进程唤醒。

1.4 AND型信号量

应用场合:一个进程往往需要获得两个或更多的共享资源才能执行其任务。当进程要求的共享资源愈多时,发生进程死锁的可能性也就愈大

将进程在整个运行过程中需要的所有资源,一次性全部地分配给进程,待进程使用完后再一起释放。操作方式具有原子性atom的含义,对若干个临界资源的分配,要么把它所请求的资源全部分配到进程,要么一个也不分配。

1.5 信号量集

如果每次只能对某类临界资源进行一个单位的申请或释放,当一次需要N个单位,便需要进行N次wait(S)操作,不仅低效甚至会增加死锁的概率。同时,为了确保系统的安全性,当所申请的资源数量低于某一下限时,还必须进行管制,不予以分配。

由此形成一般化的“信号量集”机制:

计算机操作系统读书笔记___信号量机制相关推荐

  1. 计算机操作系统读书笔记

    第一章 操作系统引论 1.操作系统的基本特性 1.1.并发 并行:并行是指两个或多个事件在同一时刻发生. 并发:两个或多个事件在同一时间间隔内发生. 进程:在系统中能独立的运行并作为资源分配的基本单位 ...

  2. 操作系统 计算机操作系统教程笔记

    进程是操作系统对一个正在运行的程序的一种抽象.在一个系统上可以同时运行多个进程,而每个进程都好像在独占地使用硬件.而并发运行,则是说一个进程的指令和另一个进程的指令是交错执行的. 在大多数系统中,需要 ...

  3. 《计算机基础知识》读后感300字,计算机知识读书笔记

    计算机知识读书笔记 计算机基础知识学习包括学电脑入门教程,电脑技巧,网络技术,办公软件,操作系统,视频教程等.以下是小编搜集并整理的计算机知识读书笔记有关内容,希望在阅读之余对大家能有所帮助! 计算机 ...

  4. 计算机操作系统学习笔记----进程管理

    进程与线程 进程是资源分配的基本单位,也是独立运行的基本单位.进程是资源分配的基本单位,这是与线程的主要区别. 程序的顺序执行具有如下特征: 顺序性:处理器的操作严格按照程序所规定的顺序执行. 封闭性 ...

  5. 计算机操作系统 学习笔记(第四版 汤小丹)(上)

    第一章-操作系统概述 操作系统基本概念 操作系统(Operation System),简称OS,是管理计算机『硬件』与『软件』资源的计算机程序.它负责计算机的全部软.硬资源的分配.调度工作,控制和协调 ...

  6. 计算机操作系统——学习笔记(下)

    文章目录 第六章 文件管理 文件系统模型 文件逻辑结构的类型 外存分配方式 目录管理 文件存储空间的管理 文件共享与文件保护 数据一致性 第七章 操作系统接口 第八章 网络操作系统 计算机网络概述 网 ...

  7. 计算机操作系统基础笔记

    操作系统引论 操作系统定义 操作系统是一组控制和管理计算机软硬件资源.合理地对各类作业进行调度以及方便用户使用的程序集合. 操作系统是位于硬件层之上,所有其它系统软件层之下的一个系统软件,使得管理系统 ...

  8. 计算机操作系统(笔记)

    计算机操作系统 可参考Jennica的文章:http://jennica.space/2017/03/21/os-principle/ 常用指令介绍 答:(1)授权指令chmod chmod [who ...

  9. 计算机操作系统——学习笔记(上)

    文章目录 第一章 操作系统引论 1. 目标 2. 作用 3.发展过程 4.基本特征 5.主要功能 6.系统调用 7.OS结构设计 8.中断分类 第二章 进程管理 进程的基本概念 进程控制 进程同步 进 ...

最新文章

  1. oracle中database,Oracle Database 一些基本的视图和表
  2. python常用库教程_这几个python常用的库你必须知道!
  3. 【HDU 2507】【ACM-ICPC算法基础训练教程 题1-6】迷瘴(贪心)
  4. (转)Java中equals和==、hashcode的区别
  5. mac 下开发golang 配置
  6. Rock8247 bsp-Tornado-VXWorks Build up
  7. 客户端浏览器向服务器发起http请求的全过程
  8. [CQOI2011]放棋子
  9. ArrayList和LinkedList
  10. gcc include lib路径扩展
  11. 汇川PLC软件下载及安装
  12. 一次NBU备份错误诊断
  13. oracle安装时03113,oracle的关于“ORA-03113”的怪问题
  14. emoji语言抽象话大全_当抽象话也成为一种暗语
  15. 对校招生培养工作的建议_对我校招生工作的一些粗浅想法(精)
  16. 曾国藩:读书、交友、处事、养性,都在这里了
  17. Discuz论坛如何使用SendCloud?
  18. 如何发现「将死」的ReLu?可视化工具TensorBoard助你一臂之力
  19. 测试apk-异常管控Sensor攻击者开发
  20. Spring 依赖注入的理解及三种注入方式

热门文章

  1. 如何自己在家手动制作网线
  2. python清洗文本非法字符_Python 文本字符串清理
  3. jsp 连接 mysql 方法_jsp连接数据库的几种方式
  4. win11恢复win10右键菜单栏
  5. 常见的3轴/6轴传感器对比
  6. 为什么红外图像分辨率低?
  7. 虚拟机配置静态ip地址(VMware,linux系统)
  8. 家庭版Windows10怎样添加本地组策略
  9. 高考平行报志愿计算机录取规则,2020年高考平行志愿录取规则大全
  10. 1710AL电台参数设置流程