操作系统的特征
操作系统共有四个特征,分别是并发,共享,虚拟和异步。其中,并发和共享是操作系统最基本的特征,且二者互为存在条件
并发
指两个或多个事件在同一时间间隔内发生,这些事件在宏观上是同时发生的,但微观上是交替发生的
与之相对应的重要概念就是“并行”,并行指两个或多个事件在同一时刻同时发生
对于操作系统来说,并发性是指计算机系统同时存在着多个运行程序
一个单核处理机(CPU)同一时刻只能执行一个程序,因此操作系统会负责协调多个程序交替执行,使其在宏观上看起来是同时执行的
共享
共享即资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用。
一共有两种资源共享方式:
互斥共享方式
指系统中的某些资源,虽然可以提供给多个进程使用,但同一时间段内只允许一个进程访问该资源(例如:相机资源,当我们在微信中使用相机资源进行视频聊天时,我们就无法在QQ中调用相机资源进行操作)
同时共享方式
系统中的某些资源,允许一个时间段内多个进程“同时”对该资源进行访问(例如:硬盘资源,同一时间段内,多个程序可以同时对硬盘资源进行写入或读取等操作,这些操作看起来就像是同时进行的一样)。这里的“同时”也是宏观上的同时,微观上一般仍然是采用分时操作完成的
虚拟
虚拟是指把一个物理实体变为若干个逻辑上的对应物,物理实体是实际存在的,逻辑上的对应物是用户感受到的
例如一个4GB内存的计算机可以同时运行内存需求远大于4G的多个程序,这里用到了空分复用技术,使得一个物理实体为4GB的内存,逻辑对应物即用户真实感受到的远大于4G
亦或一个单核CPU的计算机同时运行多个软件,同样利用虚拟处理器技术(时分复用技术),使得用户感受到的是多个CPU同时为自己服务
异步
在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程不是一贯到底的,而是走走停停,以不可预知的速度向前推进,这就是进程的异步性
例如:进程A在执行过程中占用了相机资源,此时原本按计划轮到进程B继续执行,但由于进程B需要调用相机资源。而相机资源已被进程A占用,此时后续进程就会进入等待状态,直至进程A归还相机资源。可见,整个执行过程会一直走走停停,以不可与之的速度前进
从上面的说明中可以看出,系统出现异步性的本质原因在于系统的并发性,由于系统允许程序并发执行,所以才会出现多个程序由于争抢资源而陷入停滞状态。如果系统本身不支持并发,则所有程序将串行执行,即依次执行完每个单独程序,也就不会出现异步
并发和共享之间的关系
并发和共享之间互为存在条件,并发性指计算机系统中可以同时存在多个运行中的程序,共享性指系统中的资源可供内存中多个并发执行的进程共同使用
例如:A,B两个程序同时向硬盘中写入文件。此时A,B两个程序正在并发执行体现了,并发性,同时操作硬盘资源体现了共享性。如果失去并发性,则A,B两个程序无法同时运行,系统中只存在一个正在运行的程序,共享性也就失去了意义。如果失去共享性,则A,B两个程序无法同时访问硬盘资源,也就无法并发运行
如果失去并发性,则一个时间段内系统只能运行一个程序,那么就失去了实现虚拟性的意义,也就是说没有并发性,虚拟性就无从谈起了
如果失去并发性,系统只能串行的处理各个进程(每次执行一个),每个进程会一贯到底的执行下去,所以异步性也就不复存在了