文章目录
- 1.1_2 操作系统的特征
- (一)并发
- (二)共享
- 并发和共享的关系
- (三)虚拟
- 并发和虚拟的关系
- (四)异步
- 总结
1.1_2 操作系统的特征
操作系统的特征:并发、共享、虚拟、异步。
其中:并发和共享是两个最基本的特征,且二者互为存在条件。
(一)并发
并发
指两个或多个事件在同一时间间隔内发生。
这些事件宏观上是同时发生的,但微观上是交替发生的。并发不要求微观上的同时,只需从宏观上看多个程序都在向前推进。
易混淆概念:并行
指两个或多个事件在同一时刻同时发生。
并行要求的是微观上的同时发生,即在绝对的同一时刻有多个程序同时向前推进。
举例:
如7:00-7:10运行了QQ音乐,7:10-7:20运行了QQ聊天。那么,在7:00-7:20之间,听歌与聊天就叫做
并发
。
操作系统就是伴随着“多道程序技术”而出现的。操作系统,就是为了支持多道程序的并发运行而出现的。因此,操作系统和程序并发是一起诞生的。并发性也是操作系统的最基本特征。
注意:
单核CPU
同一时刻只能执行一个程序
,各个程序只能并发
地执行。
多核CPU
同一时刻可以同时执行多个程序
,多个程序可以并行
地执行。
举例:
一个4核CPU,意味着可以并行地执行4个程序。
当前:QQ、微信、Word、浏览器——4个程序并行执行。
此时,若打开QQ音乐,则当前必须换下一个程序,如Word,之后才能让QQ音乐上CPU执行。
Word与QQ音乐此时
并发
地交替上CPU运行。
因此,即使现代有了多核CPU,可以支持多个程序并行运行,并发性依然是必不可少的。并发性是操作系统的一个最基本的特性。
(二)共享
共享即资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用。
两种资源共享方式:
- 互斥共享方式
- 同时共享方式
互斥共享方式
系统中的某些资源,虽然可以提供给多个进程使用,但一个时间段内只允许一个进程访问该资源。
同时共享方式
系统中的某些资源,允许一个时间段内由多个进程“同时”对它们进行访问。
※ 注:所谓的“同时”,指的是宏观上的同时。而微观上,这些进程,可能是交替地对该资源进行访问的。(即分时共享)(类似于“并发”的意思)也可能的确是同时在对该资源进行访问。(真正的同时,类似于“并行”)
举例
互斥共享方式:
使用QQ和微信视频。同一时间段内,摄像头只能分配给其中一个进程。
同时共享方式:
使用QQ发送文件A,同时使用微信发送文件B。宏观上看,两边都在“同时”读取并发送文件,说明两个进程都在访问硬盘资源,从中读取数据。微观上看,两个进程是交替着访问硬盘的。
也可能从微观上也是同时。例如,在玩游戏的同时听音乐。“扬声器”这一设备既播放游戏音效、又播放音乐,那么即使从微观上来看,它也是被游戏进程和音乐播放器进程同时使用的。
并发和共享的关系
并发性
是指计算机系统中同时存在着多个运行着的程序。共享性
是指系统中的资源可供内存中多个并发执行的进程共同使用。
举例
使用QQ发送文件A,同时使用微信发送文件B。那么:
1.两个进程正在并发执行。(并发性)
2.需要共享地访问硬盘资源。(共享性)
分析:
如果失去并发性,则系统中只有一个程序正在运行,也就意味着不存在“两个进程需要同时共享某资源”的情形了,则共享性失去存在的意义。
如果失去共享性,则QQ和微信不能同时访问硬盘资源,就无法实现“同时发送文件”这件事,那么QQ和微信也就无法并发地执行了。
可见,如果失去了并发性,那么共享性就失去了存在的意义。而如果失去了共享性,那么并发性就不可能被实现。所以,并发性和共享性,二者互为存在条件。
(三)虚拟
虚拟
是指把一个物理上的实体变为若干个逻辑上的对应物。物理实体是实际存在的,而逻辑上的对应物是用户感受到的。
举例1
一个程序需要放入内存并分配CPU才能执行。
此外,GTA5需要4GB的运行内存、QQ需要256MB的运行内存、迅雷需要256MB的运行内存、网易云音乐需要256MB的运行内存……
而我的电脑,只有4GB的内存。
问题:这些程序为什么还可以在我的电脑上同时运行?
答:这是虚拟存储器技术。实际只有4GB的内存(物理实体),但在用户看来是远远大于4GB的(逻辑上的对应物)。
实际上,这是虚拟技术中的”空分复用技术“。(在第三章中会详细讲解。)
举例2
某单核CPU的计算机中,用户同时打开了:QQ、浏览器、QQ音乐、迅雷……
问题:既然一个程序需要被分配CPU才能正常执行,那么为什么单核CPU的电脑中能同时运行这么多个程序呢?
答:这是虚拟处理器技术。实际上只有一个单核CPU(物理实体),但在用户看来似乎有多个CPU在同时为自己服务(逻辑上的对应物)。
实际上,这是虚拟技术中的“时分复用技术”。微观上,处理机在各个微小的时间段内交替着为各个进程服务。
并发和虚拟的关系
- 虚拟技术:
- 空分复用技术(如虚拟存储器技术)
- 时分复用技术(如虚拟处理器)
显然,如果失去了并发性,则一个时间段内系统中只需运行一道程序,那么就失去了实现虚拟性的意义了。因此,没有并发性,就谈不上虚拟性。
(四)异步
异步
是指,在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进,这就是进程的异步性。
由于计算机系统具有并发性,可以使多个程序在同一时间段内并发执行(宏观上同时,微观上交替),因此,有限的系统资源可能被多个并发运行的程序争抢着使用(例如打印机资源)。而正因为系统中的资源是有限的,因此进程的执行不是一贯到底的,而是走走停停的(因为要等待别的进程使用完这个资源),以不可预知的速度向前推进(可能是A进行停下来等待B进程,也有可能是B进程停下来等待A进程)。
分析:如果失去了并发性,即系统只能串行地运行各个程序,那么每个程序的执行会是一贯到底的。因此,只有系统拥有并发性,才有可能导致异步性。
总结
1)理解并发和并行的区别。
2)并发和共享,互为存在条件。
3)没有并发和共享,就谈不上虚拟和异步,因此并发和共享是操作系统的两个最基本的特征。