2719 字
14 分钟
1.2操作系统发展历程

1.2.1 手工操作阶段(未配置操作系统)#

1. 人工操作方式#

早期阶段,用户将程序和数据穿孔在纸带或卡片上,装入输入设备后手动控制读入内存并启动程序运行。程序的装入、执行与结果输出等全过程均依赖人工操作。随着计算机硬件性能不断提升,人机速度之间的矛盾日益突出,系统资源利用率低下的问题也愈发严重。

手工操作阶段存在两个突出缺点:

  1. 用户独占全机,虽无资源竞争,但系统资源利用率极低;
  2. CPU长时间空闲,等待人工完成I/O操作,导致其计算能力未能充分发挥。

为此,人们提出用高速设备替代人工操作,来控制作业流程。

2. 脱机I/O方式#

为缓解人机速度不匹配以及CPU与外设之间的速度差异,诞生了脱机I/O技术。其核心思想是引入一台外围机(如小型专用计算机),在CPU不参与的情况下,预先完成I/O准备工作:输入时,外围机将纸带或卡片上的程序和数据读入磁带,供CPU后续调入内存;输出时,CPU将结果先写入磁带,再由外围机将磁带内容输出至外设。

由于I/O操作完全由外围机独立完成,脱离了主机的直接控制,故称为脱机I/O;相比之下,由主机直接管理I/O设备的方式则称为联机I/O。

脱机I/O的主要优点包括:

  1. 装带、卸带及数据传输等操作在脱机状态下由外围机完成,显著减少了CPU空闲时间;
  2. CPU可直接从高速磁带读取或写入数据,大幅提升了I/O效率。

1.2.2 批处理阶段(操作系统开始出现)#

在脱机I/O技术的基础上,为实现作业的自动连续处理并进一步提升CPU与系统资源的利用率,批处理系统应运而生。按发展历程,可分为单道批处理系统多道批处理系统

1. 单道批处理系统#

为实现对作业的连续处理,系统先将一批作业以脱机方式输入到磁带,并配备一个监督程序(Monitor)。在其控制下,作业能自动、顺序地逐个运行。尽管作业成批提交,但内存中始终仅驻留一道用户程序。单道批处理系统的主要特征如下:

  1. 自动性。在正常情况下,磁带上的作业可自动连续执行,无须人工干预。
  2. 顺序性。作业按磁带上的顺序依次装入内存,先装入者先完成。
  3. 单道性。内存中仅允许一道用户程序运行;监督程序每次仅从磁带调入一道作业,待其完成或异常终止后才装入下一道。

然而,该系统存在明显局限:当正在运行的作业发起I/O请求时,高速CPU不得不空闲等待低速I/O操作结束,导致资源利用率低下。为克服这一瓶颈,多道程序设计技术被引入。

2. 多道批处理系统#

用户提交的作业首先存放在外存的后备队列中。作业调度程序按一定算法从该队列中选取若干作业调入内存,使其在管理程序的控制下并发执行,并共享系统资源。当某道程序因I/O请求而暂停运行时,CPU立即切换至另一就绪程序继续执行。该机制依赖中断技术,使系统各部件尽可能保持忙碌,从而显著提升整体吞吐量和资源利用率。这种采用多道程序设计技术的批处理系统称为多道批处理系统,它将用户作业成批送入内存,由作业调度程序自动选择运行。

多道程序设计具有以下核心特点:

  1. 多道。内存中同时驻留多道相互独立的程序。
  2. 宏观上并行。多道程序均处于运行过程中,但尚未全部完成。
  3. 微观上串行。各程序轮流占用CPU,交替执行。

为实现多道程序设计,需解决以下关键问题:

  1. 处理器的分配策略。
  2. 多道程序的内存分配与保护机制。
  3. I/O设备的分配与调度方法。
  4. 大量程序与数据的组织、存储方式,以及安全性与一致性保障。

优点:资源利用率高,多道程序共享CPU、内存、I/O设备等资源;系统吞吐量大,各部件保持高负载状态。缺点:缺乏交互能力,用户无法了解程序运行状态或进行干预,响应时间较长。

1.2.3 分时操作系统#

