CHS_02.1.1.2+操作系统的特征

CHS_02.1.1.2+操作系统的特征

  • 操作系统的四个特征
    • 并发这个特征
    • 为什么并发性对于操作系统来说是一个很重要的基本特性
    • 资源共享
    • 虚拟
    • 异步性

操作系统的四个特征

在这里插入图片描述

操作系统有并发 共享 虚拟和异部这四个基本的特征 其中

并发和共享是两个最基本的特征 二者互为存在条件 我们会按照这样的顺序为大家依次讲解 并且会解释为什么这两个

这两个是最基本的特征 并且二者互为存在条件 首先我们来看一下

并发这个特征

并发是指两个或者多个事件同一时时间间隔内发生 这些事件宏观上看是同时发生的 微观上其实是交替发生的
在这里插入图片描述

与这个并发概念比较容易混淆的是并形的概念 并形是指两个或者多个事件在同一时刻同时发生

这个对于跨考的同学来说可能会不太容易理解 那么我们用一个例子来进行说明 假设有这样两个人 一个是小渣 一个是老渣 他们都有两个女朋友 然后有两个任务

都是分别是和一号约和二号约 那么如对于小渣来说 他采用了一种翠绿翠绿的约会方式 就是和一号二号一起约会

而老渣采用了一种更绿的约会方式 就是在各个时间段内他交替的和两个女朋友进行约会 那么对于小渣的这种方式来说 他其实采用的就是并行约会的策略

并形的意思是指两个或者多个事件同一时刻同时发生 也就是说对于小渣来说 他在同一时刻他其实是同时在进行着两个约会任务

而对于老渣来说 他采用的是并发约会的这种方式 在宏观上看 这一整天老渣进行了两完成了两个约会任务 但是在微观上看 任何一个时刻 老渣其实只在执行其中的某一个约会任务

所以这就是所谓的微观上交替发生 而宏观上同时发生的并发的这种特征

那么经过这个例子 相信大家对并发和并形已经有了直观的理解 那在了解了并发和并形的区别之后 我们再来看一下什么是操作系统的并发性

操作系统的并发性指的是在计算机当中同时运行着多个程序 这些程序宏观上看他们是同时运行着的 但是微观上看其实是交替运行的

接下来我们再来看一下

为什么并发性对于操作系统来说是一个很重要的基本特性

其实 我们的操作系统 它就是伴随着多道程序技术出现的 这个我们会在下个小节操作系统的发展历史当中

会有进一步的介绍 总之 操作系统的出现就是为了支持多道程序

并发运行同时运行而诞生的 那我们需要注意一个很重要的考点 对于一个单核cpu来说
在这里插入图片描述

同一时刻只能执行一个程序 因此 一个单和cpu的系统当中

各个程序肯定是只能并发的执行 但是对于多核cpu来说 同一时刻可以同时执行多个程序

也就是说 多个程序可以并行的执行 举个例子 我们的英特尔第八代爱三处理器 它就是一种四核的cpu 这个大家可以上网去搜一下

四核cpu就意味着它可以并行的执行四个程序 比如说在这个cpu上 我们可以同时并行的运行

微信 qq word还有crome这四个程序 但是如果此时有第五个程序也想同时运行 比如说我们想同时在听歌的话

那么我们就必须剥夺其中的某一个程序它对cpu的使用权 比如说我们把

word这个程序给换下cpu 然后让qq这个程序上cpu运行 然后word和qq这两个程序

交替者来使用cpu 总之 对于四核cpu来说 同一时刻只能同时执行四个程序

而如果要有超过四个以上的程序同时运行的话 那么并发性依然是必不可少的

所以不管是早期的操作系统还是现代的操作系统 并发性都是操作系统一个很重要的 最基本的特性

那么再来看第二个共享特性共享 也就是

资源共享

是指系统当中的资源可以供内存当中的多个并发执行的进程共同使用
在这里插入图片描述

啊 资源共享可以分为两种共享方式 一个是互斥共享 一个是同时共享 对于互斥来说

是指啊 在一个时间段内 这个资源只允许一个进程来使用

而同时共享是指在一个时间段内他允许多个进程 这个资源允许多个进程同时对他进行访问

啊 这个地方所谓的同时为什么要打双引号呢 因为它往往是在宏观上同时

