操作系统——(管程、线程、进程通信)

news2025/3/28 7:13:34

目录

 一、管程机制

(1)管程定义

(2)特点:

二、进程通信

(1)概念

(2)高级通信机制

三、线程

(1)概念

(2)与进程比较

 一、管程机制

信号量机制进程自备同步操作,P、V操作分散,不宜管理,易发生死锁,因此引入管程。

(1)管程定义

一个管程包含一个数据结构和能为并发进程所能执行的一组操作,这组进程能同步管理进程和改变管程中的数据。

(2)特点:

1.进程通常使用于管理资源的,因此管程中有进程等待队列和相应的等待和唤醒操作。

2.条件变量:管程利用wait原语让进程等待,等待原因可以用条件变量condition区别。

3.只能被管程内的操作互斥访问(保证数据一致性,某一时刻只能有一个过程执行)

二、进程通信

(1)概念

进程之间的信息通信。有两种进程通信:

低级通信:简单的信号,少量信息。特点:效率低。不透明。操作需要程序员负责。

高级通信:高效的传输大量数据。特点:使用方便。高效传输大量数据。

(2)高级通信机制

1.共享存储器系统

它是基于共享数据结构的通信方式基于共享存储器的通信方式

2.管道通信系统

所谓管道,就是指连接一个读进程和写进程以实现它们之间通信的一个共享文件,又名pipe文件。会以字节流的形式将大量数据输入/输出管道。

管道机制必须提供以下三方面能力:(1)互斥(2)同步(3)确定对方是否存在。

3.消息传输系统

进程间的数据交换以格式化的消息为单位。程序员利用系统的通信原语实现通信。

消息传递系统可以分为:

(1)直接通信:直接把消息发送给目标进程,并把他挂在接收进程的消息缓冲队列上,接收进程从此处获得信息。因此也称为消息缓冲通信

(2)间接通信:发送进程将信息发送到某种中间实体(信箱)中,接收进程从此取得消息。

4.客户机—服务器系统(不介绍)

三、线程

(比进程更小的基本单位,是为了减少程序在并发执行所付出的时空)

进程的两个基本属性:(1)进程是一个可拥有资源的独立单位。(2)进程同时又是一个可独立调度和分派的基本单位。

(1)概念

为了更好并发执行和减少开销,于是引入线程,线程——作为调度和分派的基本单位(是进程的一部分)。

(2)与进程比较

1.调度的基本的单位:线程作为独立调度和分派的基本单位,因而是独立运行的基本单位,不用像进程一样上下文切换,开销那么大。

2.并发性:虽然进程和线程都有并发性,但是线程比进程好,如单进程时,可以用多线程来工作。

3.拥有资源:进程可以用于资源,作为系统中拥有资源的一个基本单位,而线程可以说几乎不拥有资源。

4.独立性:进程中独立性更高,因为要防止进程之间彼此干扰和破坏。而线程往往是为了提高并发性以及满足进程间的合作需要而建立的,它们可以共享进程的内存空间和资源,所有独立性比进程低。

5.系统开销:进程开销更大,要涉及进程上下文切换,而线程切换代价远小于进程。

6.支持多处理机系统:在单线程进程中,不管有多少处理机,该进程只能运行在一个处理机上。但对于多线程进程,可以将一个进程中的多个线程分配到多个处理机上,无疑能加速进程的完成。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2318997.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Sqlserver安全篇之_启用和禁用Named Pipes的案列介绍

https://learn.microsoft.com/zh-cn/sql/tools/configuration-manager/named-pipes-properties?viewsql-server-ver16 https://learn.microsoft.com/zh-cn/sql/tools/configuration-manager/client-protocols-named-pipes-properties-protocol-tab?viewsql-server-ver16 默认…

Web开发-JS应用原生代码前端数据加密CryptoJS库jsencrypt库代码混淆

知识点: 1、安全开发-原生JS-数据加密&代码混淆 2、安全开发-原生JS-数据解密安全案例 一、演示案例-WEB开发-原生JS&第三方库-数据加密 前端技术JS实现: 1、非加密数据大致流程: 客户端发送->明文数据传输-服务端接受数据->…

比特币牛市还在不在

在加密货币的风云世界里,比特币的一举一动始终牵动着投资者们的神经。近期比特币的涨幅动作,再次引发了市场对于牛市是否仍在延续的激烈讨论。 在深入探索比特币市场的过程中,获取全面且及时的资讯至关重要。您可以通过访问Techub News&#…

Python、MATLAB和PPT完成数学建模竞赛中的地图绘制

参加数学建模比赛时,很多题目——诸如统计类、数据挖掘类、环保类、建议类的题目总会涉及到地理相关的情景,往往要求我们制作与地图相关的可视化内容。如下图,这是21年亚太赛的那道塞罕坝的题目,期间涉及到温度、降水和森林覆盖率…

跨平台RTSP高性能实时播放器实现思路

跨平台RTSP高性能实时播放器实现思路 目标:局域网100ms以内超低延迟 一、引言 现有播放器(如VLC)在RTSP实时播放场景中面临高延迟(通常数秒)和资源占用大的问题。本文提出一种跨平台解决方案,通过网络层…

