操作系统:四大特征(并发,共享,虚拟,异步)

news2025/1/19 19:42:05

1.并发

1.并发的定义

并发:指两个或多个事件在同一时间间隔内发生。
这些事件宏观上是同时发生的,但微观上是交替发生的。

值得注意的是,与并行(指两个或多个事件在同一时刻同时发生)区分开来。

2.操作系统的并发性

  • 指计算机系统中“同时”运行着多个程序,这些程序宏观上看是同时运行着的,而微观上看是交替运行的。
  • 操作系统就是伴随着“多道程序技术”而出现的。因此,操作系统和程序并发是一起诞生的。

3.CPU的程序执行

  • 单核CPU同一时刻只能执行一个程序,各个程序只能并发地执行.
  • 多核CPU同一时刻可以同时执行多个程序,多个程序可以并行地执行

2.共享

1.共享的定义

共享即资源共享,
是指系统中的资源可供内存中多个并发执行的进程共同使用。

2.资源共享方式

  • 互斥共享:系统中的某些资源,虽然可以提供给多个进程使用,但一个时间段内只允许一个进程访问该资源。
  • 同时共享:系统中的某些资源,允许一个时间段内由多个进程“同时”对它们进行访问。
  • 所谓的“同时”往往是宏观上的,而在微观上,这些进程可能是交替地对该资源进行访问的(即分时共享)

3.并发和共享的关系

通过以下例子来看并发与共享的关系:
使用QQ发送文件A,同时使用微信发送文件B。
1.两个进程正在并发执行(并发性)
2.需要共享地访问硬盘资源(共享性)

分析:

  • 如果失去并发性,则系统中只有一个程序正在运行,则共享性失去存在的意义。
  • 如果失去共享性,则QQ和微信不能同时访问硬盘资源,就无法实现同时发送文件,也就无法并发。

得到结论:并发和共享互为存在条件

4.虚拟

虚拟是指把一个物理上的实体变为若干个逻辑上的对应物。
物理实体(前者)是实际存在的,而逻辑上对应物(后者)是用户感受到的。

1.虚拟技术分类

  • 空分复用技术(如虚拟存储器技术)
  • 时分复用技术(如虚拟处理器)

2.并发性是虚拟性的前提条件

显然,如果失去了并发性,则一个时间段内系统中只需运行一道程序,
那么就失去了实现虚拟性的意义了。因此,没有并发性,就谈不上虚拟性。

5.异步

异步是指,在多道程序环境下,允许多个程序并发执行,
但由于资源有限,进程的执行不是一贯到底的,
而是走走停停,以不可预知的速度向前推进,这就是进程的异步性。

1.并发性是异步性的前置条件

如果失去了并发性,即系统只能串行地运行各个程序,
那么每个程序的执行会一贯到底。
只有系统拥有并发性,才有可能导致异步性。

在这里插入图片描述

综上所述:
没有并发和共享,就谈不上虚拟和异步,因此并发和共享是操作系统的两个最基本的特征。

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

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

相关文章

【微信读书】数据内容接口逆向调试01

需求爬取微信读书的某一本书的整本书的内容 增强需求,大批量爬取一批书籍内容 众所周知微信读书是一个很好用的app,他上面书籍的格式很好,质量很高。 本人充值了会员但是看完做完笔记每次还得去翻很不方便,于是想把书籍内容弄下…

【Unity基础】3.脚本控制物体运动天空盒

【Unity基础】3.脚本控制物体运动&天空盒 大家好,我是Lampard~~ 欢迎来到Unity基础系列博客,所学知识来自B站阿发老师~感谢 (一)搭建开发环境 (1)下载visual studio 在我们下载unity编译器的时候&…

十一)Stable Diffussion使用教程:人物三视图

现在我们通过一个个具体的案例,去进阶SD的使用。 本篇案例:绘制Q版人物三视图 1)我们先选择一个偏3D的模型,选择文生图,输入魔法; 2)然后选择触发三视图的Lora:<lora:charturnerbetaLora_charturnbetalora:0.6>,注意这里的名称都是本地重新命名的,非原来C站下…

PLC编码器测速(限幅滤波+中心差分法求导SCL源代码)

M法测速的基本原理,大家可以查看专栏的系列文章,这里不再赘述常用链接如下: PLC通过编码器反馈值计算速度的推荐做法(算法解析+ST代码)_编码器脉冲怎么转换为速度_RXXW_Dor的博客-CSDN博客PLC如何测量采集编码器的位置数据,不清楚的可以参看我的另一篇博文:三菱FX3U PLC…

十五、Webpack打包图片-js-Vue、Label命令、resolve模块解析

一、webpack打包图片 &#xff08;1&#xff09;加载图片案例准备 为了演示我们项目中可以加载图片&#xff0c;我们需要在项目中使用图片&#xff0c;比较常见的使用图片的方式是两种&#xff1a; img元素&#xff0c;设置src属性&#xff1b;其他元素&#xff08;比如div&…

如何做一个合格的微软技术工程师

我是荔园微风&#xff0c;作为一名在IT界整整25年的老兵&#xff0c;今天我们来重新审视一下如何做一个合格的微软技术工程师。 我认为要做一个合格的微软技术工程师&#xff0c;首先是要有兴趣从事这个职业。现在很多人是因为软件行业的薪资高才进入的&#xff0c;但我的看法…

并查集快速合并

