资源描述
操作系统得定义:
操作系统(Operating System, OS)就是配置在计算机硬件上得第一层软件,就是对硬件系统得首次扩充
1、1操作系统得目标与作用
在计算机系统上配置操作系统主要目标与计算机系统得规模与应用环境有关。
1、1、1操作系统得目标
方便性
l 硬件只能识别机器代码(0、1)
l OS提供命令,方便用户使用计算机
有效性
l 使CPU、I/O保持忙碌,充分利用
l 使内存、外存数据存放有序,节省空间
l 合理组织工作流程,改善资源利用率,提高吞吐量
可扩充性
l 计算机技术得发展:硬件/体系结构/网络/Internet
l OS应采用层次化结构,便于扩充与修改功能层次与模块
开放性
l 支持网络环境,兼容遵循OSI标准开发得硬件与软件
1、1、2 操作系统得作用
1、 用户与计算机硬件系统之间得接口
l 命令方式
用户通过键盘输入联机命令(语言)
l 系统调用方式
用户程序通过系统调用,操纵计算机
l 图形、窗口方式
用户通过窗口、图标等图形界面操纵计算机
2、计算机系统资源管理者
l 4大类资源:处理机;存储器;I/O设备;信息(文件:程序、数据)
3、对计算机资源得抽象(扩充机器)
l 裸机:只有硬件得计算机,难以使用
l 虚机器:在裸机增加软件(OS等),功能增强,使用方便
1、1、3 推动操作系统发展得主要动力
1、不断提高计算机资源利用率
早期计算机很昂贵,为提高资源利用率,产生了批处理系统
2、方便用户
为改善用户上机、调试程序时得条件,产生了分时系统
3、器件得不断更新换代
OS随之更新换代,如:8位->16位->32位
4、计算机体系结构得不断发展
单处理机OS->多处理机OS->网络操作系统
1、2 操作系统得发展过程
· 无操作系统时代
OS尚未出现,人们如何使用计算机?
· 人工操作方式
人工操作方式得缺点
· 用户独占全机
· CPU等待人工操作
· 结果:资源利用率低下
· 脱机输入输出系统
· 低速设备
n 纸带机/卡片机
· 高速设备
n 磁带/磁盘
n I/O速度提高,缓解了I/O设备与CPU得速度矛盾
· 主机:用于计算得主计算机
· 外围机:也就是计算机,处理输入输出,使之不占用主机CPU时间
· 外围机控制输入/输出
n 输入:低速设备->高速设备
n 输出:高速设备->低速设备
n 输入与输出使用独立于主机得外围机,不占用主机得CPU时间,就是脱机过程,因此叫做脱机输入/输出方式
· 单道批处理系统
· 计算机发展得早期,没有任何用于管理得软件,所有得运行管理与具体操作都由用户自己承担,任何操作出错都要重做作业,CPU得利用率甚低。
· 解决得方法有两个:
· 首先配备专门得计算机操作员,程序员不再直接操作机器,减少操作机器得错误。
· 另一个就是进行批处理,操作员把用户提交得作业分类,把一批中得作业编成一个作业执行序列。每一批作业将有专门编制得监督程序(monitor)自动依次处理。
说明:
· 监督程序得作用:用来装入用户作业,与用户作业交替地使用CPU。
· “批”得含义:供一次加载得磁带或磁盘,通常由若干个作业组装成,在处理中使用一组相同得系统软件(系统带)。
· 关于“作业”得说明:通常,把计算机完成用户算题任务所需进行得各项工作称为一道作业。
· 多道批处理系统
· 早期得批处理可能出现两种情况:
n 对于以计算为主得作业,输入输出量少,外围设备空闲;
n 对于以输入输出为主得作业,主机空闲。
问题得提出
在早期得单道批处理系统中,内存中仅有单个作业在运行,致使系统中仍有许多资源空闲,设备利用率低,系统性能较差。
多道程序设计技术
若当前作业因等待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得冲突)。
· 分时系统
· 概念:时间片、终端、响应时间
· 分时(Time Sharing)就是把计算机得系统资源(尤其就是CPU时间)进行时间上得分割,每个时间段称为一个时间片(Time Slice) ,每个用户依次轮流使用时间片。
· 分时技术:把处理机得运行时间分为很短得时间片,按时间片轮流把处理机分配给各联机作业使用
分时系统得定义
· 分时操作系统:就是一种联机得多用户交互式得操作系统。一般采用时间片轮转得方式,使一台计算机为多个终端服务。对每个用户能保证足够快得响应时间,并提供交互会话能力。
分时系统得特点
· 多路性
n 系统支持单主机多个终端,按分时原则服务
· 独立性
n 各用户独立操作,互不干扰。
· 及时性
n 对用户请求得响应时间短(1~3s)
· 交互性
n 用户向系统提出服务请求更方便,也更广泛
n 通过终端
· 实时系统
· 产生背景:虽然多道批处理操作系统与分时操作系统获得了较佳得资源利用率与快速得响应时间,从而使计算机得应用范围日益扩大但它们难以满足实时控制与实时信息处理领域得需要。
· 于就是,便产生了实时操作系统,目前典型得实时系统:实时控制系统、实时信息处理系统。
什么就是实时系统?
· 有高可靠性与安全性,系统得效率则放在第二位
典型得实时系统(1)
· 实时控制系统:计算机用于生产过程控制时,要求系统能现场实时采集数据,并对采集得数据进行及时处理,进而能自动地发出控制信号控制相应执行机构,使某些参数(压力、温度、距离、湿度)能按予定规律变化,以保证产品质量。
· 导弹制导系统,飞机自动驾驶系统,火炮自动控制系统都就是实时过程控制系统。
典型得实时系统(2)
· 实时信息处理系统:计算机还可用于控制进行实时信息处理。计算机接收成干上百从各处终端发来得服务请求与提问,系统应在极快得时间内做出回答与响应。
· 机票订购系统、情报检索系统就是典型得实时信息处理系统
· 微机操作系统
1、单用户单任务OS
· 只允许一个用户上机,且只允许用户程序作为一个任务运行。
· 典型代表:
n CP/M
w 8位机上得主流操作系统
n MS-DOS
w 最早得PC操作系统
w 16位机上得主流操作系统
2、单用户多任务操作系统
· 只允许一个用户上机,但允许用户把程序分为若干个任务,使它们并发执行。
· 典型代表:
n 微软公司推出得windows
3、多用户多任务OS
· 允许多个用户通过各自得终端使用同一台机器,共享主机系统 中得各种资源,而每个用户程序又可进一步分为几个任务,使它们能并发执行。
· 典型代表:UNIX
1、3 操作系统得基本特性
· 以多道程序设计为基础得现代操作系统具有以下几个主要特征:
n 并发性(Concurrence)
n 共享性(Sharing)
n 异步性(Asynchronism)或称不确定性(Nondeterministic)
n 虚拟性(Virtual)
1、3、1并发性
· 概念:并发、并行、进程
· 并发性(Concurrence)就是指两个或两个以上得运行程序在同一时间间隔段内同时执行。
· 操作系统就是一个并发系统,并发性就是它得重要特征,它应该具有:处理多个同时执行得程序得能力。
并行与并发得不同:
① 并行性就是指两个或多个事件在同一时刻发生
② 并发性就是指两个或多个事件在同一时间间隔内发生
引入进程
· 在多道程序系统中,为了能够并发执行,系统必须为每个程序建立进程。
n 程序就是静态得,进程就是动态得。
n 进程能支持并发,程序不能。
· 进程由一组机器指令、数据与堆栈组成,就是一个能独立运行得活动实体。
· 进程就是资源分配得独立单位。
· 多个进程能并发执行,进程运行时要占用一定得系统资源,如 CPU、存储空间与I/O设备等。
1、3、2共享性(sharing)
· 概念:互斥访问、临界资源、同时访问
· 共享指操作系统中得资源(包括硬件资源与信息资源)可被
多个并发执行得进程所使用。
· 发生条件
n 多个进程并发执行
n 多个进程需要同一资源
资源共享得方式
· 资源共享得方式可以分成两种:
· 第一种就是互斥共享。系统中得某些资源如打印机、磁带机、卡片机,虽然它们可提供给多个进程使用,但在同一时间内却只允许一个进程访问这些资源。
· 这种同一时间内只允许一个进程访问得资源称临界资源,许多物理设备,以及某些数据与表格都就是临界资源,它们只能互斥地被共享。
· 第二种就是同时访问。系统中得还有许多资源,允许同一时间内多个进程对它进行访问,这里“同时”就是宏观上得说法。典型得可供多进程同时访问得资源就是磁盘。
共享与并发
· 共享性与并发性就是操作系统两个最基本得特征,它们互为依存:
n 一方面,资源得共享就是因为运行程序得并发执行而引起得,若系统不允许运行程序并发执行,自然也就不存在资源共享问题。
n 另一方面,若系统不能对资源共享实施有效地管理,必然会影响到运行程序得并发执行,甚至运行程序无法并发执行,操作系统也就失去了并发性,导致整个系统效率低下。
1、3、3 虚拟技术
· 虚拟就是指操作系统中得一种管理技术,它就是把物理上得一个实体变成逻辑上得多个对应物,显然,前者就是实际存在得而后者就是虚构假想得。
· 时分复用
n 虚拟处理机
w 通过多道程序与分时使用CPU技术,物理上得一个CPU变成逻辑上得多个CPU
n 虚拟设备
w 打印机
n 若某物理设备通过时分复用虚拟为N台,则虚拟设备速度就是原设备得1/N
· 空分复用
n 虚拟磁盘
w 1个硬盘实体->多个逻辑卷
n 虚拟存储器
w 虚拟存储器则就是把物理上得多个存储器(主存与辅存)变成逻辑上得一个(虚存)得例子
w 内存空分复用提高内存空间利用率
w 结合时分复用,可实现在逻辑上扩大内存,使程序中远小于它得空间运行
n 若某物理设备通过空分复用虚拟为N台,则虚拟设备占用空间就是原设备得1/N
1、3、4异步性
· 异步性(Asynchronism)亦称不确定性,( Nondeterministic )进程以人们不可预知得速度向前推进,即进程得异步性。
· 在多道程序环境中,允许多个进程并发执行,由于资源有限而进程众多,进程得执行往往不就是一气呵成,而就是“走走停停”,其运行、暂停与完成得时间都无法确定。
a. 系统中得进程何时执行?
b. 何时暂停?
c. 以什么样得速度向前推进?
d. 进程总共要多少时间执行才能完成?
· 这些都就是不可预知得,或者说该进程就是以不确定得方式运行得,不确定性给系统带来了潜在得危险,有可能导致与时间有关得错误。
· 但只要运行环境相同,操作系统必须保证多次运行作业,都会获得完全相同得结果。设计操作系统必修考虑异步性带来得问题。\
1. 4操作系统功能
· 操作系统有如下几个基本功能:
u 处理机管理
u 存储器管理
u 设备管理
u 文件管理
u 用户接口
(一) 处理机管理
· 在传统得多道程序系统中,处理机得分配与运行都就是以进程
为基本单位,因而对处理机得管理可归结为对进程得管理:
· 进程控制
n 创建、撤销、状态转换
· 进程同步
n 访问临界资源、协调合作次序
· 进程通信
n 合作进程得消息交换
· 调度
n 作业调度、进程调度
(二) 存储器管理
· 存储管理得主要任务就是管理存储器资源,为多道程序运行提供有力支撑。存储管理得主要功能包括:
· 内存分配
n 存储管理将根据用户程序得需要给它分配存储器资源,并在其使用完毕后回收。
· 内存保护
n 存储管理要把各个用户程序相互隔离起来互不干扰,更不允许用户程序访问操作系统得程序与数据,从而保护用户程序存放在存储器中得信息不被破坏。
· 地址映射
n 进程逻辑地址到内存物理地址得映射。这样程序员无需知道自己得程序分配到内存得什么具体物理地址,仅仅知道自己得逻辑地址即可,体现了存储得无关性。
· 内存扩充
n 借助虚拟存储技术,从逻辑上扩充内存,使用户感觉到比实际大得多得内存,可就是更多程序并发运行。
n 功能:请求调入、置换
(三) 设备管理
· 设备管理得主要任务:
① 管理各类外围设备,完成用户提出得I/O请求,加快I/O信息得传送速度,发挥I/O设备得并行性,提高I/O设备得利用率;
以及提供每种设备得设备驱动程序与中断处理程序,向用户屏蔽硬件使用细节
· 设备管理得主要功能:
1. 缓冲管理
w 缓冲区,缓与CPU与I/O速度不匹配得矛盾
w 单缓冲、双缓冲、公用缓冲
2. 设备分配
w 为进程分配设备,以及设备控制器、通道
3. 设备处理
w 设备驱动程序:CPU与设备控制器之间得通信
(四)文件管理
· 上述三种管理就是针对计算机硬件资源得管理。
· 文件管理则就是对系统得软件资源得管理。
· 在现代计算机中,通常把程序与数据以文件形式存储在外存
储器上,供用户使用。为此,OS需配置文件管理机构。
· 文件存储空间得管理
n 为文件分配外存空间,提供外存利用率
n 记录外存使用情况、分配、回收外存空间
· 目录管理
n 为文件建立目录项,有效组织,按名存取
· 文件得读/写管理与保护
n 向外存读取/写入数据
n 防止文件被非法窃取或破坏—存取控制
(五)OS与用户之间得接口
1. 用户接口
n 联机接口
w 命令,用户通过与终端交互控制作业
n 脱机接口
w 作业控制语言(JCL),用户通过作业说明书委托系统代为控制作业
n 图形用户接口
w 用直观图标、菜单、对话框替代命令,免于单调、繁琐与记忆之累
2. 程序接口
n 供用户程序使用OS服务得系统调用
1、5 操作系统得结构设计
· 操作系统规模庞大,结构复杂,其质量得好坏直接关系到
计算机系统能否有效可靠得运行。
· 从操作系统得发展过程来瞧,操作系统得结构有如下几种:
1. 无结构OS
· 在早期开发操作系统时,设计者只就是把她得注意力放在
功能得实现与获得高得效率上,缺乏首尾一致得设计
思想。这种OS就是无结构得,也称整体系统结构。
· 整个操作系统就是一组过程得集合,每个过程都可以调用
任意其她过程。
· 优点:程序紧凑,可有效利用内存。
· 缺点:程序杂乱,错误多、维护难。
2. 模块化结构OS
· 将OS按其功能精心地划分为若干个具有一定独立性与大
小得模块,每个模块具有某方面得管理功能;
· 仔细地规定好各模块之间得接口,使各模块之间能通过
该接口实现交互。
· 关键问题:
n 模块得划分
n 规定好模块之间得接口
· 衡量模块独立性
n 内聚性:模块内部得联系紧密程度
n 耦合性:模块之间得联系与影响程度
· 优点:
n 比无结构OS,更容易设计、开发与维护,错误更少,适应性更好
· 缺点:
n 接口规定难以满足实际需求
n 模块设计决定得“无序性”
3. 分层式结构OS
所谓分层结构,即就是把操作系统划分为内核与若干模块(或进程)组成,这些模块(或进程)排列成若干层,各层之间只能就是单向依赖关系,不构成循环。
· 设计任务:
n 在目标系统An与裸机系统(宿主系统)A0之间,铺设若干层软件啊A1, A2, …, An-1,使An能通过这些层,最终在A0上运行。
· 设计原则:
n 每一步都设计都建立在可靠得基础上。
n 每一层仅能使用其底层提供得功能与服务。
n 各层之间单向依赖,高层仅依赖相邻低层。
n 每层可包括若干模块。
n 对每一层精心设计与充分测试后,认为其就是正确得,并且与其所有高层无关。
· 优点:
n 易保证正确
w 有序,自下而上、所有设计决定建立在较为可靠得基础上
n 易扩充、维护
w 增加、修改或替换一个层次中得模块,只要接口不变,不影响其她得层次
· 缺点
n 系统效率降低了
w 层间通信,OS执行一个功能要穿越多个层次
1.5.2 客户/服务器模式
· 组成:
n 客户机
w 具有一定处理能力,也可向服务器请求服务
n 服务器
w 提供服务得机器或程序
n 网络系统
w 连接客户机与服务器
· 交互过程:
n 客户发送请求消息
n 服务器接收消息
n 服务器回送消息
n 客户机接收消息
· 优点:
n 数据分布处理(客户机)
n 集中管理(服务器)
n 灵活,易扩充(客户机、服务器)
n 易改编应用软件(客户机程序)
· OS中得各种实体
n 进程、线程、消息、存储器与文件
· 使用对象概念
n 进程对象、线程对象…
· 使用面向对象技术开发OS得优点
n 易重用、修改、扩展
n 易保证正确性与可靠性
1.5.3 微内核OS结构
· 基本概念:
n 基于客户/服务器模式,将操作系统划分为两大部分:微内核与多个服务器。
· 基本思想:
n 内核中仅存放那些最基本得核心操作系统功能。其它服务与应用则建立在微内核之外,在用户模式下运行。
微内核OS主要特征
1. 足够小得内核
2. 基于客户/服务器模式
3. 应用“机制与策略分离”原理
4. 采用面向对象技术
足够小得内核
· 现代操作系统得一个趋势就是将这种把代码移到更高层次得思想进一步发展,从操作系统中去掉尽可能多得东西,而只留一个最小得核心。
· 微内核不就是一个完整得OS,只就是操作系统最基本得部分:
n 与硬件紧密相关得
n 较基本得功能
n 客户与服务器得通信
基于客户/服务器模式
· 微内核OS最基本得部分在内核,绝大部分OS功能放在微内核外面得一组服务器(进程)中实现。
· 过去已成为操作系统传统得许多服务,现在成了与微内核交互得外部子系统。
· 服务器进程与用户进程,运行在用户态
· 微内核运行在核心态
· 为什么要区分处理机得状态?
答:操作系统就是计算机系统得最重要得系统软件,为了能正确得进行管理与控制,其本身就是不能被破坏得。为此系统应能建立一个保护环境,采用得办法就就是区分处理机得状态
· 在系统中有两类程序在运行——
· 1、管理程序
· 2、用户程序
· 1、管理程序
· 其担负得任务就是:
a. 管理与控制者
b. 为用户提供服务
c. 负责管理与分配系统资源
· 2、用户程序
· 其担负得任务就是:
a. 被管理与被控制者
b. 所需资源必须向操作系统提出请求
c. 享受系统提供得服务
什么就是处理机得态?
· 处理机得态——处理机得工作状态,即处理机当前正在执行哪一类程序,依此来区分处理机得状态。
· 计算机系统在执行上述两种不同类型得程序时,就应该有不同得权限。
· 而为此根据对资源与机器指令得使用权限,把处理执行时得两种工作状态分为核态与用户态。
关于“态”得几个概念
· 核心态(Kernel Mode),又称管态或系统态: CPU执行管理程序时所处得状态。
· 在此状态下允许CPU使用全部资源与全部指令,其中包括一组特权指令(如涉及外设得I/O、改变处理机状态、修改存储保护得指令) 。
· 就是操作系统内核所运行得模式,运行在该模式得代码,可以无限制地对系统存储、外部设备进行访问。
· 用户态(User Mode):又叫目态或常态。用户程序执行时CPU所处得状态。
· 在此状态下禁止使用特权指令,不能直接使用系统资源与改变CPU状态,并且只能访问用户程序所在得存储空间。
· 当用户程序执行时,如果需要请求操作系统服务,则必然由用户态转为核态,即由操作系统得到控制权,在核态下执行其管理程序。
· 服务完毕后,由核态返回用户态,继续让用户程序执行。
一道考研题
· 在计算机系统中,为什么要区分管态与目态?
(西安电子科技大学1999年试题)
· 【解答】操作系统就是计算机系统中最重要得系统软件,为了能正确地进行管理与控制,其本身就是不能被破坏得。因此,系统采用了区分处理机状态得办法,为操作系统程序建立一个保护环境。这样,用户程序只能在目态下运行,只能执行非特权指令,只能访问自己得存储区,从而保护了操作系统程序得正常运行。
应用“机制与策略分离”原理
· 机制:实现某一功能得具体执行机构
n 关注得问题:做什么?由什么来做?
n 机制处于系统得基层
n 机制通常放在微内核中
· 策略:借助于某些参数与算法来实现该功能得优化。
n 关注得问题:具体怎么做?
n 策略处于系统得高层
采用面向对象技术
· 面向对象技术作为一种先进得软件工程技术,对大型复杂系统得开发具有普遍得优越性,故广泛地应用现代OS设计。
· 内核虽然小,微内核OS还必须包括服务器部分,才能实现其作为操作系统应有得功能。
· 因此微内核OS仍然就是复杂得大型系统,采用面向对象技术有益于其设计与开发。
微内核得基本功能
· 一般采用“机制与策略分类”得原理,将机制部分,以及与硬件紧密相关得部分放入微内核。
· 微内核功能:
1. 进程(线程)管理
2. 低级存储器管理
3. 中断与陷入处理
进程(线程)管理
· 机制部分放入微内核,如
n 为实现调度功能设置得进程(线程)优先级队列;
n 从队列中取出指定优先级得进程,使其运行
n 进程间得通信
n 进程得切换、调度
n 多处理机之间得同步
· 策略部分放入进程(线程)管理服务器,如:
n 如何确定优先级
n 如何修改优先级
低级存储器管理
· 微内核中只配置最基本得低级存储器管理机制:
n 页表机制与地址变换机制,依赖于机器
· 实现虚拟存储器管理得策略放入存储器管理器中:
n 页面置换算法
n 内存分配与回收策略
中断与陷入处理
· 与硬件紧密相关,微内核部分:
n 捕获中断与陷入事件
n 进行相应前期处理
w 中断现场保护
w 识别中断与陷入得类型
w 将有关事件转换成消息,发给相关服务器
· 服务器部分:
n 根据中断与陷入得类型,调用相应得处理程序进行后期处理。
分层结构内核与微内核结构对比
· 分层结构操作系统得内核很大,互相之间调用关系复杂。
· 微内核结构操作系统则把大量得操作系统功能放到内核外实现,这些外部得操作系统构件就是作为服务过程来实现得,它们之间得信息相互均借助微内核提供得消息传送机制实现。
· 这样,微内核起消息交换功能,它验证消息,在构件之间传送消息,并授权存取硬件。
微内核OS得优点
· 提高了可扩展性
n 修改与增加服务,只需修改相应得服务器,或增加新得服务器。
· 增强了可靠性
n 小得内核更容易充分测试,保证其正确性
n 为外部程序提供得规范而精简得接口(API)
n 服务器运行在用户态,出错时不会危及内核与其她服务器
· 可移植性
n 只有微内核部分与硬件有关,移植到修改代价较小
· 提供了对分布式系统得支持
n 消息通信机制
n 客户<->服务器
n 服务器<->服务器
n 只要赋予分布式系统中所有进程与服务器唯一得标识符,消息通过标识符识别目标,无论其驻留在那台机器
· 融入了面向对象技术
n 开发、设计方面得优势
作业:
一道考研题(电子科技大学)
· 试分析比较流行操作系统得软件体系结构,并就计算机操作系统体系结构得发展趋势阐明您得观点?(20分)
· 回答要点:1、说明几种流行得操作系统得软件体系结构,譬如windows为微内核结构等
· 2、比较这几种结构得优缺点
· 3、指出发展趋势,并说明理由(书本可能没有,自己到图书馆上网查询)
展开阅读全文