【操作系统】详细解读操作系统的四大特征:并发、共享、虚拟、异步

2024-09-07 13:44:53 浏览数 (2)

操作系统的特征

导读

大家好!很高兴又和大家见面了!!!

在上一篇内容中我们详细介绍了操作系统的两个基本概念——操作系统的定义以及操作系统的目标和功能。我相信大家在阅读完上一篇内容后能够对操作系统有一个最基本的了解。

在今天的内容中,我们将介绍操作系统的另一个基本概念——操作系统的特征。通过今天的内容,我们将好好的对操作系统的特征进行详细的解读。下面我们就正式开始今天的内容吧!

一、基本特征

操作系统作为最基本的软件系统,它与其它的软件有着很大的不同。相比于其它的系统软件和应用软件,操作系统有着自己的特殊性也就是基本特征。对于操作系统而言,它有着四大基本特征并发共享虚拟异步。在这四个基本特征中并发和共享是操作系统的两个最基本的特征,下面我们就来详细介绍一下这两个特征。

PS:这些基本特征将会伴随着我们学习操作系统的整个过程,希望大家通过今天的内容能够对这些基本特征有一个初步的理解。

二、最基本的特征

并发和共享作为操作系统最基本的特征,我们要了解它们就需要解答两个问题:

  1. 并发是什么?共享是什么?
  2. 为什么说并发和共享是操作系统最基本的特征?

接下来我们就来依次解答这两个问题;

2.1 并发

并发指的是两个或多个事件在同一时间间隔内发生。操作系统的并发性是指计算机系统中同时存在多个运行程序,因此它具有处理和调度多个程序同时执行的能力。在操作系统重,引入进程的目的是使程序能并发执行。

PS:注意这里的同一时间间隔并不是指同一时刻。为了更好的理解同一时间间隔和同一时刻,这里我们需要介绍一个新的概念——并行。

并行是指两个或多个事件在同一时刻内同时发生。操作系统的并行性是指操作者系统具有同时进行运算或操作的特性,在同一时刻内能完成两种或两种以上的工作。并行性需要有相关硬件的支持,如多流水线或多处理机硬件环境。

那怎么来理解并发和并行以及它们之间的区别呢?下面我以我比较喜欢的动漫中的人物鸣人和佐助为例,来说明他们在处理任务时的区别,这里我们假设他们都需要在4个小时内完成两个任务:修建木叶村与清理火影岩。

为了完成这个任务,佐助和鸣人选择了不同的完成方式,下面我们来看一下佐助对工作的安排:

【操作系统】详细解读操作系统的四大特征:并发、共享、虚拟、异步_并发_02【操作系统】详细解读操作系统的四大特征:并发、共享、虚拟、异步_并发_02

从工作安排上我们可以看到,经过4个小时,佐助顺利完成了修建木叶村与清理火影岩的工作,如果仔细观察每个时段佐助都执行了一项工作,在这4个小时中,这些工作是交替执行的。

下面我们在来看看鸣人又是如何安排的:

【操作系统】详细解读操作系统的四大特征:并发、共享、虚拟、异步_虚拟_03【操作系统】详细解读操作系统的四大特征:并发、共享、虚拟、异步_虚拟_03

可以看到,经过4个小时鸣人同样完成了修建木叶村和清理火影岩的工作,但是我们会发现在这4个小时中,鸣人完成的方式与佐助并不相同,鸣人在每个时段内都是同时在进行修建与清理这两个任务。

从宏观上看在这4个小时的时间间隔内,佐助和鸣人都是完成了修建和清理的任务,但是从微观上看在同一时刻内,比如8:00~9:00这个时间段内,佐助只是在进行修建的工作,而鸣人则是将修建与清理的工作同时进行的;在9:00~10::00这个时间段内,佐助的工作切换成了清理的工作,而鸣人同样还是同时进行的修建与清理的工作。

像佐助这种在同一时间间隔内交替完成多项任务的方式就是并发执行的方式,而像鸣人这种同一时刻内同时完成多项任务的方式就是并行执行的方式。

对于操作系统而言也同样如此,在多道程序的环境下,在同一时间间隔内,宏观上有多道程序同时运行,而在微观上这些程序则是交替运行的方式就是并发运行的方式。操作系统的并发性是通过分时得以实现的。

