操作系统的定义:
操作系统(Operating System, OS)是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充
1.1操作系统的目标和作用
在计算机系统上配置操作系统主要目标与计算机系统的规模和应用环境有关。 1.1.1操作系统的目标 方便性
? 硬件只能识别机器代码(0、1) ? OS提供命令,方便用户使用计算机
有效性
? 使CPU、I/O保持忙碌,充分利用
? 使内存、外存数据存放有序,节省空间
? 合理组织工作流程,改善资源利用率,提高吞吐量
可扩充性
? 计算机技术的发展:硬件/体系结构/网络/Internet ? OS应采用层次化结构,便于扩充和修改功能层次和模块
开放性
? 支持网络环境,兼容遵循OSI标准开发的硬件和软件
1.1.2 操作系统的作用
1. 用户与计算机硬件系统之间的接口
? 命令方式
用户通过键盘输入联机命令(语言)
? 系统调用方式
用户程序通过系统调用,操纵计算机
? 图形、窗口方式
用户通过窗口、图标等图形界面操纵计算机
2.计算机系统资源管理者
? 4大类资源:处理机;存储器;I/O设备;信息(文件:程
序、数据)
3.对计算机资源的抽象(扩充机器)
? 裸机:只有硬件的计算机,难以使用
? 虚机器:在裸机增加软件(OS等),功能增强,使用方便
1.1.3 推动操作系统发展的主要动力
1.不断提高计算机资源利用率
早期计算机很昂贵,为提高资源利用率,产生了批处理系统
2.方便用户
为改善用户上机、调试程序时的条件,产生了分时系统
3.器件的不断更新换代
OS随之更新换代,如:8位->16位->32位
4.计算机体系结构的不断发展
单处理机OS->多处理机OS->网络操作系统
1.2 操作系统的发展过程
无操作系统时代
OS尚未出现,人们如何使用计算机?
人工操作方式 人工操作方式的缺点
用户独占全机 CPU等待人工操作 结果:资源利用率低下
脱机输入输出系统
低速设备
? 纸带机/卡片机 高速设备
? 磁带/磁盘
? I/O速度提高,缓解了I/O设备与CPU的速度矛盾
主机:用于计算的主计算机
外围机:也是计算机,处理输入输出,使之不占用主机CPU时间
外围机控制输入/输出
? 输入:低速设备->高速设备 ? 输出:高速设备->低速设备
? 输入和输出使用独立于主机的外围机,不占用主机的
CPU时间,是脱机过程,因此叫做脱机输入/输出方式
单道批处理系统
计算机发展的早期,没有任何用于管理的软件,所有的运行管理和具体操作都由用户自己承担,任何操作出错都要重做作业,CPU的利用率甚低。 解决的方法有两个:
首先配备专门的计算机操作员,程序员不再直接操作机器,减少操作机器的错误。
另一个是进行批处理,操作员把用户提交的作业分类,把一批中的作业编成一个作业执行序列。每一批作业将有专门编制的监督程序(monitor)自动依次处理。 说明:
监督程序的作用:用来装入用户作业,和用户作业交替地使用CPU。
“批”的含义:供一次加载的磁带或磁盘,通常由若干个作业组装成,在处理中使用一组相同的系统软件(系统带)。 关于“作业”的说明:通常,把计算机完成用户算题任务所需进行的各项工作称为一道作业。
多道批处理系统
早期的批处理可能出现两种情况:
? 对于以计算为主的作业,输入输出量少,外围设备空
闲;
? 对于以输入输出为主的作业,主机空闲。
问题的提出
在早期的单道批处理系统中,内存中仅有单个作业在运行,致使系
统中仍有许多资源空闲,设备利用率低,系统性能较差。
多道程序设计技术
若当前作业因等待I/O而暂停,CPU只能空闲直至该I/O完成
对于科学计算问题,CPU操作密集,CPU浪费时间少
对于商业数据处理,I/O操作密集,I/O等待时间常占80%-90% 解决办法
将内存分几个部分,每部分放不同的作业 当一个作业等待I/O时,CPU可被另一作业使用 在主存中同时驻留多个作业
多道程序设计
多道程序设计是指允许多个程序同时进入一个计算机系统的主存储
器并启动进行计算的方法。
合理搭配I/O为主和计算为主的程序交替运行,充分利用资源,提高系统效率。
多道程序的运行特点:
多道:计算机内存中同时存放多道相互独立的程序。
宏观上并行运行:同时进入系统的几道程序都处于运行状态,但都未运行完。
微观上串行运行:各作业轮流使用CPU,交替执行。
实现技术:当正在运行的程序因I/O暂停执行时,系统可调度另一道程序运行,使CPU保持忙碌。
例题:有两道程序A、B,按下图以多道程序方式运行,要求在右图画出它们的运行轨迹,并计算在60ms内,CPU的利用率,假设起始时首先运行B,并允许忽略监督程序切换A、B的时间(不考虑I/O的冲突)。
分时系统
概念:时间片、终端、响应时间