操作系统是一个并发系统,有多道程序同时运行。
1. 并发性
并发: 指两个或两个以上的活动或事件在同一时间间隔内发生。
- 宏观上:同时发生
- 微观上:交替发生
- 作用:消除计算机系统中硬部件之间的相互等待,有效改善资源利用率和提高系统效率。
- 实质:对有限的物理资源强行复用,供多用户共享以提高效率。
- 单核处理机:同一时刻只能执行一个程序,因此OS会负责协调多个程序交替执行。
- 多核CPU:如4核CPU,可以有4个程序并行执行。但OS的并发性依然必不可少,会有同时使用4个以上程序的情况的。
并行: 指两个或多个事件在同一时刻同时发生。
- 并行活动一定是并发的,并发活动不一定是并行的
- 并行性是并发性的特例
- 并发性是并行性的拓展
2. 共享型
共享: 即资源共享,是指OS中的资源可供内存中多个并发执行的进程共同使用。
“同时”往往是宏观上的,微观上这些进程可能是交替地对该资源进行访问的(分时共享)。
例子:
- 独占资源共享:使用QQ和微信视频。
同一时间段内摄像头只能分配给其中一个进程。- 透明资源共享:使用QQ发送文件A的同时用微信发送文件B。
宏观上看,两者都在同时读取并发送文件,说明两个进程都在访问硬盘资源,从中读取数据。
微观上看,两个进程是交替访问硬盘的。
并发和共享的关系:
使用QQ发送文件A,同时使用微信发送文件B。
两个进程正在并发执行(并发性)
需要共享地访问硬盘资源(共享型)
- 如果失去并发性,则系统中只有一个程序在运行,共享型失去存在意义。 - 如果失去共享性,则QQ和微信不能同时访问硬盘资源,就无法实现同时发送文件,并发无意义。
并发和共享互为依存。
3. 异步性(随机性)
异步: 在多道程序环境下,允许多个程序并发执行,由于资源有限而程序众多,程序的执行并非连贯,而是走走停停,以不可预知的速度向前推进。
如果失去了并发性,则系统只能串行地处理各个进程,每个进程的执行会一贯到底,异步性无意义。
总结: 没有并发和共享,就谈不上虚拟和异步。