重点!!!

在单处理机环境下,同一时刻内只能执行一道程序,而在多处理机环境下,同一时刻内能够执行多道程序。 因此对于单处理机而言,它在执行多道程序时这些程序一定是并发执行的; 对于多处理机而言,它在执行多道程序时这些程序能够并行执行。

介绍完了并发这个最基本的特征,下面我们来看一下操作系统另一个最基本的特征——共享;

2.2 共享

共享即资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用。共享可分为互斥共享与同时共享两种方式。

2.2.1 互斥共享

互斥共享指的是系统中的资源在一段时间内只允许一个进程进行访问。为此,当进程A访问某个资源时,必须现提出请求,如此时该资源空闲,则系统便将之分配给进程A使用,此后有其他进程也要访问该资源时(只要A未用完)就必须等待。仅当进程A访问完并释放该资源后,才允许另一个进程对该资源进行访问。我们把这种资源共享的方式称为互斥共享,而把在一段时间内只允许一个进程访问的资源称为临界资源。

这里我们举一个很简单的例子,比如李四来张三家里做客,张三说家里有哈密瓜和西瓜,问李四想吃什么,李四选择吃西瓜,而张三则想吃哈密瓜,最终他们决定将这两个瓜都给切开,但是张三家里只有一把水果刀,这时如果李四想要切西瓜,那他只能等张三使用完水果刀后,才能对水果刀进行使用。在这种情况下,水果刀就是一种临界资源,而张三和李四共用水果刀的方式就是对该资源的互斥共享。

2.2.2 同时共享

同时共享指的是系统中的资源在一段时间内允许多个进行“同时”使用。这里所说的“同时”指的是宏观时间上的同时,而在微观上,这些进程可能是对这个资源同时进行使用,也可能是对这个资源进行交替式的对这个资源进行访问即“分时共享”。

这里我还是以张三和李四吃水果为例。张三作为主人,为了不让李四这个客人等太久,于是他决定自己先切一块哈密瓜后就将水果刀给李四,而李四同样也是切好一块西瓜后将水果刀再给张三,此时对于他们两人而言,从宏观上来说,他们在切水果的这整个时间内,就是在对这把水果刀进行同时共享,而从微观上来说,他们每一次在切水果时,都只有一个人在使用水果刀。

同样还是他们两人切水果,他们为了能够同时吃上各自想吃的水果,于是决定先切完哈密瓜后再切西瓜,但是切好的水果他们则选择放在同一个果盘里。当他们在吃水果的过程中,果盘这个资源就是他们二人同时在使用的。

在切水果时,水果刀再切水果的这段时间内对他们二人而言就是同时共享的资源,而在吃水果时,果盘就是他们二人同时共享的资源。这两种同时共享的区别就在于一个是前者在微观上来说它们实际上是互斥共享,而从宏观上来说则是“分时共享”,后者不管是从微观上还是宏观上都是同时共享。

现在我们就完成了第一个问题——是什么?相信大家此时对并发和共享这两个基本特征有了一个初步的影响。下面我们就来探讨第二个问题——为什么?

2.3 并发和共享之间的联系

不管是并发也好还是共享也好,它们之间是相辅相成的。

  • 从共享的角度来看,如果操作系统并不支持并发执行多道程序,也就是说每次在执行程序时,对应的资源只会分配给正在执行的程序,在这种情况下就不存在资源共享的问题;
  • 从并发的角度来看,如果操作系统并不支持资源的共享,也就是说一个资源只能提供给一道程序来使用,那么并发执行的多道程序中未使用该资源的程序就无法正常运行,在这种情况下就不存在并发执行了;

而对于虚拟和异步这两个特征来说,它们的实现是基于并发和共享这两个特征的,因此并发和共享是操作系统的两个最基本的特征。

现在可能有朋友会有点好奇,为什么说虚拟和异步是基于并发和共享这两个特征呢?为了解答这个问题,下面我们就来介绍一下操作系统的这两个基本特征;

三、虚拟和异步

3.1 虚拟

