操作系统基本特性——并发、共享、虚拟、异步

操作系统的基本特性——并发、共享、虚拟、异步

前言:操作系统(Operating System,OS)是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。主要作用是管理好这些设备,提高它们的利用率和吞吐量,并为用户和应用程序提供一个简单的接口,便于用户使用。OS是现代计算机系统中最基本和最重要的系统软件,而其它的如编程程序,数据库管理系统等系统软件,以及大量的应用软件,都直接依赖于操作系统的支持,取得它所提供的服务。
软件的分类:
在这里插入图片描述

操作系统在计算机系统的层次结构:
在这里插入图片描述

一、并发

① 并发性与并行性的区别:
并发性是指两个或多个事件在同一时间间隔内发生;并行性是指两个或多个事件在同一时刻发生。在多道程序环境下,并发性是指在一段时间内宏观上有多个程序同时运行,但在单处理机系统中,每一时刻只能由一道程序执行,所以微观上程序是分时地交替执行的。

例如,在一秒钟内,0-15ms程序A运行; 15-30ms程序B运行;30-45ms程序C执行;45-60ms程序D运行。因此可以说,在一秒钟的时间间隔内,宏观上有四到程序在同时运行,但是在微观上,程序A、B、C、D是分时地交替执行的。

②引入进程实现并发
进程:是指在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令、数据和堆栈组成的,是一个能独立运行的活动实体。在一个未引入进程的系统中,属于同一个应用程序的计算程序和I/O程序之间只能是顺序执行,并且当其中一个程序执行时,另一个程序不能执行。如果为两个进程分别建立一个进程(Process),这两个进程便可以并发执行了。实行这种方式,极大的提高了系统资源的利用率,增加了系统的吞吐量。多个进程之间可以并发执行和交换信息。

二、共享

OS环境下的共享,即资源共享或资源复用,是指系统中的资源可供内存中多个并发执行的进程共同使用。系统必须对资源进行妥善的管理,如果管理不当,就有可能造成资源竞争,进程陷入无限等待的局面。由于资源的属性不同,进程对资源的复用方式也不同,目前主要实现资源共享的方式有两种:
①互斥共享方式
系统中的某些资源,虽然能够提供给多个进程使用,但是规定在一段时间内,只允许一个进程访问该资源。为此,在系统中建立了一种机制,来确保多个进程访问该类资源时实现互斥访问。

当进程A要访问某类资源时,必须先提出请求。如果此时该资源空闲,系统就可以将该资源分配给进程A。如果之后又有进程请求访问该资源,就必须等待,直到进程A使用完该资源。这种资源共享方式称为互斥式共享,把这种在一段时间内只允许一个进程访问的资源,称为临界资源(或独占资源)。系统中的大多数物理设备,如栈、变量、表格都属于临界资源,都只能互斥的共享。在之后的信号量机制中就实现的该种方式,用于保证所有进程互斥的使用临界资源。

②同时访问方式
系统中还有一类资源,允许在一段时间内由多个进程“同时”对它们进行访问。这里的“同时”在微观意义上是指进程对该资源的访问是交替进行的。

三、虚拟

在操作系统中,把通过某种技术将一个物理实体变为若干个逻辑上的对应物的功能称为“虚拟”。实现“虚拟”的两种常见技术是时分复用和空分复用。

①时分复用技术
在计算机领域,广泛使用时分复用技术来实现虚拟处理机、虚拟设备等。时分复用技术提高资源利用率的原因在于利用处理机的空闲时间运行其他程序,从而提高了计算机的资源利用率。
②空分复用技术
空分复用技术则是利用存储器的空闲空间分区域存放和运行其他的多道程序,以此来提高内存的利用率。单纯的空分复用存储器只能提高内存的利用率,如果要实现在逻辑上扩大存储器容量的功能,还必须引入虚拟存储技术。虚拟存储技术的本质上是实现内存的分时复用,使程序在远小于它的内存空间中运行。例如,一个300MB的程序在30MB的内存空间中运行,实质上是每次只把用户程序上的一部分调入内存运行,运行完成后将该部分换出,将另一部分程序换入到内存,通过这样的置换功能,便实现了用户程序的各个部分分时的进入内存运行。

