前言
操作系统有什么特征呢?
1.并发
2.共享
3.虚拟
4.异步
正文
并发
并发:指两个或多个事件在同一时间间隔内发生。这些事件宏观上是同时发生的,但是微观上是交替发生的。
这时候就是有人蒙了?举个例子。
宏观上:比如说有10件事情,我同时开始做,10分钟后他们全部完成了。
微观上是什么呢?做这些事情的时候,我做A事件做到一半的时候,突然想到B要去做,然后就去做B了。
共享
资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用。
共享方式有两种:
互斥共享很好理解,比如说我们的应用使用同一外设,这个时候是不能同时使用的。
同时共享,有时候不是真的同时共享。举个例子,比如说我们说可以同时读文件,其实不是真的同时读,只是一个进程读取一下然后停一下,然后另一个进程来读读取一段时间后然后再切换。
当然有时间是真的同时共享,但是这种同时共享有点诡异,比如说我们向扬声器传递流的时候,我们几个进程可以同时向USB传递流,这个时候扬声器不管,扬声器只管把流转成声音。
共享和并发是同时存在的,如果没有共享就没有并发,没有并发也就是共享没有任何意义。
虚拟
虚拟是把一个屋里上的实体变成若干个逻辑上的对应物。物理实体是实际存在的,而逻辑上对应物是用户感受到的。
这个是什么意思呢?本来我们一个应用需要一个单核cpu。但是我们打开10个应用同时运行,那么需要10个单核cpu,这个时候我们用单核就可以去跑,这是为什么呢?
前面提及有并发的。这是操作系统对硬件这一层,那么操作系统对应用这一层呢?这个叫做虚拟。
如下图:
操作系统虚拟上为每个进程分配了一个cpu,但是cpu只有一个。
讲一个故事,你有没有发现,每次去吃饭的时候,你问老板忙不忙他都会说不忙,现在点菜下一个就是炒你的,但是呢,你的不知道排到什么时候呢?
实际上,老板分配了一个假的炉子给你,同样也分配给其他人。这种东西就叫做虚拟,先把单拿下,后来还不是排队。
虚拟技术分为:1.空分复用技术,虚拟存储技术。2.时分复用技术(虚拟处理技术)
异步
异步是指,多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,所以会执行一段时间后换另外一个执行。