目录
操作系统的发展历程
(一)手工操作阶段
具体工作方式:
输入:用户通过物理设备(如打孔卡片、纸带)将程序和数据输入计算机。
运行:计算机运行程序,用户需要手动控制每一步操作。
输出:结果通过打印机或显示器输出,用户手动记录。
比如在20世纪50年代,用户需要把程序写在打孔卡片上,然后排队把卡片交给操作员,操作员把卡片装入计算机,运行程序,最后把结果打印出来交给用户,整个过程可能需要几个小时甚至几天,效率非常慢。
(二)批处理阶段
(1)单道批处理系统
单道:一次只处理一个作业,CPU在同一时间内仅运行一个程序。
批处理:用户将多个作业提交给操作员,操作员将这些作业按顺序输入计算机,系统自动依次处理。
可以简单理解为,
单道批处理系统就像一家只有一个收银台的超市:
单道:一次只能服务一个顾客(一个程序)。
批处理:所有顾客(作业)排成一队,收银员(计算机)按顺序一个一个处理。
多道批处理系统
具体过程:
顾客排队:大家把要买的东西(作业)交给收银员,排成一队。
一个一个结账:收银员一次只为一个顾客服务,结完账再叫下一个。
结束:所有顾客依次结完账,任务完成。
顺序性 | 作业按提交顺序依次处理,无并行执行 |
独占性 | 一个作业运行时独占所有系统资源,直到完成 |
自动性 | 作业处理由系统自动完成,无需人工干预 |
(2)多道批操作系统
它允许多个程序同时驻留在内存中,并通过共享CPU和其他系统资源来提高计算机的利用率和吞吐量。与单道批处理系统不同,多道批处理系统通过多道程序设计技术实现多个程序的并发(有关并发概念详见操作系统(II))执行。
多道:可以同时服务多个顾客(多个程序)。
批处理:顾客(作业)还是排成一队,但收银员(CPU)可以同时处理多个任务。
具体过程同样可以理解为,
顾客排队:所有顾客(作业)排成一队。
多个收银台工作:多个收银员(CPU)同时为不同的顾客服务。
灵活切换:如果一个顾客在找钱或装东西(等待I/O操作),收银员可以先去服务其他顾客,不用干等着。
多道批处理系统通过多道程序设计技术,允许多个作业同时驻留内存并共享系统资源,从而提高了计算机的利用率和吞吐量,其具体特点体现在:
特点 | 说明 |
---|---|
多道程序设计 | 多个程序同时驻留在内存中,CPU在它们之间快速切换,实现并发执行。 |
资源共享 | CPU、内存、I/O设备等资源被多个程序共享,提高资源利用率。 |
提高CPU利用率 | 当一个程序等待I/O操作时,CPU可以立即切换到另一个程序运行,避免空闲。 |
增加系统吞吐量 | 单位时间内完成的作业数量增加,系统效率显著提高。 |
支持多任务 | 多个作业可以同时运行,系统具备并发处理能力。 |
作业调度复杂 | 需要设计合理的调度算法来管理多个作业的资源分配和执行顺序。 |
资源竞争 | 多个作业可能竞争CPU、内存等资源,需要有效的资源管理机制。 |
响应时间不确定 | 由于作业是并发执行,用户无法准确预测作业的完成时间。 |
适合批量处理 | 适用于需要高效处理大量作业的场景,如科学计算、数据处理等。 |
内存管理复杂 | 需要管理多个作业的内存分配和保护,防止作业之间相互干扰。 |
(3)分时操作系统
它的核心思想是让多个用户(或任务)共享计算机资源,并且每个用户都感觉自己在独占计算机,简单来说,它就像一个非常公平的老师,
分时:把时间分成很小的时间片(比如几毫秒),每个任务轮流使用CPU。
多用户:多个用户可以同时使用计算机,互不干扰。
可以理解为,老师不会一直只教一个学生,而是轮流教每个学生一小会儿,每个学生都觉得自己一直被老师关注,但实际上老师是在快速切换,切换速度非常快,学生们感觉不到停顿。
分时操作系统的工作方式:
-
时间片分配:CPU把时间分成很小的时间片(比如10毫秒),每个任务轮流运行一个时间片。
-
快速切换:当一个任务用完时间片后,CPU会切换到下一个任务。
-
用户交互:用户可以通过终端(比如键盘、鼠标)与系统实时交互,感觉不到延迟。
(4)实时操作系统
是一种专门为实时应用设计的操作系统,它的核心特点是能够在严格的时间限制内完成任务,实时操作系统广泛应用于需要快速响应和高可靠性的领域,比如工业控制、航空航天、医疗设备等。
实时操作系统的特点
特点 | 说明 |
---|---|
严格的时间限制 | 必须在规定的时间内完成任务,否则可能导致系统失效或严重后果。 |
高可靠性 | 系统必须稳定运行,不能出现崩溃或错误。 |
任务优先级 | 任务根据紧急程度分配优先级,高优先级任务会优先执行。 |
确定性 | 系统的响应时间是可预测的,能够在最坏情况下保证任务的完成时间。 |
并发处理 | 支持多任务并发执行,能够同时处理多个实时任务。 |
资源管理高效 | 对CPU、内存、I/O设备等资源进行高效管理,确保实时任务的执行。 |
中断处理能力强 | 能够快速响应外部事件(如传感器信号),并立即处理。 |
其中,它的核心特点是高可靠性、确定性和高效的任务调度能力。
实时操作系统可以分为两种:
1.硬实时系统(Hard Real-Time System):
任务必须在绝对严格的时间限制内完成,否则会导致严重后果。
例如:火箭控制系统、心脏起搏器。
2.软实时系统(Soft Real-Time System):
任务有时间限制,但偶尔超时不会导致严重后果,只会影响性能。
例如:视频播放、在线游戏、选课平台。
除了以上两个阶段,操作系统还有许多发展阶段,大家仅做了解就好。