四、异步

对于临界资源的互斥访问可见,由于资源等因素的限制,使进程的执行通常都不能“一气呵成”,而是“走走停停”,即进程是以人们不可预知的速度向前推进,每道程序总共需要多少时间才能完成,这也是进程的异步性。只要在操作系统中配置完善的进程同步机制,且运行环境相同,则作业即便经过多次运行,也会获得完全相同的结果。因此异步运行方式是允许的,并且是操作系统的一个重要特征。

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

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

相关文章

ASP.NET MVC 扩展HtmlHelper类为 js ,css 资源文件添加版本号

写在前面 在项目部署当中会需要更新 css 文件或 js 等资源文件,为了避免由于浏览器缓存的原因无法加载新的 css 或 js ,一般的做法是在资源文件的后面加上一个版本号来解决,这样浏览器就会去服务器下载新的资源文件。 如果某个 css 文件被多个…

生物学哲学:科学哲学的新视野

来源:自然辩证法研究 2003年第4期作者:周建漳在未经言明的情况下,“科学”一词通常总是指向“自然科学”,而在传统“科学哲学”的视野中,“科学”则又似乎“不言自明”地指向“数理科学”(注:所…

计算机组成原理——指令与数据的寻址方式

计算机组成原理——指令与数据的寻址方式 前言: 指令的定义:计算机执行某种操作的命令。从计算机组成的层次结构来看,计算机的指令有微指令,机器指令,宏指令之分。 微指令:微程序级的命令,它属…

IBM被曝拟出售昔日明星业务Watson Health,10年医疗梦就此破碎?

来源:AI前线 整理:刘燕传 IBM 拟出售 Watson Health 业务据《华尔街日报》报道,IBM 或将出售 IBM Watson Health 业务。华尔街日报援引知情人士称,随着公司新任 CEO 开始精简公司规模,并在混合云计算领域发力&#xf…

全球光刻机龙头是怎样炼成的

来源:公众号「驭势资本」半导体芯片制作分为IC设计、IC制造、IC封测三大环节,光刻作为IC制造的核心环节,其主要作用是将掩模版上的芯片电路图转移到硅片上。由于光刻的工艺水平直接决定芯片的制程水平和性能水平,光刻成为IC制造中…

页面置换算法——最佳置换算法、最近最少使用算法、先进先出算法、时钟置换算法

计算机操作系统——页面置换算法 根据中国大学MOOC计算机操作系统(电子科技大学)而写. 如果自己要设计页面置换,要根据什么原则来设计?我们首先想到的是存储器的局部性原理(时间局部性、空间局部性) Page removed should be the …

MIT提出Liquid机器学习系统,可像液体一样适应动态变化

作者:Daniel Ackerman机器之心编译编辑:Panda麻省理工学院(MIT)的研究者开发出了一种新型的神经网络,其不仅能在训练阶段学习,而且还能持续不断地适应。他们将这种灵活的算法命名为「Liquid」网络&#xff…

如何理解在数据类型中元素不能修改?

如何理解在数据类型中元素不能修改? 我所理解的元素修改是: 不能对已经赋值或者初始化的数据类型进行元素的修改,这里的修改不是指片面意思上的输错了数值,将光标移到对应位置,按下删除键,再进行数据的修改…

打破 Google 破坏性的搜索垄断

作者:Ryan Cooper译者:Sambodhi策划:刘燕近来,Google 在搜索算法方面的垄断地位,频繁引起美国和欧洲的反垄断关注。Google 在网络搜索方面有绝对的优势。近来,Google 在搜索算法方面的垄断地位,…

计算机网络——时延、时延带宽积、往返时间、利用率

计算机网络——时延、时延带宽积、往返时间、利用率 推荐课程:https://www.bilibili.com/video/BV19E411D78Q/?p4 1.时延 时延(delay或latency)是指数据(报文、分组、比特)从网络(或链路)的…

一文读懂虚拟现实产业最新发展趋势

来源: 中国电子报作者:赛迪智库虚拟现实产业形势分析课题组2020年以来,5G商用化进程的加速和新冠肺炎疫情背景下“非接触式”经济的新需求为虚拟现实产业发展带来了新的机遇。虚拟现实、增强现实技术在支撑服务疫情防控、加快企业复工复产、强…

log4net日志文件的应用

日志作为快速定位程序问题的主要手段,日志几乎是所有程序都必须拥有的一部分,下面我们就看下怎么使用log4net.dll文件: 1.下载log4net.dll文件 2.创建自己的项目 3.在自己项目下的引用log4net.dll文件 4.在app.config配置文件里添加配置信息&…

CSMA/CD协议分析笔记

CSMA/CD协议分析笔记 CSMA/CD(carrier sense multiple access with collision detection) 文章目录CSMA/CD协议分析笔记前言一、解读CS MA / CDCS——“载波监听”MA——“多点接入”CD——“碰撞(冲突)检测”二、传播时延对载波监听的影响为什么先听后发还是会产生冲突&#…

【剑指offer】面试题52:两个链表的第一个公共节点(java)

输入两个链表,找出它们的第一个公共节点。 如下面的两个链表: 在节点 c1 开始相交。 示例 1: 输入:intersectVal 8, listA [4,1,8,4,5], listB [5,0,1,8,4,5], skipA 2, skipB 3 输出:Reference of the node wit…

城市大脑全球标准研究1:城市大脑产生的时代背景是什么?

来源:城市大脑全球标准研究组20世纪10年代以来,IT科技领域出现了很多“大脑”“神经系统”概念,如互联网大脑、谷歌大脑、百度大脑、360安全大脑、华为城市神经系统等等,城市大脑是其中一个。这是一个有趣的现象,为什么…

李书福:对未来世界及汽车发展的六个洞见(附万字内部讲话全文)

来源:东西智库2月20日,一直被外界誉为缔造汽车行业传奇的吉利控股集团董事长李书福以“守正出奇 实事求是”为主题在集团内部进行了分享交流,在这场万字内部分享中,李书福从国内国际双循环之机遇和挑战,企业治理能力、…

JSP的“三指六动九内”

JavaWeb——JSP的“三指六动九内” JSP的基本使用 1. JSP模板元素 网页的静态内容。如html标签 JSP脚本 2. JSP的脚本 2.1、小脚本<% Java代码%> 2.2、表达式<% 11%>&#xff0c;等价于out.print(11) 2.3、声明<%! 声明变量和方法%> 3. JSP注释 JSP注释…

基于IPP-FFT的线性调频Z(Chirp-Z,CZT)的C++类库封装并导出为dll(固定接口支持更新)

上一篇分析了三种不同导出C++类方法的优缺点,同时也讲了如何基于IPP库将FFT函数封装为C++类库,并导出为支持更新的dll库供他人调用。 在此基础上,结合前面的CZT的原理及代码实现,可以很容易将CZT变换也封装为C++类库并导出为dll,关于CZT的原理和实现,如有问题请参考: …

梦境交互:做个现代灵媒,考虑一下?

来源&#xff1a;脑极体睡眠几乎占据人生的三分之一时间&#xff0c;做梦又是睡眠中必不可少的生理活动。很多人常常把“无梦之眠”看作是一个人精神状态好的标志&#xff0c;但事实上做梦常常发生&#xff0c;只是很多人在醒来后完全忘记自己做过梦而已。研究表明&#xff0c;…

使用浏览器获取网页模板(HTML+CSS)

使用浏览器获取网页模板(HTMLCSS) 一、获取网页的源代码 进入网页&#xff0c;使用快捷键CtrlU查看网页源代码&#xff0c;也可以单击鼠标右键选择查看网页源代码获取。 网页源代码&#xff1a; 将网页源代码CtrlA全选&#xff0c;CtrlC复制 在网页编辑器中新建一个HTML文…