并发
指两个或多个事件在同一时间间隔内发生。这些时间宏观上是同时发生的,但微观上是交替发生的。
并行
指两个或多个事件在同一时刻同时发生
操作系统的并发性
指计算机系统重“同时”运行着多个程序,这些程序宏观上看是同时运行的,而微观上看是交替运行的。
操作系统就是伴随着“多道程序技术”而出现的。因此,操作系统和程序并发时一起诞生的。
单核CPU同一时刻只能执行一个程序,各个程序只能并发地执行
多核CPU同一时刻可以同时执行多个程序,多个程序可以并行地执行
比如Intel的第八代i3处理器就是4核CPU,意味着可以并行地执行4个程序,只要有4个以上的程序需要“同时”运行,那么并发性依然是必不可少的,因此并发性是操作系统一个最基本的特性
共享
即资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用
互斥共享方式
在一个时间段内,这个资源只允许一个进程来使用,
同时共享方式
在一个时间段内,它允许多个进行“同时”对它进行访问
所谓的“同时”往往是宏观上,而在微观上,这些进程可能是交替地对该资源进行访问的(即分时共享)
如果失去了并发性,那么共享性就失去了存在的意义
如果失去了共享性,并发性就不可能被实现
所以并发和共享他们是互为存在条件的
虚拟
指把物理上的实体变为若干个逻辑上的对应物。物理实体(前者)是实际存在的,而逻辑上对应物(后者)是用户感受到的。
eg:既然一个程序需要分配CPU才能正常运行执行,那为什么单核CPU的电脑中能同时运行这么多个程序呢?
答:这是虚拟处理器技术。实际上只有一个单核CPU,在用户看来似乎有6个CPU在同时为自己服务
虚拟技术就是典型的“时分复用技术”,在微观上看,一整个大的时间段被分割为了一个一个微小的时间段,然后在各个时间段内处理交替着的各个进程服务
显然,如果失去了并发性,则一个时间段内系统中只需运行一道程序,那么就失去了虚拟性的意义了。因此,没有并发性就谈不上虚拟性
异步
在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进,这就是进程的异步性。
如果失去了并发性,就意味着系统只能串行地执行各个程序,那在这种情况下,各个程序的执行肯定是会一贯到底的,并不会走走停停。所以只有系统拥有并发性,才会导致异步性
没有并发和共享,那么就谈不上虚拟和异步,而并发和共享本身又是互为存在条件的
因此并发和共享是操作系统的两个最基本的特征