1、操作系统的特征
操作系统共有四个特征:并发、共享、虚拟、异步。
其中,并发和共享为两个最基本特征,二者互为存在条件
并发
指多个事件在同一时间间隔内发生,这些事件宏观上同时发生的,但微观上交替发生
操作系统的并发性:
操作系统的并发性指计算机系统中“同时”运行多个程序,这些程序宏观上同时运行,微观上交替运行。操作系统就是伴随着“多道程序技术”而出现的,因此,操作系统和程序并发是一起发生的。
单核CPU同一时刻只能执行一个程序,各个程序只能并发执行
多核CPU同一时刻可以同时执行多个程序,多个程序可以并行执行
此外,当我们使用四核CPU但是想要同时运行五个软件时,就需要将第五个软件替代原本四个软件之中的一个,所以即使是四核CPU,只要有4个以上的程序需要“同时“运行,那么并发性依然是必不可少的,因此并发性是操作系统一个最基本的特性。
与并发相对的是并行:
并行
指两个或多个事件在同一时刻同时发生
在实际生活中,并行相当于一个人在同一时刻同时与两个人进行约会,而并发相当于一个人在不同的时间段内与不同的人进行约会(在宏观上来看此人在一天内进行多场约会,而在微观上来看在一天内的某一个时间段内他只进行着一场约会)
共享
即资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用
一共有两种资源共享方式:互斥共享方式和同时共享方式
互斥共享方式
即一个时间段内只允许一个进程访问该资源
同时共享方式
即一个时间段内由多个进程”同时“对它们进行访问
所谓的”同时“往往是宏观上的,在微观上,这些进程可能是交替地对该资源进行访问的
实例:
使用QQ和微信视频,同一时间段内摄像头只能分配给其中一个进程(互斥共享)
使用QQ发送文件A,同时使用微信发送文件B,宏观上,两边同时读取并发送文件,说明两个进程都在访问硬盘资源并从中读取数据,微观上,两个进程在交替访问硬盘(同时共享)
并发和共享的关系:
当我们同时使用QQ和微信分别发送文件A和文件B时:
1、两个进程正在并发执行(并发性)
若没有并发性,当系统中只有一个程序在运行,则共享性失去存在的意义
2、二者需要共享的访问硬盘资源(共享性)
若没有共享性,则QQ和微信不能同时访问硬盘资源无法实现同时发送文件,也就无法并发
结论:并发性和共享性互为存在条件
虚拟
指将一个物理上的实体变为若干个逻辑上的对应物,前者实际存在,后者人为想象
一个程序需要放入内存并给它分配CPU才能执行
实例:
①我的电脑只有4GB内存,但是我的电脑上正在运行着需要4GB运行内存的GTA5,需要256MB内存的QQ,需要256MB内存的迅雷......,这些程序同时运行需要的内存远远大于4GB,那么为什么它们还可以在我的电脑上同时运行呢?因为这是:虚拟存储器技术(虚拟技术中的空分复用技术)
②某单核CPU的计算机中,用户打开了QQ、迅雷、谷歌、快播等软件,既然一个程序需要被分配CPU才能正常执行,那么为什么单核CPU的电脑中能同时运行这么多个程序呢?
因为这是:虚拟处理器技术(虚拟技术中的时分复用技术:微观上处理机在各个十分微小的时间段内交替着为各个进程服务)
很显然的,如果失去了并发性,则一个时间段内系统中只需要运行一道程序,那么就失去了实现虚拟性的意义了。
结论:没有并发性,就谈不上虚拟性
异步
指在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一次性的,而是走走停停,以不可预知的速度向前推进。(来回拉扯最后都完成)
很显然的,如果失去了并发性,则每个程序的执行会一贯到底
结论:只有系统用于并发性,才有可能导致异步性
本节思维导图:
本节重要考点:
①理解并发和并行的区别
②并发和共享互为存在条件
③没有并发和共享,就谈不上虚拟和异步,因此并发和共享式操作系统的两个最基本的特征
~over~