同个人网站 https://www.serendipper-x.cn/,欢迎访问 !
文章目录
- 一、并发
- 二、共享
- 三、虚拟
- 四、异步
一、并发
并发 :指两个或多个事件在同一时间间隔内发生。这些事件宏观上是同时发生的,但微观上是交替发生的。
并行:指两个或多个事件在同一时刻同时发生。
操作系统的并发性指计算机系统中同时存在着多个运行着的程序。
一个单核处理机(CPU)同一时刻只能执行一个程序,因此操作系统会负责协调多个程序交替执行(这些程序微观上是交替执行的,但宏观上看起来就像是在同时执行)
事实上,操作系统就是伴随着“多道程序技术”而出现的。因此,操作系统和程序并发是一起诞生的。
二、共享
共享:即资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用。
所谓的“同时”往往是宏观上的,而在微观上,这些进程可能是交替地对该资源进行访问的(即分时共享)
🔎 互斥共享方式:使用QQ和微信视频。同一时间段内摄像头只能分配给其中一个进程。
🔎 同时共享方式:使用QQ发送文件A,同时使用微信发送文件B。宏观上看,两边都在同时读取并发送文件,说明两个进程都在访问硬盘资源,从中读取数据。微观上看,两个进程是交替着访问硬盘的。
💁 并发和共享的关系 (互为存在条件)
通过上述例子来看并发与共享的关系:
使用QQ发送文件A,同时使用微信发送文件B。
1、两个进程正在并发执行(并发性)
如果失去并发性,则系统中只有一个程序正在运行,则共享性失去存在的意义
2、需要共享地访问硬盘资源(共享性)
如果失去共享性,则QQ和微信不能同时访问硬盘资源,就无法实现同时发送文件,也就无法并发。
三、虚拟
虚拟:指把一个物理上的实体变为若干个逻辑上的对应物。物理实体(前者)是实际存在的,而逻辑上对应物(后者)是用户感受到的。
🌰 例子一
某游戏需要4GB的运行内存,QQ需要256MB的内存,迅雷需要256MB的内存,网易云音乐需要256MB的内存……
我的电脑:4GB内存
❓ 这些程序同时运行需要的内存远大于4GB,那么为什么它们还可以在我的电脑上同时运行呢?
▶️ 这是虚拟存储器技术。实际只有4GB的内存,在用户看来似乎远远大于4GB。这里用到的是虚拟技术中的“时分复用技术”。
🌰 例子二
某单核CPU的计算机中,用户打开了QQ、谷歌浏览器、QQ音乐等
❓ 既然一个程序需要被分配CPU才能正常执行,那么为什么单核CPU的电脑中能同时运行这么多个程序呢?
▶️ 这是虚拟处理器技术。实际上只有一个单核CPU,在用户看来似乎有6个CPU在同时为自己服务。这里用到的是虚拟技术中的“时分复用技术”。微观上处理机在各个微小的时间段内交替着为各个进程服务。
四、异步
异步: 指在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进,这就是进程的异步性。
显然,如果失去了并发性,则系统只能串行地处理各个进程,每个进程地执行会一贯到底。只有系统拥有并发性,才有可能导致异步性。
🎈 没有并发和共享,就谈不上虚拟和异步,因此并发和共享是操作系统的两个最基本的特征。