分时技术是指将处理器时间划分为很短的时间片,轮流分配给各用户程序使用。若某程序在其时间片内未完成计算,则暂停运行,释放处理器给其他用户程序,待下一轮再继续执行。由于计算机运行速度极快,程序轮转迅速,每个用户均能获得“独占计算机”的交互体验。

分时操作系统允许多个用户通过终端同时连接到一台主机,并与系统进行交互,彼此互不干扰。其实现的核心在于:当用户在终端输入命令时,系统必须能够及时接收、快速处理并立即返回结果。分时操作系统基于多道程序设计,但与多道批处理系统有本质区别:后者追求高吞吐量和资源利用率,无须人工干预;而前者以人机交互为核心目标,由此形成了以下主要特征。

  1. 同时性多路性)。允许多个终端用户同时使用同一台计算机。
  2. 交互性。用户可通过终端以人机对话方式直接控制程序运行,并与其程序进行交互。
  3. 独立性。各用户的操作相互隔离,任一用户均感觉系统为其独占。
  4. 及时性。用户请求能在较短时间内获得响应,满足交互需求。

尽管分时操作系统较好地解决了通用交互问题,但在某些特定场景,系统必须在严格限定的时间内对外部事件做出响应,且需保证响应的确定性与时限性。为此,实时操作系统应运而生。

1.2.4 实时操作系统#

实时操作系统是为在严格的时间限制内完成关键任务而设计的系统。它摒弃了分时操作系统的时间片轮转机制,转而采用基于任务紧迫性或截止时间的调度策略,确保高优先级任务能够及时获得处理器资源。根据时限要求的严格程度,实时操作系统可分为两类:

  1. 硬实时操作系统:要求任务必须在规定的截止时间前完成,否则可能引发灾难性后果。例如飞机的控制系统、导弹的制导系统等,这类系统必须提供绝对可靠的时间保证;
  2. 软实时操作系统:允许偶尔错过截止时间,只要不造成永久性损害即可。例如飞机订票系统、银行管理系统等,其短暂延迟通常可被容忍。

在实时操作系统的控制下,计算机在接收到外部事件后,能够在可预测且有保障的时限内完成处理。其主要特点包括:确定性(响应时间可预测)、高可靠性强时效性

1.2.5 网络操作系统和分布式系统#

网络操作系统是在单机操作系统基础上扩展网络功能而形成的系统,主要用于支持计算机之间的通信、数据传输以及资源共享(如文件、打印机共享等)。在该系统中,各计算机保持独立运行,用户需显式指定远程资源的位置才能访问,系统不提供统一的全局视图。

分布式系统是由多台计算机组成的集合,具有以下特征:节点地位对等,无固定的主从关系;系统资源可被所有用户透明地共享;具备良好的可扩展性与容错能力,支持动态重组;能够将一个任务分解为多个子任务,并分布到不同节点上并行执行、协同完成。用于管理此类系统的操作系统称为分布式操作系统,其核心特点包括分布性并行性透明性。其中,透明性尤为关键,用户无须感知底层的多机结构,操作体验如同使用一台计算机。

二者的区别在于:网络操作系统仅实现资源共享与通信功能,用户需主动干预远程操作;而分布式操作系统通过协同机制,使多台计算机共同完成同一任务,并向用户提供单一系统映像

1.2.6 微机操作系统#

微机操作系统是为微型计算机(如个人计算机、工作站等)设计的操作系统,广泛应用于日常计算与办公环境。根据用户数量和任务并发能力,可分为以下三类。

1. 单用户单任务操作系统#

仅允许一个用户登录并运行一个程序。这类系统结构简单,但资源利用率低,典型代表为早期的MS-DOS(16位)。

2. 单用户多任务操作系统#

支持一个用户同时运行多个应用程序,系统通过时间片轮转实现任务切换,显著提升了交互体验与资源利用率。代表性系统包括Windows XP及后续版本、macOS以及现代Linux 桌面版。此类系统是当前主流的微机操作系统,兼具良好的人机交互性、高效率与稳定性。

3. 多用户多任务操作系统#

允许多个用户通过终端或网络同时登录,各自并发执行多个任务,资源共享且互不干扰。常用于服务器或高性能工作站,典型代表为UNIX、Linux服务器版和Windows Server系列。

此外,还有嵌入式操作系统、服务器操作系统、智能手机操作系统等。

评论