而在微观上可能是交替的 对这个资源进行访问的 这个在这个地方 宏观和微观刚才理解了并发和并形之后 这儿大家应该就已经可以理解了

那么直接来看一个例子 对于护士共享方式来说 我们比如说我们

使用qq和微信视频聊天 但是在同一时间段的 我们只会允许摄像头给其中的一个精神使用

比如你用qq和你的家人正在进行聊天 那么这个时候你还想用电脑的微信和你的

啊 小伙伴 进行视频聊天的话 你就会发现这个视频是发布出去的 因为他会提示你说这个摄像头正在已经被分配给其他的进程

所以 这就是所谓的互斥共享方式 在一个时间段内摄像头 这个

这个资源 他只能被分配给其中的一个精神使用 再看第二个例子

同时 共享方式我们可能会遇到这样的情况 我们用qq给某某人发送文件a 然后用微信发送文件b

在宏观上看来 微信和qq的这个文件发送的进度条都是一直在推进的

往前推进的 所以在用户宏观上看来 看起来两边都是在同时读取发送文件 这些文件它是被放在硬盘里的

那么在用户看来就看起来就像是qq和微信 这两个进程都在同时访问硬盘这个资源 从中读取各自的文件数据 但事实上

微观上来来看 这两个进程他们是交替的 访问硬盘的qq先读出了文件a的某一个部分 然后

微信又读出文件b的某一部分 接下来又交替着让qq读文件a的下一部分

然后以此交替的访问这个硬盘 所以这就是所谓的微观上交替的

访问这个硬盘资源的意思 所以这就是两个很典型的互斥共享和同时共享的
在这里插入图片描述

这种例子 有的时候 这个同时共享也有可能是微观上也确实在同时的共享这个资源

比如说 你在玩游戏的时候一边听歌 那么你会发现你的扬声器 这个

声音输出设备一边在播放游戏的音效同时还在播放音乐 所以在这种情况下 扬声器这个声音输出设备是真的在微观上也是同时正在被你的音乐播放器和游戏这两个进程同时使用的

所以这个地方稍微注意一下 那么我们再来看一下并发和共享的关系 继续通过上面的例子来分析

用qq发送文件a 微信发送文件b那么就说明qq和微信两个

两个进程他们其实是在并发的执行的 也就是有并发性 那么这两个进程他们需要同时完成这个

发送文件的事情 所以他们需要共享的访问硬盘资源 这儿又体现了他的共享特性 如果说

我们的这个系统失去了并发性 就是说明在系统当中同一时间段只能有一个程序正在运行

那么也就意味着这两个进程他们就不需要啊同时共享来访问这个硬盘资源 那么这个共享性也就失去了存在的意义

而另一个角度 如果说这个系统失去了共享性 那么qq和微信这两个进程就没办法

同时访问这个硬盘资源 所以他们也没办法完成同时发送文件这件事

既然如此 qq和微信也就没办法并发的执行 所以说我们可以看到 如果失去了并发性 那么共享性就失去了存在的意义

而如果失去了共享性 那么并发性就不可能被实现 所以并发和共享 我们才说他们是互为存在条件的

这就是开篇提到的一个知识点 好的 下面再看第三个特征

虚拟

在这里插入图片描述

虚拟试试把物理上的实体对应为若干个逻辑上的对应物 我们直接来看

一个实际的例子吧 我们知道 在一个程序需要执行的时候 需要把它放入到内存并且给它分批分配cpu才能执行 这是一个我特别喜欢的游戏之贴 然后这个游戏官方的数据是说它需要4G的运行内存

然后 除了这个游戏之外 其实我在电脑当中还有各种各样的别的一些应用软件程序 那么

我的电脑其实只有4G b的内存 但是其实在我的电脑上 我可以同时打开这些qq 还可以用微信的迅雷

同时还在用网易云音乐 在听音乐 所以看起来这么多的应用软件 他们总共需要的内存量 他们是其实是远大于4G b的

但为什么他们又可以在我的电脑上同时运行呢 其实这就采用了虚拟存储器技术 实际上 这个电脑只有4Gb

的内存 也就物理上的实体是4Gb的内存 但是在用户看来 在我看来