编写一个简单的chrome截图扩展

文件结构: screenshot |-- background.js ---> service_worker运行的js |-- images ---> 图片 | |-- logo-128x128.png | |-- logo-16x16.png | |-- logo-32x32.png | -- logo-48x48.png -- manifest.json --->…

吴恩达机器学习笔记复盘(六)梯度下降算法

简介 梯度下降(Gradient Descent)是一种常用的优化算法,广泛应用于机器学习、深度学习等领域,在这里是用于求J(w,b)局部最小值。 我自己觉得这样说有点过于抽象。换个直观点的说法就是,一个人…

【机器学习chp14 — 3】生成式模型—生成对抗网络GAN(超详细分析,易于理解,推导严谨,一文就够了)

目录 三、生成对抗网络 ( Generative Adversarial Networks,GAN ) 1、GAN的基本思想 (1)生成器与判别器的基本结构与演变 (2)“对抗”机制及名词由来 2、GAN训练的基本算法 (1)网络初始化与…

机器人打磨控制技术

工具姿态调整运动 法线方向对齐运动:机器人实时调整工具姿态,使打磨工具的轴线与工件曲面的法线方向一致。例如,在球面打磨时,工具需始终垂直于球面切线。角度补偿运动:针对倾斜或不规则曲面,通过调整机器人…

K8S学习之基础四十:K8S配置altermanager发送告警到钉钉群

配置altermanager发送告警到钉钉群 ​ 创建钉钉群,设置机器人助手(必须是管理员才能设置),获取webhook webhook: https://oapi.dingtalk.com/robot/send?access_token25bed933a52d69f192347b5be4b2193bc0b257a6d9ae68d81619e3ae3d93f7c6…

Spring Boot + Spring Integration整合MQTT打造双向通信客户端

1. 概述 本文分两个章节讲解MQTT相关的知识,第一部份主要讲解MQTT的原理和相关配置,第二个章节主要讲和Spring boot的integration相结合代码的具体实现,如果想快速实现功能,可直接跳过第一章节查看第二章讲。 1.1 MQTT搭建 为了…

Java 填充 PDF 模版

制作 PDF 模版 安装 OnlyOffice 从 OnlyOffice 官网下载 OnlyOffice Desktop,安装过程很简单,一路下一步即可。用 OnlyOffice 制作 PDF 模版(表单) 使用 OnlyOffice 表单设计器,制作表单,如下图 注意命名…

Vulnhub-dedecms织梦通关攻略

姿势一、通过文件管理器上传WebShell 第一步:进入后台,找到文件管理器上传木马文件 第二步:使用蚁剑进行连接 #文件地址 http://localhost/dedecms/shell.php 姿势二、修改模板⽂件拿WebShell 第一步:修改模板文件,删除…

数据集获取

sklearn数据集 sklearn有四部分数据。其中sklearn的数据集有两部分真实的数据,一部分嵌入到了sklearn库中,即安装好sklearn后就自带了一部分数据,这些数据的规模比较小称为small toy datasets ,还有一部分数据是需要在网上下载的,sklearn提供了下载的api接口,这些数据规…

实验12深度学习

实验12深度学习 一、实验目的 (1)理解并熟悉深度神经网络的工作原理; (2)熟悉常用的深度神经网络模型及其应用环境; (3)掌握Anaconda的安装和设置方法,进一步熟悉Jupyte…

2024年消费者权益数据分析

📅 2024年315消费者权益数据分析 数据见:https://mp.weixin.qq.com/s/eV5GoionxhGpw7PunhOVnQ 一、引言 在数字化时代,消费者维权数据对于市场监管、商家诚信和行业发展具有重要价值。本文基于 2024年315平台线上投诉数据,采用数…

零知识证明:区块链隐私保护的变革力量

🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/literature?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,…

【CSS文字渐变动画】

CSS文字渐变动画 HTML代码CSS代码效果图 HTML代码 <div class"title"><h1>今天是春分</h1><p>正是春天到来的日子&#xff0c;花都开了&#xff0c;小鸟也飞回来了&#xff0c;大山也绿了起来&#xff0c;空气也有点嫩嫩的气息了</p>…

Qt 控件概述 QLabel

目录 QLabel显示类控件 label如何做到与窗口同步变化 边框 Frame QLabel显示类控件 ​​ ​​ textFormat &#xff1a;设置文件格式 ​ Pixmap &#xff1a;标签图片 label如何做到与窗口同步变化 Qt中对应用户的操作 &#xff1a; 事件和信号 拖拽窗口大小就会触发…

Vue 渲染 LaTeX 公式 Markdown 库

&#x1f31f; 前言 欢迎来到我的技术小宇宙&#xff01;&#x1f30c; 这里不仅是我记录技术点滴的后花园&#xff0c;也是我分享学习心得和项目经验的乐园。&#x1f4da; 无论你是技术小白还是资深大牛&#xff0c;这里总有一些内容能触动你的好奇心。&#x1f50d; &#x…