2.2.2 进程通信

文章目录

原语

原语(Primitive)是完成特定功能的程序段,属于原子操作,无法再被拆分。

原语存放在操作系统的内核中,包含进程控制原语、进程通信原语、资源管理原语等。

进程控制原语中包含进程创建、进程撤销、进程挂起、进程激活、进程阻塞、进程唤醒原语。

进程通信

并发执行的程序可能存在同步、互斥这2种制约关系。

  • 同步:进程在某些节点上协调相互合作进程间的工作,例如等进程A完成了某项工作,进程B才能继续进行。
  • 互斥:进程互斥地使用临界资源。临界资源(CR, Critical Resource)是一次只能供一个进程使用的资源。

临界区是一段程序,用于对临界资源实施操作,有4条原则。

  • 有空则进:无进程处于临界区时,运行进程进入。
  • 无空则等:有进程在临界区时,其他需要进入临界区的进程就等着。
  • 有限等待:保证进程等待有限时间后进入临界区。
  • 让权等待:进程等待进入临界区时,应立即释放处理机。

信号量机制

信号量机制是一种有效的进程同步、互斥的工具。整型信号量是其中一种,此处对其做介绍。

  • 信号量S:S≥0,表示资源可用数。S<0,其绝对值表示阻塞队列中等待该资源的进程数。S还可以用于表示消息,S=0,表示希望的消息未产生。S≠0,表示希望的消息已产生。
  • P操作:申请一个资源,申请后S的数值变成S-1。若S≥0,进程继续执行。若S<0,进程进入阻塞状态,插入阻塞队列。
  • V操作:释放一个资源,释放后S的数值变成S+1。若S>0,进程继续执行。若S≤0,则从阻塞队列中唤醒一个进程,插入就绪队列。
相关推荐
小李不想当小白7 小时前
WDG看门狗(STM32标准库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·嵌入式
欢欢李8 小时前
【LTE L3 笔记 04】LTE帧结构
笔记·无线通信·物理层·lte·空口协议
Zhao-Jichao10 小时前
AI Prompting for Everyone 课程笔记 - P20 实验与期末项目 Lab and Final Project
前端·人工智能·笔记
Z21-X11 小时前
云原生运维实战笔记:企业网站综合上云部署与云运维服务全景解析
运维·笔记·学习·云原生
坤坤子吖11 小时前
Linux网络编程:UDP进阶,从字典服务器到简单聊天室
linux·服务器·网络·c++·笔记·学习
Rabitebla11 小时前
【Linux学习笔记】进程篇(九):进程的创建与退出——fork、写时拷贝与退出码
linux·c++·笔记·学习
智者知已应修善业11 小时前
【51单片机实现从下到上,从上到下,从中间到两边,两边到中间】2024-10-23
c语言·经验分享·笔记·单片机·嵌入式硬件·51单片机
欢欢李14 小时前
【LTE L3 笔记 06】LTE下行参考信号
笔记·无线通信·物理层·lte·空口协议
前进的李工1 天前
Agent 学习笔记 05:系统提示词应该怎么写
笔记·学习·prompt·agent·个人开发·few-shot·ai应用开发
蒸蒸yyyyzwd1 天前
后端学习笔记三个知识
笔记·八股