对于一组数据&#xff0c;并查集主要支持两个动作&#xff1a; union(p,q) - 将 p 和 q 两个元素连接起来。 find(p) - 查询 p 元素在哪个集合中。 isConnected(p,q) - 查看 p 和 q 两个元素是否相连接在一起。 在上一小节中&#xff0c;我们用 id 数组的形式表示并查集&am…

基于SSM的宿舍管理系统【附源码文档】

基于SSM的宿舍管理系统【附源码文档】 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringSpringMVCMyBatis工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 【主要功能】 角色&#xff1a;管理员、宿舍管理员、学生 管理员&#xff1a;院系信息、班级信…

7X24即时新闻监测

即时新闻----是我们最快获取新闻内容的重要途径。一般内容简短精悍&#xff0c;更新频率高&#xff0c;很多字少事大的新闻首先在即时新闻里体现。即便是为我们及时获取新闻资讯带来方便&#xff0c;但我们仍然不可能一直盯着即时新闻页面看吧。我们希望当有重要新闻事件时&…

Unity中Shader抓取屏幕并实现扭曲效果(优化)

文章目录 前言一、在之前顶点着色器的输入中&#xff0c;放弃了使用结构体传入&#xff0c;而是直接从应用程序阶段传入参数&#xff0c;这样写的话&#xff0c;对于程序来说&#xff0c;不方便扩张&#xff0c;所以需要对其进行修改实现1、定义结构体用于传入顶点坐标系2、因为…

查找:顺序查找的实现以及相关优化

1.算法思想 顺序查找&#xff0c;又叫“线性查找”&#xff0c;通常用于线性表。 适用于顺序表、链表&#xff0c;表中元素有序无序都OK。 可在0索引处存“哨兵”&#xff0c;从尾部向头部挨个查找优点:循环时无需判断下标是否越界。 代码实现&#xff08;哨兵&#xff09;&…

SpringCloud Alibaba 入门到精通 - Nacos

SpringCloud Alibaba 常用组件 一、基础结构搭建1.父工程创建2.子工程创建 二、Nacos&#xff1a;注册中心1.服务端搭建2.注册中心-客户端搭建3.注册中心-管理页面4.注册中心-常用配置5.注册中心-核心功能总结 三、Nacos注册中心集成Load Balancer 、OpenFeign1.Nacos客户端集成…

Python Opencv实践 - SIFT关键点检测

参考资料&#xff1a; 关键点检测SIFT算法笔记_亦枫Leonlew的博客-CSDN博客 SIFT特征检测算子和sift cv2.xfeatures2d.SIFT_create出错的解决办法_self.siftcv2.xfeatures2d.sift_create()_刘凯数据分析的博客-CSDN博客 import cv2 as cv import numpy as np import matplo…

Nodejs 第十五章(child_process)

child_process 子进程 子进程是Nodejs核心API&#xff0c;如果你会shell命令&#xff0c;他会有非常大的帮助&#xff0c;或者你喜欢编写前端工程化工具之类的&#xff0c;他也有很大的用处&#xff0c;以及处理CPU密集型应用。 创建子进程 Nodejs创建子进程共有7个API Sync…

yolo增加MPDIoU loss

边界框回归&#xff08;Bounding Box Regression&#xff0c;BBR&#xff09;在目标检测和实例分割中被广泛应用&#xff0c;是定位目标的重要步骤。然而&#xff0c;大多数现有的边界框回归损失函数在预测框与实际标注框具有相同的宽高比但宽度和高度值完全不同的情况下无法进…

基于SSM的鲜花商城系统【附源码文档】

基于SSM的鲜花商城系统【附源码文档】 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringSpringMVCMyBatis工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 【主要功能】 角色&#xff1a;用户、管理员 用户&#xff1a;登录、注册、商品查询、公告预…

sql注入漏洞(CVE-2022-32991)

简介 CVE-2022-32991是Web Based Quiz System v1.0版本中存在的SQL注入漏洞&#xff0c;该漏洞源于welcome.php中的eid参数缺少对外部输入SQL语句的验证。攻击者可利用该漏洞执行非法SQL命令窃取数据库敏感数据。 打开靶场环境&#xff0c;如下 1.进行注册登录 2.点击任意一处…

Python异常处理——走BUG的路,让BUG无处可走

作者&#xff1a;Insist-- 个人主页&#xff1a;insist--个人主页 本文专栏&#xff1a;Python专栏 专栏介绍&#xff1a;本专栏为免费专栏&#xff0c;并且会持续更新python基础知识&#xff0c;欢迎各位订阅关注。 目录 一、了解python异常 1、BUG 单词的由来 2、什么是异…

并联电容器电容量测试

试验目的 开展并联电容器电容量试验的目的是检查其电容值的变化情况, 以判断电容器内部接线是否正确, 内部各电容单元是否存在断线、 击穿短路或绝缘受潮等现象, 以避免在运行中发生事故。 试验设备 电容电感测试仪 厂家&#xff1a; 湖北众拓高试 试验方法 并联电容器电容量…

std : : vector

一.简介 std::vector 的底层实现通常基于动态数组&#xff08;dynamic array&#xff09;&#xff0c;它是一种连续分配的内存块&#xff0c;允许元素的快速随机访问。下面是 std::vector 的一些关键特点和底层实现细节&#xff1a; 连续内存块&#xff1a;std::vector 内部使…