操作系统中的并发性概念是共享性、虚拟性、异步性的前提。为了更好解并发性,我们需要与并行性一起对比了解。先看概念:
- 并行是指两个或多个事件可以在同一个时刻发生。
- 并发是指两个或多个事件可以在同一个时间间隔发生。
更形象一些,请看下面的例子:
8:00PM.咚咚呛老师在准备课程,同时8:00PM.同学们在认真学习,这两件事属于并行的关系。
8:00P.M.咚咚呛老师在准备课程,8:05P.M.咚咚呛老师喝了口水。这两件事属于并行的关系。区分并行、并发的关键就是两件事是否在同一时刻发生。同一时刻即为并行,一定的时间间隔发生即为并发。
并行和并发又是怎样在计算机中实现的呢?在计算机中,并行和并发的基础是多道程序设计。对于单个处理器,程序是并发执行的。假设蓝色的是程序A、黄色的是程序B,在某一时刻,只能有一个程序占用CPU,此时A,B交替运行。在双处理器环境中,每一个处理器上的程序都是交替运行的,但是对于两个处理器来说,某一时刻是有两个程序并行执行的。