文章目录
操作系统的发展和分类
-
手工操作阶段
主要缺点:用户独占全机、人机速度矛盾导致资源利用率极低
-
单道批处理系统
主要优点:引入脱机输入/输出技术(用磁带完成,也就是离线磁盘),监督程序负责控制作业的输入、输出, 缓解了一定程度的人机速度矛盾,资源利用率有所提升。
主要缺点:内存中仅能有一道程序运行,只有该程序运行结束之后才能调入下一道程序。CPU有大量的时间是在空闲等待l/o完成。资源利用率依然很低。
-
多道批处理系统:
主要优点:多道程序并发执行,共享计算机资源。资源利用率大幅提升,CPU和其他资源保持“忙碌”状态,系统吞吐量增大。
主要缺点:用户响应时间长,没有人机交互功能(用户提交自己的作业之后就只能等待计算机处理完成,中间不能控制自己的作业执行)
举例对比单批道处理和多批道处理
问题:为何多道批处理系统能使资源利用率大幅提升?
假设计算机需要处理三个作业
作业一:输入1秒,计算1秒,输出1秒
作业二:输入1秒,计算1秒,输出1秒
作业三:输入1秒,计算1秒,输出1秒
- 若采用单道批处理技术
- 若采用多批道处理系统
所以多批道处理系统就是并发执行程序, 使多个资源保持忙碌状态, 提高吞吐量
- 分时操作系统:
计算机以时间片为单位轮流为各个用户/作业服务,各个用户可通过终端与计算机进行交互。
主要优点:用户请求可以被即时响应,解决了人机交互问题。允许多个用户同时使用一台计算机,并且用户对计算机的操作相互独立,感受不到别人的存在。
主要缺点:不能优先处理一些紧急任务。操作系统对各个用户/作业都是完全公平的,循环地为每个用户/作业服务一个时间片,不区分任务的紧急性。
- 实时操作系统:
为各个用户/作业服务设立优先级, CPU调度可由优先级进行优先调度
在实时操作系统的控制下,计算机系统接收到外部信号后及时进行处理,并且要在严格的时限内处理完事件来保证可靠性。
主要优点:能够优先响应一些紧急任务,某些紧急任务不需时间片排队。
实时操作系统的主要特点是及时性和可靠性
- 实时操作系统又分为硬实时系统和软实时系统, 硬实时系统表示必须立刻执行, 而软实时系统表示允许偶尔时间内违反实时标准
- 网络操作系统:
伴随着计算机网络的发展而诞生的,能把网络中各个计算机有机地结合起来,实现数据传送等功能,实现网络中各种资源的共享(如文件共享)和各台计算机之间的通信。(如: Windows NT就是一种典型的网络操作系统,网站服务器就可以使用) - 分布式操作系统:
主要特点是分布性和并行性。系统中的各台计算机地位相同,**任何工作都可以分布在这些计算机上,由它们并行、协同完成这个任务。
**
总结
操作系统的功能和目标
- 首先看一下计算机系统的层次结构
所以
- 操作系统是系统软件不是硬件
- 操作系统为上层应用软件提供使用硬件的接口API
- 操作系统是负责管理和协调软件去使用硬件设备和资源
所以操作系统被称为系统资源的管理者
- 举个例子
我们要知道一个程序的真正执行前需要将该程序放入内存中, 才能被CPU处理 (需要下载到本地), 那么在双击使用这个程序的时候就需要操作系统来帮我们在内存上找到这个程序然后交给CPU去执行, 比如使用QQ和朋友视频聊天的过程
提供的功能
作为系统资源的管理者
- 处理机管理, 存储器管理, 文件管理, 设备管理
为用户提供使用硬件设备的接口
命令接口:允许用户直接使用, 如CMD输入的命令就是联机命令接口, 而执行代码就是脱机命令接口
程序接口:允许用户通过程序间接使用, 如C:Windows\System32user32.dll程序员在程序中调用user32.dl1(该调用过程即为系统调用)即可实现创建窗口等功能。只能通过用户程序间接使用。
GUI:现代操作系统中最流行的图形用户接口
作为最接近硬件的层次
需要提供的功能和目标:实现对硬件机器的拓展
体现的也是对计算机设备和资源的封装思想实现安全和高效的目的
没有任何软件支持的计算机成为裸机。
在裸机上安装的操作系统,可以提供资源管理功能和方便用户的服务功能,将裸机改造成功能更强、使用更方便的机器
- 类比
硬件:锤子、锯子、木头、钉子…
操作系统:优秀的工匠
操作系统对硬件机器的拓展:通过优秀工匠,这些简单的原料可以组织成房子、帆船、匹诺曹。。。普通用户可直接使用工匠提供的房子、帆船、匹诺曹,而无需关心这些东西在底层是怎么组织起来工作的
总结
操作系统的四个特征
并发
并发:指两个或多个事件在同一时间间隔内发生。这些事件宏观上是同时发生的,但微观上是交替发生的。
易混概念――并行:指两个或多个事件在同一时刻同时发生。
操作系统的并发性指计算机系统中同时存在着多个交替运行着的程序。
一个单核处理机(CPU)同一时刻只能执行一个程序,因此操作系统会负责协调多个程序交替执行(这些程序微观上是交替执行的,但宏观上看起来就像在同时执行)
事实上,操作系统就是伴随着“多道程序技术”而出现的。因此,操作系统和程序并发是一起诞生的。
共享
共享即资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用。
-
生活实例:
互斥共享方式:使用QQ和微信视频。同一时间段内摄像头只能分配给其中一个进程。
同时共享方式:使用QQ发送文件A,同时使用微信发送文件B。两边都在同时读取并发送文件,说明两个进程都在访问硬盘资源,从中读取数据。 -
并发性指计算机系统中同时存在着多个运行着的程序。
-
共享性是指系统中的资源可供内存中多个并发执行的进程共同使用。
虚拟
虚拟是指把一个物理上的实体变为若干个逻辑上的对应物。物理实体(前者)是实际存在的,而逻辑上对应物(后者)是用户感受到的。
-
举个例子
一个程序需要放入内存并给它分配CPU才能执行, OK
…
GTA5需要4GB的运行内存,QQ需要256MB的内存,迅雷需要256MB的内存,网易云音乐需要256MB的内存…
我的电脑:4GB内存
问题:这些程序同时运行需要的内存远大于4GB,那么为什么它们还可以在我的电脑上同时运行呢?
答:这是虚拟存储器技术。实际只有4GB的内存,在用户看来似乎远远大于4GB -
这就是一种虚拟技术中的空分复用技术
-
再举个例子
某单核CPU的计算机中,用户打开了以下软件。。。
问题:既然一个程序需要被分配CPU才能正常执行,那么为什么单核CPU的电脑中能同时运行这么多个程序呢?
答:这是虚拟处理器技术。实际上只有一个单核CPU,在用户看来似乎有6个CPU在同时为自己服务 -
虚拟技术中时分复用技术。微观上处理机在各个微小的时间段内交替着为各个进程服务
异步
异步是指,在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进,这就是进程的异步性。
- 显然,如果失去了并发性,则系统只能串行地处理各个进程,每个进程的执行会一贯到底。只有系统拥有并发性,才有可能导致异步性。
总结
- 有了并发性才会有共享, 虚拟, 异步性