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