1.2 操作系统发展历程
1.2 操作系统发展历程
1. 批处理系统
- 单道批处理系统
- 原理:为实现对作业的连续处理,需要先将一批作业以脱机方式输入磁带并在系统中配上监督程序,在其控制下,使这批作业能一个接一个地连续吹了。虽然系统对作业的处理是成批进行的,但是内存中始终保持一道作业
- 特征
- 自动性:磁带上的一批作业能自动地逐个运行,而无须人工干预
- 顺序性:磁道上的各道作业顺序地进入内存,先调入内存的作业先完成
- 单道性:内存中仅有一道程序运行,即监督程序每次从磁带上只调入一道程序进入内存运行,当该程序完成或发生异常情况时,才换入其后继程序进入内存运行。
- 优点
- 缓解了一定程序的人机速度矛盾,资源利用率有所提升。
- 缺点
- 内存中仅能有一道程序运行,只有该程序运行结束之后才能调入下一道程序。
- CPU有大量的事件是再空闲等待I/O完成。资源利用率依然很低
- 面临的问题
- 每次主机内存中仅存放一道作业,每当它在运行期间(注意这里是运行时,而不是完成后)发出输入/输出请求,高速的CPU便处于等待低速的I/O完成的状态。
- 多道批处理系统
- 原理:用户提交的作业都先存放在外存上并拍成以恶搞队列,作业调度程序按一定的算法从后被队列中选择若干作业调入内存,它们在管理程序的控制下相互穿插地运行【并非顺序】,共享系统中的各种硬/软件资源。当某道程序因请求I/O操作而暂停运行时,CPU便立即转去运行另一道程序,这是通过中断机制实现的。它让系统的各个组成部分都尽量的“忙”,切换任务所花费的时间很少,因而可实现系统各部件之间的并行工作,使其在单位时间内的效率翻倍。
- 特点
- 多道:计算机内存中同时存放多道相互独立的程序
- 宏观上并行:通过是进入系统的多道程序都处于运行过程中,但都未运行完毕
- 微观上串行:内存中的多道程序轮流占有CPU,交替执行
- 优点
- 资源利用率高【包括CPU、I/O等软硬件资源】
- 系统吞吐量大
- 缺点
- 用户响应时间长
- 用户既不能了解自己的程序的运行情况,又不能控制计算机
- 不提供人机交互能力
- 多道技术的实现需要解决的问题
- 如何分配处理器
- 多道程序的内存分配问题
- I/O设备如何分配
- 如何组织和存放大量的程序和数据,以方便用户使用并保证其安全性与一致性
- 注:批处理系统中都不存在交互能力,但多任务操作系统可视为具有交互性的多道批处理系统
2. 分时操作系统
- 原理:计算机以时间片为单位轮流为各个用户/作业服务,各个用户可以通过终端与计算机进行交互。
- 特征
- 同时性:同时性也称多路性,指允许多个终端用户同时使用一台计算机
- 交互性:用户通过终端采用人机对话的方式直接控制程序运行,与同程序进行交互
- 独立性:系统中多个用户可以彼此独立地进行操作,互不干扰。
- 及时性:用户请求能在很短时间内获得响应
- 优点
- 主要体现在交互性和独立性
- 缺点
- 不能优先处理一些紧急任务。操作系统对各个用户/作业都是完全公平的,循环地为每个用户/作业服务一个时间片,不区分任务的紧急性
3. 实时操作系统
- 目的:计算机系统接收到外部信号后及时进行处理,并且要在严格的时限内处理完事件。
- 分类
- 硬实时系统:必须在绝对严格的规定时间内完成处理,例如:飞机的飞行自动控制系统
- 软实时系统:能接收偶尔违反时间规定,例如:飞机订票系统、银行管理系统。
- 特点:
- 及时性:强调对紧急任务的及时响应
- 可靠性
- 优点:
- 能够优先响应一些紧急任务,某些紧急任务不需时间片排队
- 注:实时操作系统也可以人机交互,只不过它的诞生主要目的不是为了交互
4. 网络操作系统【非重点考察】
- 核心思想:在一台计算机上运行一个操作系统,通过网络把多台机器连接起来。
- 特征:用户知道自己在访问远程资源(如远程登录、远程文件共享)。
- 资源管理方式:各台机器资源相对独立,本地操作系统自己管理,网络只是提供访问通道。
- 举例:早期的 Windows NT、Unix + NFS 文件共享等。
5. 分布式计算机系统
-
原理:把多台计算机组合成一个统一的整体,对用户呈现为一台“虚拟的大型计算机
-
特点
- 分布性:资源分散在不同地方(空间上)
- 并行性:任务同时进行(时间上)
-
注:分布式操作系统与网络操作系统的本质不同
- 网络操作系统:多台计算机 通过网络互联,各自独立,只是能通信。
- 分布式操作系统:多台计算机 被统一调度,看起来像一台机器。
6. 操作系统的发展历程
【主播要开始日更408重点了,每完成一章或者一本之后会发合集的,有什么遗漏的知识或者不对的地方希望大家批评指正】