Skip to content

1.2 操作系统的发展史

Giovanna

About 1544 wordsAbout 5 min

2024-08-31

一、串行处理

20世纪40年代后期到50年代中期

处理机制

  • 无操作系统

  • 程序员通过操控控制台运行程序,控制台包括显示灯、触发器、某种类型的输入设备和打印机

  • 程序通过输入设备(如卡片机阅读器)载入计算机

  • 用户按顺序访问计算机

主要问题

  • 调度。使用硬拷贝登记表来预订机器时间,登记时间与完成工作时间不一致,导致时间浪费或未完成工作。

  • 启动时间。加载编译器、源程序,保存目标程序,加载目标程序,链接公用函数等,需要大量时间。

二、简单批处理系统

监控程序(Monitor)

  • 对一批作业进行自动处理

  • 内存中只能存放一道作业

处理过程

计算机操作员收集用户的作业按顺序组织成批,并将整个批作业放在输入设备上,供监控程序使用每个程序完成处理后返回到监控程序,同时监控程序自动加载下一个程序。

监控程序的功能

  • 作业的自动连续

  • 内存保护:保护监控程序所在的内存区域

  • 定时器:防止某作业独占系统

  • 特权指令:只能有监控程序执行的指令,如I/O指令

  • 中断:早期计算机模型无此能力,可以使控制权的转移更加灵活

运行模式

  • 用户模式(user mode):某些内存区域被保护而不能被用户使用,也不允许用户执行特权指令

  • 内核模式(kernel mode):可执行特权指令及访问受保护的内存区域

处理机经常处于空闲状态

image.png

原因:I/O设备速度比处理器慢

小剧场

(读入一个作业,并存储到内存中的一部分。处理器执行监控程序中的指令)

处理器:呀,读入了一个作业。监控程序,我要从哪里开始执行呢?

监控程序:从这里,这是用户程序开始处。(分支指令)

处理器:好的好的。(开始执行用户程序中的指令)

(遇到一个结束指令或错误条件,处理器从监控程序中取下一条指令)

处理器:监控程序,我又要从哪里开始执行呀? (循环循环,不能让处理器偷懒!)

三、多道批处理系统

I/O设备相对于处理器而言速度太慢了,处理器仍然经常处于空闲状态。

处理器:好耶!又遇到I/O指令啦!我又可以休息好久呀!

(不许偷懒!等待I/O的时候可以去执行另一个用户程序!像资本家一样剥削你!)

扩充存储器,保存操作系统(常驻监控程序)和多个用户程序,当一个作业需要等待I/O时,处理器可以切换到另一个可能并不在等待I/O的作业。

两个程序的多道程序设计

image.png

三个程序的多道程序设计

image.png

  • 多道程序设计示例

    • 系统可用内存250MB(未被操作系统占用)
    • 一个磁盘、一个终端、一台打印机

示例程序执行属性:

image.png

  • 多道程序设计技术可以显著提高资源的利用率和系统吞吐量

image.png

  • 多道批处理系统——简单批处理系统的改进

    • 内存中同时存放多个作业
    • 多个作业可并发执行
    • 作业调度程序负责作业的调度
  • 多道批处理系统的硬件支持

    • I/O中断
    • 直接存储器访问(DMA)
  • 多道批处理系统的特征

    • 多道性、调度性、无序性、无交互能力
  • 需要解决的基本问题

    • 内存管理
    • 处理机管理
    • 作业管理
    • I/O设备管理
    • 文件管理

操作系统是一组控制和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合。

四、分时系统

多道程序设计允许处理器同时处理多个批作业,还可以处理多个交互作业。处理多个交互作业可以使得多个用户分享处理器的时间,因而该技术称为分时(time sharing)。

产生原因

人机交互、共享主机、方便上机

分时系统的特征

多路性、独立性、及时性、交互性

比较

批处理多道程序设计分时
主要目标处理器使用最大化响应时间最小化
提交给操作系统的指令来源作业中的作业控制语言指令终端键入的命令

小剧场

操作系统:处理器去这里!

(处理器跑去干活)

系统时钟敲铃了!处理器停止干活。

操作系统:处理器去那里!

(处理器跑去干活)

系统时钟敲铃了!处理器停止干活。

操作系统:下一个下一个!

(处理器被迫海王,每一个用户都需要雨露均沾……)

(但是处理器的精力是有限的,n个用户每个用户只能得到它的1/n)

(那又怎样呢,处理器这么有活力可不能让它闲着!)

五、实时系统

概念

系统能够及时(即时)响应外部事件请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。

分类

软实时系统硬实时系统
各个任务运行得越快越好,并不要求限定某一任务必须在多长时间内完成。各任务不仅要执行无误而且要做到准时。

大多数实时系统是二者的结合。

应用领域

  • 航空航天
  • 军事
  • 工业控制

实时系统的特征

实时性、可靠性、独立性、交互性