一.并发
- 概念:两个或多个事件在同一时间间隔内发生。宏观上是同时发生的,微观上其实是交替发生
- 并行的概念:两个或多个事件在同一时刻发生
- 举例:
A和B今天都要做事件一和事件二
A选择事件一和事件二一起做,这就叫做并行
B选择早上做事件一,下午做事件二,这就叫做并发,宏观上B今天同时做了这两件事,但是从微观上看,在某一时刻,B最多在做某一件事情。 - 操作系统的并发性:计算机系统中同时存在着多个运行着的程序
二.共享
- 概念:系统中的资源可供内存中多个并发执行的进程共同使用
- 互斥共享资源:虽然可以同时使用,但一个时间段只允许一个进程访问该资源。例如你在使用微信和QQ视频聊天时,在同一时间内摄像头只能分配给一个进程。
- 同时共享资源:一个时间段内允许多个进程“同时”访问该资源。这个同时是宏观上的,而在微观上这些进程可能是在交替的访问着该资源。例如:同时使用QQ和微信发送文件,此时微信和QQ都在访问硬盘资源,从中读取数据。
三.虚拟
- 概念:把一个物理上的实体变为若干个逻辑上的对应物
- 空分复用技术:例如4GB内存的电脑在运行多个进程时,理论上所需要的内存和已经远远的超过了4GB,这就是虚拟存储器技术,实际只有4GB内存,但用户看来似乎远远大于4GB。
- 时分复用技术:一个单核处理器同时打开多个软件时,这就是虚拟处理器技术,实际只有一个单核CPU,但用户看来却好像有多个CPU。
四.异步
- 概念:在多进程并发的环境下,由于资源有限,一个程序的执行并不是一贯到底的,而是走走停停,以不可预知的速度向前推进,这就是进程的异步性。
- 例如:A在工作的时候占用了某个资源,而当B要用到这个资源时,拿不到资源,此时B就会阻塞,该进程就会停下来。
五.小结
- 并发和共享互为条件
- 没有并发和共享,就谈不上虚拟和异步,因此并发和共享是操作系统最基本的两个特征