第一章 操作系统的概述
为什么要有操作系统
- 用户几乎不可能使用裸机。
- 计算机硬件只能识别0.1二值机器码。
- 机器码直观性差,容易出错,难于交流。
- 因此,通常在计算机硬件之上会覆盖一层软件,以方便用户使用计算机硬件。
什么是操作系统?
- CPU是计算机硬件的核心,是计算机系统的内脏。
- 操作系统则是计算机软件的核心,是计算机系统的大脑。
- 操作系统是整个计算机系统的控制中心,是计算机系统中首要的、最重要的、最复杂的系统软件。
- 操作系统是管理计算机硬件的程序。
- 操作系统在计算机用户和计算机硬件之间起媒介作用的一种程序。
系统部件的抽象观点
注意:操作系统处于硬件之上的第一层软件,是对硬件的首次扩充,又是其他软件运行的基础。
comouter hardware: 提供基本的运算资源(CPU,内存,I/O 设备)
Operating system:在各种应用程序和用户之间控制与协调对硬件的使用。
Applications programs:定义解决用户问题的资源使用方式(编译、数据库、视频游戏、事务程序)
User :用户(人,机,其他计算机)
操作系统的目标
- 执行用户程序并使用户问题更易解决
- 是计算机系统更易使用
- 以一种有效率的方式使用硬件
操作系统的其他定义
- 资源分配者:管理和分配资源
- 控制程序:控制用户程序的运行和I/O设备的操作
- 内核:在全时运行的一个程序(其他的是应用)
操作系统的作用
- 计算机硬件、软件资源的管理者
- 用户使用计算机硬件、软件的接口
也可以这么理解: 对用户----接待员; 对系统-----管家婆
操作系统的发展
人工操作方式
工作方式:
编程语言:机器语言
I/O:纸带或卡片
缺点:
①: 用户独占全机,独占系统的全部硬件资源,设备利用率低
②: COU等待用户: 手工装入 / 卸取纸带或卡片
主要矛盾:
人机矛盾:人工操作方式与及机器利用率的矛盾
CPU与 I/O之速度不匹配的矛盾
提高效率的途径:
- 批处理
- 脱机I/O
脱机I/O方式
概念:使用磁带作为输入/输出的中介,这种具体的输入/输出不需要在主计算机上进行的方式称 “脱机输入/输出”
优点:
- 减少了CPU的空闲时间
- 提高了I/O速度
单批道处理系统
概念:由监督程序将磁带上的第一个作业装入内存,并把运行控制权交给该作业;当该作业处理完成时,又把控制权交还给监督程序,再由监督程序把磁盘上的第二个作业调入内存。
注意: 它的内存中始终保持一道作业。
优点:减少了CPU的空闲时间,提高了主机CPU和I/O设备的使用效率,提高了吞吐量。
缺点:CPU和I/O设备使用忙闲不均。资源得不到充分利用
“忙闲不均”的意思是CPU运行时,I/O设备就停止;I/O运行时,CPU就停止。
运行特性:
- 顺序性: 磁带上的各道作业是顺序的进入内存,各作业的完成顺序与他们进入内存的顺序相同。
- 单道性:内存中仅有一道程序在运行。
- 自动性
多道批处理系统
多道的概念:内存中同时存放几个作业,使之都处于执行的开始点和结束点之间多个作业共享CPU、内存、外设等资源。
设计目的:利用多批道处理提高资源的利用率
通道的概念:是一种专用部件,负责外部设备和内存之间信息的传输。
中断:指主机接到外界的信号(来自CPU外部或内部)时,立即中止原来的工作,转去处理这一外来事件,处理完后,主机又回到原来工作点继续工作。
工作机制:多道通过组织作业使得CPU总在执行其中一个作业,从而提高了CPU的利用率。
运行特性:
- 多道性:内存中驻留多道程序并发执行,从而有效的提高了资源利用率和系统吞吐量。
- 无序性:作业的完成顺序与他进入内存的顺序之间无严格的对应关系。
- 调度性:作业调度,进程调度。
优点:
- 资源利用率高:CPU,内存,I/O设备。
- 系统吞吐量大。
缺点:
- 无交互能力,用户响应时间长。
- 作业平均周期时间长。
多道程序对OS特点的要求
- 存储管理:系统必须为若干作业分派空间。
- CPU调度:系统必须在就绪作业中挑选。
- 资源竞争和共享:,满足各道程序运行的需要,提高处理机的效率
- 设备分配:采取适当的策略来分配系统中的I/O设备,方便用户对设备的使用。
- 系统提供I/O程序
- 文件的组织和管理问题:有效的组织存放在系统中的大量的程序和数据,方便用户使用。
分时系统
分时系统-交互式计算
两种实现方式:
1.多个用户分时:
单个用户使用计算机的效率低,因而允许多个应用程序同时在内存中,分别服务于不同的用户。有用户输入时由CPU执行,处理完一次用户输入程序暂停,等待下一次用户输入 – 时走时停
2.前台和后台程序分时:
后台程序不占用终端输入输出,不与用户交互 – 现有的图形用户界面(GUI),除当前交互的程序(输入焦点)之外,其他程序均作为后台。
注意: 通过按时间片分配:各个程序在CPU上执行的轮换时间。
及时接收:配置一个多路卡(作用是实现分时多路复用),即主机以很快的速度周期性的扫描各个终端,在每个中端处停留很短的时间,来接收从终端发来的数据。
还需要为每个终端配置一个缓冲区,用来缓存用户键入的命令(或数据)。
及时处理:用户键入命令,能对自己的作业及其运行及时的实施控制或进行修改。所以各个用户的作业都必须驻留在内存中,频繁的获得处理机运行。
分时系统实现人机交互的工作机制:
- 作业直接进入内存
- 每个作业一次只运行很短的时间
- 分时技术:把CPU的相应时间分成若干个大小相等(或不等)的时间单位,称为时间片,每个终端用户获得CPU后开始执行,当时间片到,该用户程序暂停运行,等待下一次运行。
分时系统的特点:
- 多路性:众多联机用户可以同时使用同一台计算机。
- 独占性:各终端用户感觉到自己独占了计算机。
- 交互性:用户与计算机之间可进行“会话”
- 及时性:用户的请求能在很短时间内获得响应。
实时系统
概念: 系统能及时响应外部事件的请求,在规定时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。
实时任务的类型:
- 周期性实时任务和非周期性实时任务:
周期性实时任务: 指定周期循环执行,周期性的控制某外部设备。
非周期性实时任务:无明显的周期性,但必须联系着一个截止时间(最后期限)------- 开始截止时间(某任务在某时间前必须执行)和完成截止时间(某任务在某时间前必须完成) - 硬实时任务和软实时任务:
硬实时任务:系统必须满足任务截止时间的要求。错过截止时间,会发生难以预测的后果。
软实时任务:也会联系一个截止时间,但并不严格,错过了截止时间,也无太大影响。
实时任务的特点:
- 多路性: 系统周期性的堆多路现场信息进行采集,对多个对象或对个执行机构进行控制。
- 独立性:对信息的采集和对对象的控制是彼此不干扰的。
- 及时性:是以对控制对象所要求的的截止时间来确定的。
- 交互性:只适用于特定的专用服务程序或用户发送特定的命令。
- 可靠性:采取了多级容错措施来保障系统的安全性及数据的安全性。