虚拟这个词我们并不陌生,但是又觉得离我们十分遥远,那我们如何来理解虚拟呢?其实虚拟离我们并不遥远,并且就伴随在我们的生活中;

  • 比如《剑指offer》这本书,相信各位都不陌生了,对于这种实际生活中存在的书籍,我们将其转化为逻辑上的对应物而得到的产品就是——电子书;
  • 再比如咱们生活中有各种各样的商铺,什么服装店呀、手机店呀、玩具店呀……这些实际存在的商铺,我们将其转化为逻辑上的对应物而得到的产品就是——网店;
  • 再比如现在很多的家庭都有养小动物的习惯,什么小猫、小狗、小刺猬、小蜥蜴……这些实际存在的宠物,我们将其转化为逻辑上的对应物而得到的产品就是——电子宠物;

上述例子中不管是电子书、网店还是电子宠物,说白了其实就是一些数据,相比于实物而言,它们都是通过这些数据模拟出来的事物,并不是真实存在的。

下面我们来看一下在操作系统中对虚拟是如何定义的;

3.1.1 虚拟的定义

虚拟是指把一个物理上的实体变为若干逻辑上的对应物。物理实体(前者)是实的,即真实存在的;而后者是虚的,是用户感觉上的事物。用于实现虚拟的技术,称为虚拟技术。操作系统中利用了多种虚拟技术来实现虚拟处理器、虚拟内存和虚拟外部设备等。下面我就来简单了解一下虚拟技术;

3.1.2 虚拟处理器

虚拟处理器技术是通过多道程序设计技术,采用让多道程序并发执行的方法,来分时使用一个处理器。

就比如我要在我的电脑上运行Chrome、微信、QQ、Office、CAD……这些不同的程序,在前面的介绍中我们知道对于单处理机系统来说,它们从宏观上看是同时运行的,从微观上看是分时交替执行的。正因如此,从宏观上看,我们就会感觉此时的单处理机系统就变成了一个多处理机系统,而实际上它还是一个单处理机系统。

因此虚拟处理器技术的实现是基于操作系统的并行执行这一最基本特征实现的,如果操作系统没有并行执行这一特征,那就意味着每次只能执行一道程序,那我们在实际操作中也只能在停止前一个程序的运行后才能运行下一个程序,因此就不会有单处理机系统变为多处理机系统的感觉了。

3.1.3 虚拟存储器

虚拟存储器技术是将一台机器的物理存储器变为虚拟存储器,以便从逻辑上扩从存储器的容量。

比如有一天内存为4g的机器,此时我想在这台机器上运行几款大型的游戏软件,和一些应用程序,这些游戏软件和应用程序的实际占用内存是远远大于4g的。但是我们在实际的使用过程中会发现,这些程序都是能够给正常运行的,这给我们的感觉就是这台机器的内存不止4g的内存。我们把这种用户感觉到的但是实际上并不存在的存储器称为虚拟存储器。

3.1.4 虚拟设备

虚拟设备技术是将一台物理设备虚拟为多台逻辑上的设备,并允许每个用户占用一台逻辑上的设备,是原来仅允许在一段时间内有一个用户访问的设备变为在一段时间内允许多个用户同时访问的共享设备。

3.1.5 小结

操作系统的虚拟技术可归纳为:时分复用技术,如处理器的分时共享;空分复用技术,如虚拟存储器。对于时分复用技术而言,它是基于操作系统的并发性而得以实现的。空分复用技术在后面的学习中我们会学习到,现在只需要了解即可。

由时分复用技术我们可以得到一个结论:

  • 操作系统的虚拟性是基于操作系统的并发性得以实现的

3.2 异步

多道程序环境允许多个程序并发执行,但由于资源有限,进程的执行并不是一贯到底的,而是走走停停的,它以不可预知的速度向前推进,这就是进程的异步性。异步性使得操作系统运行在一种随机的环境下,可能导致进程产生与时间有关的错误。然而,只要运行环境相同,操作系统就须保证多次运行进程后都能获得相同的结果。

从异步性的概念我们可以得到几个关键词:并发执行、资源有限、走走停停。这些关键字代表的是什么意思呢?下面我们还是以张三和李四切水果的例子来说明;

张三和李四由于选择的水果不一样,因此他们要想吃到各自的水果,在切水果时就会有下面两种方式:

【操作系统】详细解读操作系统的四大特征:并发、共享、虚拟、异步_异步_04【操作系统】详细解读操作系统的四大特征:并发、共享、虚拟、异步_异步_04

可以看到,此时对于他们二人来说,这把水果刀就是临界资源,他们二人就相当于是两个不同的程序;

  • 当执行方案1时,在张三切完哈密瓜之前,李四都必须要停下来等待张三把整个哈密瓜给切完;
  • 当执行方案2时,他们在切水果的时候是轮流使用水果刀,因此这半个小时中他们都只能切一下等一下切一下等一下;

方案2就是我们前面提到的并发执行的过程,在计算机中,当多个程序并发执行时,对于临界资源的使用,这些程序也只能像张三和李四一样用一下停一下用一下停一下,这个过程就是异步;

在方案2中,因为他们此时是在轮流使用这个水果刀的,如果他们其中一个人在使用水果刀的过程中,另一个人也想使用,那这时两人就会产生矛盾;在计算机中也同样如此,在多道程序的环境下,程序并发执行的过程中,它们会抢占临界资源的使用,在这个抢占的过程中,程序的运行就会出现问题。

因此我们可以认为操作系统的异步性是并发性带来的不足,操作系统正是因为有了并发性这个最基本的特性,所以才会有异步性。假如操作系统失去了并发性,那么所有的程序都会像方案1一样按顺序来执行,此时就不存在因争抢临界资源而导致错误的问题,因此操作系统也就没有了异步性。所以我们可以得到结论:

  • 操作系统的异步性是基于操作系统的并发性的

现在我们就介绍完了虚拟和异步这两个基本特征,可以看到不管是虚拟也好,还是异步也好,它们都是基于操作系统的并发才会存在的。因此我们可以说:

  • 操作系统最基本的特征为并发和共享

结语

现在对于操作系统的四大特征我们就全部介绍完了,下面我们来对今天的内容简单的做一个总结。

在今天的内容中我们详细介绍了操作系统的四大特征并发、共享、虚拟和异步。在这个过程中我们主要解决了下面几个:

  1. 并发是什么?共享是什么?虚拟是什么?异步是什么?
  • 并发:两个或多个事件在同一时间间隔内发生;
  • 共享:系统中的资源可供内存中多个并发执行的进程共同使用;
  • 虚拟:把一个物理上的实体变为若干逻辑上的对应物;
  • 异步:多道程序环境允许多个程序并发执行,但由于资源有限,进程的执行并不是一贯到底的,而是走走停停的,它以不可预知的速度向前推进;
  1. 并发和共享为什么是操作系统中两个最基本的特征?
  • 操作系统的虚拟性是因为并发性而得以实现的,由于操作系统的并发性,我们才可以将有限的系统资源在逻辑上得到扩充;
  • 操作系统的异步性是因为并发性而产生的问题,由于操作系统的并发性,多道程序对有限的系统资源进行争抢,为了保证正常运行,只能通过走走停停的方式以不可预知的速度向前推进。
  • 而操作系统的并发性与共享性是相辅相成的,没有并发性,有限的计算机资源就无需进行共享;没有共享性,多道程序就无法实现并发执行;
  • 因此并发和共享是操作系统中的两个最基本的特征。

在探讨这些问题的过程中,我们还区分了并发与并行的区别;

  • 并发是指在宏观上同时执行了多道程序,而在微观上这些程序时分时交替执行的;
  • 并行是指在同一时刻中同时执行多道程序;

对于他们二者的区别还有一个非常重要的考点:

  • 单处理机系统中,多道程序只能并发执行;
  • 多处理机系统中,多道程序可以并行执行;

咱们今天的文章内容到这里也就全部介绍了,今天的内容文字比较多,但都是一些干货,希望大家在阅读完今天的文章后能够对操作系统的基本特征有一个初步的了解。在后续的学习过程中,我们会进一步的深入探讨这些基本特征,大家记得关注哦!如果各位喜欢博主的内容的话,还麻烦来一波点赞、收藏加评论的三连,当然能够分享给你身边有需要的朋友那是更好。最后感谢各位的支持,咱们下一篇再见!!!

0 人点赞