它变成了逻辑上的对应物 它看起来是远远大于4Gb的 所以这就是虚拟特性虚拟技术的一个一个例子

这个虚拟存储期技术 它其实就是虚拟技术当中的空分富有技术

这个地方大家只需要对虚拟存储器和空分复用技术能有一个印象就可以了 这两个知识点是第三章会重点讲解的知识点

那么 再看另外一个例子 在一个单盒计算机下面 用户可以打开qq 可以打开什么迅雷

不说了 那么既然这个电脑只有一个单核的cpu 既然如此 这个计算机当中为什么还可以同时

执行这么多的程序呢 其实这就用到虚拟处理器的技术 实际上只有一个单核cpu 这是物理上的实体

但是在用户看来 在我看来这个计算机似乎变成了六个cpu在同时为自己服务 这就是所谓的逻辑上的实体

那么虚拟处理器技术就是典型的时分复用技术在微观上看

一个一整个大的时间段被分割为了一个一个微小的时间片时间段

然后在各个时间段内 处理机是交替的 为各个进程服务的 所以这就是时分的意思

他把一个大的时间段分为了各个很小的时间片 所以这是时分复用
在这里插入图片描述

啊 再来回顾一下我们刚才讲了实现虚拟性的这个虚拟技术

分为空分复用技术和十分复用技术 然后 很显然我们如果说这个系统当中这个操作系统失去了并发性 那么就意味着一个时间段的只需要有一道程序在执行

那么 从刚才我们分析的过程中可以看到 如果没有了并发性 那么这个十分复用技术和空分复用技术其实也没有存在的意义

那么 我们也就是说 我们这个虚拟性也就没必要实现了 所以可以说没有并发性就谈不上虚拟性 虚拟性就没有存在的意义

最后看第四个特性

异步性

异步是指多到程序环境下允许多个程序并发执行 但是由于资源有限

进程的执行不是一贯到底 而是走走停停的 以不可预知的速度向前推进 用一个例子来帮助大家理解什么是异步
在这里插入图片描述

假设老渣现在要和两个女孩并发的约会 然后一号女孩会让老渣干这样的两件事

首先是陪他吃饭 第二是把心给他 二号女孩会让老渣先把心给他 然后再让老渣陪他吃饭

所以 老渣在执行一号的这两条指令的过程其实就相当于是在执行第一道程序 而执行二号女孩这两条指令的过程其实就相当于它是在执行第二道程序 而这两道程序需要并发的执行

另外呢 老渣 他只有一颗真心 所以老渣的心相当于这儿提到的有限的系统资源

那由于这两道程序在系统中是并发的运行的 因此这两道程序有可能会增强着使用这个资源

所以老渣在执行这两道程序的时候 有可能是这么约的 比如说刚开始他是和一号约

也就是执行了一号的第一条指令 陪他吃饭 接下来的这个时间段 也是和一号约执行了他的第二个指令

那根据一号的这个要求 老渣会把心给一号 也就说这个系统资源分配给了一号

而接下来的这个时间段是要和二号月 二号要求老渣把心给他 但是由于此时老渣的心 这个有限的系统资源已经给了一号 并且一号没有把这个系统资源归还给老渣

所以二号要求老渣把新给他 这个请求就不能够被满足 所以二号程序运行到这个地方的时候肯定需要被阻塞

需要先停一段时间 等他获得了他想要的这个资源之后 二号程序才可以接着往下执行

另一种情况 老渣还有可能是这么约的 他刚开始有可能是和一号约 然后陪一号吃饭

接下来的这个时间段适合二号约 根据二号的指令 他把心给了二号 那再接下来他又和一号约 也就是说 此时他要执行一号的第二条指令

一号让老渣把新给他 但是由于此时这个有限的系统资源是被二号所占有的 并且二号没有归还给系统 因此一号的这个把新给他的请求不能够被满足 所以这个第一道程序的执行在这个位置就会被阻塞

然后等待这个系统资源的分配 所以从这个例子当中我们很直观的可以看到

在两道程序并发运行的过程当中 这些并发运行的程序 他们都会争抢着使用系统当中的这些资源

所以 这些程序的运行并不是一贯到底 而是走走停停的 以不可预知的速度就向前推进的

