操作系统的特性
最基本的四个特征:并发,共享,虚拟,异步
1.并发性:
指两个或者多个事件在同一时间间隔内发生,这些事情在宏观上是同时发生的,但是在微观上是交替发生.在操作系统的并发性是指计算机系统中存在着多个运行着的程序.
补充:
- 并行:两个或者多个事件在同一时刻同时发生.
- 一个单核处理机(CPU)同一时刻只能执行一个程序,因此操作系统会负责协调多个程序交替执行(这些程序微观上是交替执行,但宏观上是像同时执行),事实上操作系统是伴随着"多道程序技术"一起诞生的,因此,操作系统和程序并发一起诞生
- 虽然现在有很多CPU是多核,意味着可以同时有多个程序并行执行,但是操作系统的并发性必不可少
2.共享性:
两大类:互斥共享,同时共享
- 互斥共享:
系统中某些资源,虽然可以提供给多个进程使用,但一个时间段内允许一个进程访问该资源
例子(使用QQ和微信,同一段时间内摄像头只允许各一个使用) - 同时共享:
系统中某些资源,允许一个时间段内多个进程"同时"对他们进行访问
(例子:使用QQ和微信同时发文件,宏观上看:两边的进度条都在推进.但实际微观上是两个进程交替访问磁盘,读取数据)
3.虚拟性:
虚拟性:是指把一个物理上的实体变为若干个逻辑上的对应物。物理实体(前者)是实际存在的,而逻辑上对应物(后者)是用户感受到的
虚拟技术:
-
空分复用技术:
GTA5需要4GB的运行内存,QQ需要256MB的内存,迅雷需要256MB的内存,网易云音乐需要256MB的内存….…但是我的电脑:4GB内存
问题:这些程序同时运行需要的内存远大于4GB,那么为什么它们还可以在我的电脑上同时运行呢?
答:这是虚拟存储器技术。实际只有4GB的内存,在用户看来似乎远远大于4GB -
时分复用技术:
某单核CPU的计算机中,用户打开了以下软件
问题:既然一个程序需要被分配CPU才能正常执行,那么为什么单核CPU的电脑中能同时运行这么多个程序呢?
答:这是虚拟处理器技术。实际上只有一个单核CPU,在用户看来似乎有6个CPU在同时为自己服务
4.异步性:
是指在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进,这就是进程的异步性
特性之间的关系:
- 并发和共享是最基本的特征,二者互为存在条件
并行性的与共享性的联系:
使用QQ发送文件A,同时使用微信发送文件B。
a. 两个进程正在并发执行(并发性)
如果失去并发性,则系统中只有一个程序正在运行,则共享性失去存在的意义
b. 需要共享地访问硬盘资源(共享性)
如果失去共享性,则QQ和微信不能同时访问硬盘资源,就无法实现同时发送文件,也就无法并发
- 并发性与虚拟性:如果失去了并发性,则一个时间段内系统中只需运行一道程序,那么就失去了实现虚拟性的意义了。因此,没有并发性,就谈不上虚拟性.
- 并发性与异步性:如果失去了并发性,则系统只能串行地处理各个进程,每个进程的执行会一贯到底。只有系统拥有并发性,才有可能导致异步性.