1.2 操作系统发展

  1. Operating system development 操作系统发展
  • OS从无到有、从简单到复杂、完善
  • OS 随着计算机硬件技术的发展而发展
  • 为满足不同的需求,出现了多种类型的OS

发展动力:“需求推动发展”

  • 资源利用角度
    为了提高计算机资源利用率和系统性能, 从单道到多道、集中到分布、从专用到泛在等
  • 用户角度
    方便用户,人机交互
  • 技术角度
    物理器件发展, CPU的位宽度(指令和数据)、快速外存、光器件等,以及计算机体系结构的不断发展:单处理机、多处理机、多核、计算机网络

OS的发展和计算机硬件技术、体系结构相关

第一代 (1946年-1955年): 真空管时代,无操作系统
第二代 (1955年-1965年): 晶体管时代,批处理系统
第三代 (1965年-1980年): 集成电路时代,多道程序设计
第四代 (1980年 - 至今): 大规模和超大规模集成电路时代,分时系统。现代计算机正向着巨型、微型、并行、分布、网络化和智能化几个方面发展。

Development and Types of OS

No operating system 无操作系统
Simple Batch Systems 简单批处理系统
Multiprogramming Batched Systems 多道程序批处理系统
Time-Sharing Systems 分时系统
Real -Time Systems 实时系统
Embedded SystemS 嵌入式系统
Parallel Systems 并行系统
Distributed Systems 分布式系统

操作系统的发展过程
1、手工操作

手工操作时代

世界第一台计算机ENIAC计算机

运算速度:1000次/每秒, 数万个真空管, 占地100平方米。

  • 没有程序设计语言(甚至没有汇编),更谈不上操作系统。
  • 程序员提前预约一段时间,然后到机房将他的插件板(真空管)插到计算机里。
  • 期盼着在接下来的时间中几万个真空管不会烧断,从而可以计算自己的题目。
工作方式:
  • 工作方式:人工操作方式,用户是计算机专业人员
  • 编程语言:机器语言
  • I/O:纸带或卡片
缺点:
  • 用户独占全机,独占系统的全部硬件资源,设备利用率很低
  • CPU等待用户:手工装入/卸取纸带或卡片

早期计算机系统

50年代早期,出现了穿孔卡片,程序写在卡片上然后读入计算机,但计算过程则依然如旧


穿孔卡片
主要矛盾
  • 人机矛盾:人工操作方式与机器利用率的矛盾
  • CPU与I/O之速度不匹配的矛盾
提高效率的途径
  • 批处理
  • 脱机I/O

1.脱机I/O方式

I/O工作在外围机/卫星机的控制下完成,或者说是在脱离主机的情况下进行。使用磁带作为输入/输出的中介,这种具体的输入/输出不需要在主计算机上进行的方式称“脱机输入/输出”


脱机I/O方式

2. 单道批处理系统(simple batch processing)

50年代末 ~ 60年代中(晶体管)
把一批作业以脱机输入方式输入到磁带/磁鼓,利用磁带或磁盘把任务分类编成作业顺序执行,每批作业由专门监督程序(Monitor)自动依次处理

  • 批处理系统解决了高速计算机的运算、处理能力与人工干预之间的速度矛盾,实现了作业自动过渡。


    早期批处理系统

单道批处理系统特征

运行特征
  • 顺序性
    磁带上的各道作业是顺序地进入内存,各作业的完成顺序与他们进入内存的顺序相同
  • 单道性
    内存中仅有一道程序运行
  • 自动性
    当一个程序执行完成之后,监督程序(Monitor)会自动运行下一个程序
优点
  • 减少了CPU的空闲时间,提高了主机CPU和I/O设备的使用效率,提高了吞吐量。
缺点
  • 会造成CPU和I/O设备使用忙闲不均

3. 多道程序批处理系统(Multiprogrammed Batch Systems)

  • 多道程序设计
    60年代中 ~ 70年代中(集成电路)
  • 多道
    内存中同时存放几个作业,使之都处于执行的开始点和结束点之间多个作业共享CPU、内存、外设等资源
  • 目的
    利用多道批处理提高资源的利用率
60年代通道和中断技术的出现
  • 解决了输入输出等待计算的问题
通道
  • 是一种专用部件,负责外部设备与内存之间信息的传输。
中断
  • 指主机接到外界的信号(来自CPU外部或内部)时,立即中止原来的工作,转去处理这一外来事件,处理完后,主机又回到原来工作点继续工作。
什么是多道
  • Several jobs are kept in main memory at the same time, and the CPU is multiplexed among them.
    在内存中同时有多个作业,CPU在其中切换

  • As long as there is always at least one job to execute, the CPU is never idle.
    只要系统中总是存在可执行的作业,CPU就永远不会因无事可干而闲着。

  • Multiprogramming increases CPU utilization by organizing jobs such that the CPU always has one to execute.
    多道通过组织作业使得CPU总在执行其中一个作业,从而提高了CPU的利用率
运行特征
  • 多道性
    内存中同时驻留多道程序并发执行,从而有效地提高了资源利用率和系统吞吐量
  • 无序性
    作业的完成顺序与它进入内存的顺序之间无严格的对应关系
  • 调度性
    作业调度、进程调度

优缺点

优点
  • 资源利用率高:CPU,内存,I/O设备
  • 系统吞吐量大
缺点
  • 无交互能力,用户响应时间长
  • 作业平均周转时间长
多道程序对OS特点的要求(OS Features Needed for Multiprogramming)
  • 存储管理(Memory management)
    – the system must allocate thememory to several jobs. 系统必须为若干作业分派空间
  • CPU调度(CPU scheduling)
    the system must choose amongseveral jobs ready to run. 系统必须在就绪作业中挑选
  • 资源竞争和共享(Resource competition and sharing)
  • 设备分配(Allocation of devices)
  • 系统提供I/O程序(I/O routine supplied by the system)
  • 文件管理(File management)

你可能感兴趣的:(1.2 操作系统发展)