[1.1_2]计算机系统概述——操作系统的四个特征
迪丽瓦拉
2024-05-28 15:36:42
0

文章目录

  • 第一章 计算机系统概述
    • 操作系统的特征
      • (一)并发
      • (二)共享
        • 并发和共享的关系
      • (三)虚拟
      • (四)异步
    • 小结

第一章 计算机系统概述

操作系统的特征

操作系统的四个特征

  • 并发
  • 共享
    • 并发和共享是两个最基本的特征,二者互为存在条件(原因见下文)
  • 虚拟
  • 异步

(一)并发

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

  • 并行:指两个或多个事件在同一时刻同时发生。

  个人理解:并行是“真的”同时发生,并发是“假的”同时发生。

  操作系统的并发性是指计算机系统中“同时”运行着多个程序,这些程序宏观上看是同时运行着的,而微观上看是交替运行的。

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

  操作系统就是伴随着“多道程序技术”而出现的。因此,操作系统和程序并发是一起诞生的

  单核CPU同一时刻只能执行一个程序,各个程序只能并发地执行。

  多核CPU同一时刻可以同时执行多个程序,多个程序可以并行地执行。

  比如Intel的第八代i3处理器就是4核CPU,意味着可以并行地执行4个程序。

  但是,如果已经运行了4个程序,还想再运行第5个程序时,第5个程序就要剥夺原有程序占用的CPU资源,轮流地使用CPU,就仍需要并发性。

  因此,即使是对于4核CPU来说,只要有4个以上的程序需要“同时”运行,那么并发性依然是必不可少的,因此,并发性是操作系统一个最基本的特性

(二)共享

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

  资源共享可以分为两种共享方式

  • 互斥共享方式

    • 系统中的某些资源,虽然可以提供给多个进程使用,但一个时间段内只允许一个进程访问该资源
  • 同时共享方式

    • 系统中的某些资源,允许一个时间段内由多个进程“同时”对它们进行访问

      此处的“同时”为什么要打双引号,因为此“同时”往往是宏观上的,而在微观上,这些进程可能是交替地对该资源进行访问的(即分时共享)。但是也有微观上同时访问的情况,例如扬声器同时播放游戏音效和音乐播放器中的歌曲,从微观上就是同时的。

【生活实例】

  互斥共享方式:使用QQ和微信视频。同一时间段内摄像头只能分配给其中一个进程。

  同时共享方式:使用QQ发送文件A,同时使用微信发送文件B。宏观上看,两边都在同时读取并发送文件,说明两个进程都在访问硬盘资源,从中读取数据。微观上看,两个进程是交替着访问硬盘的。


并发和共享的关系

  并发性是指计算机系统中同时存在着多个运行着的程序。

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

  通过一个例子来看并发与共享的关系:

  使用QQ发送文件A,同时使用微信发送文件B。

  1、两个进程正在并发执行(并发性)

  2、需要共享地访问硬盘资源(共享性)

  如果失去并发性,则系统中只有一个程序正在运行,则共享性失去存在的意义。

  如果失去共享性,则QQ和微信不能同时访问硬盘资源,就无法实现同时发送文件,也就无法并发。

  因此,并发性、共享性,互为存在条件

(三)虚拟

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

  例如,一款游戏需要4G运行内存,QQ需要256M运行内存,网易云音乐需要256M运行内存……

  我的电脑:4G运行内存

  问题:这些程序同时运行需要的内存大于4G,为什么它们还可以在我的电脑上同时运行?

  答:这是虚拟存储器技术。物理实体只有4GB,但在用户看来似乎远远大于4G。这也是虚拟技术中的“空分复用技术”。

  例如,某单核CPU的计算机中,用户打开了若干软件:QQ、Chrome浏览器、QQ音乐、迅雷……

  问题:既然一个程序需要上CPU才能正常执行,那么为什么单核CPU的电脑中能同时运行这么多个程序呢?

  答:这是虚拟处理器技术。实际上只有一个单核CPU,但在用户看来似乎有多个CPU在同时为自己服务。这也是虚拟技术中的“时分复用技术”,微观上处理机在各个微小的时间段内交替着为各个进程服务。

  (注:一个程序需要放入内存并给它分配CPU才能执行。)

  虚拟技术

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

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

(四)异步

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

  由于并发运行的程序会争抢着使用系统资源,而系统中的资源有限,因此进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进。

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

同步与异步

  同步:同步是指一个进程在执行某个请求的时候,如果该请求需要一段时间才能返回信息,那么这个进程会一直等待下去,直到收到返回信息才继续执行下去。
  异步:异步是指进程不需要一直等待下去,而是继续执行下面的操作,不管其他进程的状态,当有信息返回的时候会通知进程进行处理,这样就可以提高执行的效率了,即异步是我们发出的一个请求,该请求会在后台自动发出并获取数据,然后对数据进行处理,在此过程中,我们可以继续做其他操作,不管它怎么发出请求,不关心它怎么处理数据。

补充理解

  同步是指两个进程的运行是相关的,其中一个进程要阻塞等待另外一个进程的运行。“同”是协同,按照一定的顺序有序进行,而不是同时。即一组进程为了协调其推进速度,在某些地方需要相互等待或者唤醒,这种进程间的相互制约就被称作是进程同步。这种合作现象在操作系统和并发式编程中属于经常性事件。具有同步关系的一组并发进程称为合作进程。
  异步的意思是两个进程毫无相关(不用互相等待),自己运行自己的。进程以不可预知的速度向前推进。内存中的每个进程何时执行,何时暂停,以怎样的速度向前推进,每道程序总共需要多少时间才能完成等,都是不可预知的。

小结

image-20230303161642366

  • 理解并发和并行的区别
  • 并发和共享互为存在条件
  • 没有并发和共享,就谈不上虚拟和异步,因此并发和共享是操作系统的两个最基本的特征

相关内容