操作系统的特征:
并发和共享是两个最基本的特征,二者互为存在条件
并发
概念:并发是指两个或多个事件在同一时间间隔内发生。这些事件在宏观上是同时发生的,但在微观上是交替发生的。
并行
概念:指两个或多个事件在同一时刻同时发生,无论在微观还是宏观上都是同时发生的。
举个例子
并行就相当于我们一边敲着代码,一边听着歌,这两件事情在微观和宏观上都是同时发生的。
并发就相当于我们敲一会代码,听一会歌,再敲一会代码......这样来回切换。只要来回切换的速度足够快,这两件事情在宏观上就是同时发生的,比如敲0.5秒的代码,听0.5秒的歌。但在微观上,同一时刻只有听歌或者敲代码的中的一个事件在执行。
操作系统的并发性指计算机系统中同时存在着多个运行着的程序。
打开任务管理器就可以看到
一个单核处理器(CPU)同一时刻只能执行一个程序,因此操作系统会负责协调多个程序交替执行,这些程序微观上是交替执行的,但宏观上看起来就像在同时执行。
单核处理器不能并行,因为它只有一个CPU,而现在的电脑大都为多核处理器,并行很常见。比如AMD的8核16线程的处理器,在同一时刻可以有16个程序并行执行,但是操作系统的并发性仍然必不可少,操作系统运行着不少于几十个程序。
共享
概念:共享即资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用。
两种资源共享方式
- 互斥共享方式 系统中的某些资源,虽然可以提供给多个进程使用,但一个时间段内指允许一个进程访问该资源。
- 同时共享方式 系统中的某些资源,允许一个时间段内有多个进程“同时”对它们进行访问。
所谓的“同时”往往是宏观上的,而在微观上,这些进程可能是交替地对该资源进行访问的(即分时共享)。
举个例子:
互斥共享方式:如果有喜欢听歌的朋友,可能会发现在手机上,网易云和QQ音乐没有办法同时播放,因为同一时间段内音频设备只能分配给其中一个进程。
同时共享方式:一边玩着游戏,一边放着音乐,说明两个进程都在访问音频设备。
并发和共享的关系
使用QQ发送文件A,同时使用微信发送文件B。
1.两个进程正在并发执行
2.需要共享地访问硬盘资源
如果失去并发性,则系统中只有一个程序正在运行,则共享性失去了存在的意义。
如果失去共享性,则QQ和微信不能同时访问硬盘资源,就无法实现同时发送文件,也就无法并发。
并发和共享互为存在条件
虚拟
概念:虚拟是指把一个物理上的实体变为若干个逻辑上的对应物。物理实体(前者)是实际存在的,而逻辑上对应物(后者)是用户感受到的。
虚拟技术分为:
空分复用技术(如虚拟储存技术)
时分复用技术(如虚拟处理器)
一个程序需要放入内存并给他分配CPU才能执行
某单核CPU的计算机,用户可以打开多个软件
问题:既然一个程序需要被分配CPU才能正常执行,那么为什么单核CPU的电脑能同时运行多个程序呢?
答:这是虚拟处理器技术。实际上只有一个单核CPU,在用户看来似乎有6个CPU在同时为自己服务。
虚拟技术中的"时分复用技术"。微观上处理器在各个微小的时间段内交替着为各个进程服务。
显然,如果失去了并发性,则一个时间段内系统中只能运行一个程序,那么就失去了实现虚拟性的意义了。因此,没有并发性,就谈不上虚拟性。
异步
概念:异步是指,在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进,这就是进程的异步性。
如果失去了并发性,则系统只能串行地处理各个进程,每个进程地执行会一贯到底,只有系统拥有了并发性,才有可能导致异步性。