有的时候有可能是二号需要停下来等待 有的时候有可能是一号需要停下来等待

在实际的操作系统当中 各个并发运行的程序之间也会出现这种增强着使用有限的系统资源的情况

比如说 两个程序增强着使用摄像头资源 或者增强着使用打印机资源

等等 所以这是多道程序环境下多个程序并发执行所带来的一个

特性也就是所谓的异步性 那很显然 如果失去了并发性的话 就意味着系统只能创新的执行各个程序

也就说低道程序执行完了 然后一号把老扎的心归还给老扎 之后他才会接着执行第二道程序 那在这种情况下 各个程序的执行肯定是会一贯到底的

并不会走走听听 所以说只有系统拥有并发性 才有可能会导致我们之前所说的这个异步性

好的 以上就是操作系统的四个特性 我们分别讲了并发 共享 虚拟和异步

在考试当中 我们需要重点关注的是这个并发和并型的区别 这个刚才我们用老渣和小渣两个约会的策略来进行了说明

另外呢 注意 这个并发和共享他们是互为存在条件的 这个刚才爷爷已经解释过

另外 如果没有并发 那么就谈不上虚拟和异步 而并发和共享本身又是互为存在条件的 所以可以这么说 没有并发和共享 就谈不上虚拟和异步
在这里插入图片描述

虚拟和异步就没有存在的意义 这就是为什么说他们是最基本的两个特征

推荐一个零声学院免费公开课程,个人觉得老师讲得不错,分享给大家:Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等技术内容,立即学习

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

pycharm中Pyside2/QtDesigner安装和配置

目录 1、安装pyqt5 2、安装pyqt5-tools 3、在pycharm中配置Qt Designer PyQt5/QtDesigner安装和配置 1、安装pyqt5 pip install pyqt5 安装了 pyqt5 之后,在 python 安装目录下面的 Scripts 文件夹中,有一个 pyuic5.exe 文件,这个可执行文…

大模型上下文长度的超强扩展:从LongLoRA到LongQLoRA

前言 本文一开始是《七月论文审稿GPT第2版:从Meta Nougat、GPT4审稿到Mistral、LongLora Llama》中4.3节的内容,但考虑到 一方面,LongLora的实用性较高二方面,为了把LongLora和LongQLora更好的写清楚,而不至于受篇幅…

【JUC】进程和线程

目录 📢什么是进程?🎡什么是线程?🚀进程和线程的区别?🎢Java 线程和操作系统的线程有啥区别?🎖️JDK21的虚拟线程🎯虚拟线程和平台线程的对比 📢什么是进程? 进程是程序的一次执…

1032: 员工薪水 和 1041: 数列求和2

1032: 员工薪水 某公司规定,销售人员工资由基本工资和销售提成两部分组成,其中基本工资是1500元/月,销售提成规则如下: 销售额小于等于10000元时,按照5%提成; 销售额大于10000元但小于等于50000元时&am…

2024年了,难道还不会使用谷歌DevTools么?

我相信您一定对Chrome浏览器非常熟悉,因为它是前端开发者最亲密的伙伴。我们可以使用它查看网络请求、分析网页性能以及调试最新的JavaScript功能。 除此之外,它还提供了许多功能强大但不常见的功能,这些功能可以大大提高我们的开发效率。 让我们来看看。 1. 重新发送XHR…

Java网络爬虫--概述与原理

目录标题 基本概念与原理爬虫与搜索系统的关系爬虫运行原理爬虫步骤DNS域名解析 爬虫开发本质网络爬虫的分类通用网络爬虫聚集网络爬虫增量式网络爬虫Deep Web爬虫 参考文献 基本概念与原理 爬虫又叫网络蜘蛛,一种运行在互联网上用来获取数据的自动程序。 互联网的…

程序员副业之AI情侣头像(手把手超详细完整全流程)

项目介绍 小黑今天给咱们分享个轻松简单的项目,每天不会超过半小时,就是用AI制作情侣头像,在抖音上变现。听起来是不是很科幻?但实际上效果杠杠的! 最关键的是,收入方面,一单9块9,…

水文模型(科普类)

SWMM 模型概况: SWMM5 系列拥有编辑区域数据的功能,而且能模拟水文、 水力和水质。其核心部分是管道汇流计算模块,提供了恒定流法、运动波法和动力波法三种水动力学 方法。其中动力波法通过求解完整的圣维南方 程组进行计算,能够…

