1.并发
1.并发的定义
并发:指两个或多个事件在同一时间间隔内发生。
这些事件宏观上是同时发生的,但微观上是交替发生的。
值得注意的是,与并行(指两个或多个事件在同一时刻同时发生)区分开来。
2.操作系统的并发性
- 指计算机系统中“同时”运行着多个程序,这些程序宏观上看是同时运行着的,而微观上看是交替运行的。
- 操作系统就是伴随着“多道程序技术”而出现的。因此,操作系统和程序并发是一起诞生的。
3.CPU的程序执行
- 单核CPU同一时刻只能执行一个程序,各个程序只能并发地执行.
- 多核CPU同一时刻可以同时执行多个程序,多个程序可以并行地执行
2.共享
1.共享的定义
共享即资源共享,
是指系统中的资源可供内存中多个并发执行的进程共同使用。
2.资源共享方式
- 互斥共享:系统中的某些资源,虽然可以提供给多个进程使用,但一个时间段内只允许一个进程访问该资源。
- 同时共享:系统中的某些资源,允许一个时间段内由多个进程“同时”对它们进行访问。
- 所谓的“同时”往往是宏观上的,而在微观上,这些进程可能是交替地对该资源进行访问的(即分时共享)
3.并发和共享的关系
通过以下例子来看并发与共享的关系:
使用QQ发送文件A,同时使用微信发送文件B。
1.两个进程正在并发执行(并发性)
2.需要共享地访问硬盘资源(共享性)
分析:
- 如果失去并发性,则系统中只有一个程序正在运行,则共享性失去存在的意义。
- 如果失去共享性,则QQ和微信不能同时访问硬盘资源,就无法实现同时发送文件,也就无法并发。
得到结论:并发和共享互为存在条件。
4.虚拟
虚拟是指把一个物理上的实体变为若干个逻辑上的对应物。
物理实体(前者)是实际存在的,而逻辑上对应物(后者)是用户感受到的。
1.虚拟技术分类
- 空分复用技术(如虚拟存储器技术)
- 时分复用技术(如虚拟处理器)
2.并发性是虚拟性的前提条件
显然,如果失去了并发性,则一个时间段内系统中只需运行一道程序,
那么就失去了实现虚拟性的意义了。因此,没有并发性,就谈不上虚拟性。
5.异步
异步是指,在多道程序环境下,允许多个程序并发执行,
但由于资源有限,进程的执行不是一贯到底的,
而是走走停停,以不可预知的速度向前推进,这就是进程的异步性。
1.并发性是异步性的前置条件
如果失去了并发性,即系统只能串行地运行各个程序,
那么每个程序的执行会一贯到底。
只有系统拥有并发性,才有可能导致异步性。
综上所述:
没有并发和共享,就谈不上虚拟和异步,因此并发和共享是操作系统的两个最基本的特征。