Open3D 点云下采样抽稀(7)

Open3D 点云下采样抽稀(7) 一、算法介绍二、算法实现1.代码 一、算法介绍 点云抽稀在计算机图形学和计算机视觉中有着广泛的应用,其作用包括但不限于以下几点: 数据压缩: 点云抽稀可以有效地减少点云数据量&#xff0…

浏览器使用隧道代理HTTP:洞悉无界信息

在信息爆炸的时代,互联网已经成为获取信息的首选渠道。然而,在某些地区或情况下,访问某些网站可能会受到限制。这时,隧道代理HTTP便成为了一个重要的工具,帮助用户突破限制,洞悉无界信息。 一、隧道代理HT…

【常考简答题】操作系统

目录 1、什么是进程 2、创建进程步骤 3、什么是死锁 4、死锁四个必要条件 5、什么是内存管理 6、内存管理功能 7、进程的三个基本状态转化图 8、操作系统为什么引入线程 9、什么是对换技术,好处是什么 10、DMA直接存取控制工作方式流程图 11、什么是假脱…

泽攸科技完全自主研制的电子束光刻机取得阶段性成果

国产电子束光刻机实现自主可控,是实现我国集成电路产业链自主可控的重要一环。近日,泽攸科技联合松山湖材料实验室开展的全自主电子束光刻机整机的开发与产业化项目取得重大进展,成功研制出电子束光刻系统,实现了电子束光刻机整机…

免费服务器腾讯云_腾讯云免费服务器申请流程(2024更新)

腾讯云免费服务器申请入口 https://curl.qcloud.com/FJhqoVDP 免费服务器可选轻量应用服务器和云服务器CVM,轻量配置可选2核2G3M、2核8G7M和4核8G12M,CVM云服务器可选2核2G3M和2核4G3M配置,腾讯云百科txybk.com分享2024年最新腾讯云免费服务器…

2024年MySQL学习指南(四),探索MySQL数据库,掌握未来数据管理趋势

文章目录 前言9. 约束的概念10. 约束的分类11. 非空约束12. 唯一约束13. 主键约束14. 默认约束15. 外键约束16. 约束的案例练习 前言 接上篇: 2024年MySQL学习指南(一) 2024年MySQL学习指南(二) 2024年MySQL学习指…

解析IT运维领域ITSS和ITIL证书

🌻IT运维领域ITSS和ITIL证书是两种广泛认可的专业认证。 📗ITSS认证证书 ITSS是中国电子技术标准化研究院推出的,👉包含“IT 服务工程师”和“IT 服务经理”的系列培训。有效满足GB/T 28827.1 的符合性评估要求和ITSS服务资质升级…

猫头虎分享已解决Bug || TypeError: Cannot read property ‘match‘ of undefined

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通Golang》…

基于yolov5的PCB板缺陷检测(附有详细步骤通俗易懂版)

PCB板缺陷检测 模型训练 在初学的时候,可能不太了解到底模型训练是个什么流程,到底是什么意思。其实也很简单,就是我们用一个框架(如pytorch,tensorflow等)通过一定的算法如yolov5,对一定的数…

Linux第18步_安装“Ubuntu系统下的C语言编GCC译器”

Ubuntu系统没有提供C/C的编译环境,因此还需要手动安装build-essential软件包,它包含了 GNU 编辑器,GNU 调试器,和其他编译软件所必需的开发库和工具。本节用于重点介绍安装“Ubuntu系统下的C语言编译器GCC”和使用。 1、在安装前…

Flume实时读取本地/目录文件到HDFS

目录 一、准备工作 二、实时读取本地文件到HDFS (一)案例需求 (二)需求分析 (三)实现步骤 三、实时读取目录文件到HDFS (一)案例需求 (二)需求分析 …

竞赛保研 基于深度学习的人脸表情识别

文章目录 0 前言1 技术介绍1.1 技术概括1.2 目前表情识别实现技术 2 实现效果3 深度学习表情识别实现过程3.1 网络架构3.2 数据3.3 实现流程3.4 部分实现代码 4 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 基于深度学习的人脸表情识别 该项目较…