操作系统 第7章操作系统的接口
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
北京林业大学信息学院
操作系统的接口种类
操作系统是用户与计算机系统之间的接 口,用户在操作系统的帮助下,可以安 全可靠、方便、快速地使用计算机系统。 操作系统的三种接口 命令级接口 程序级接口 图形级接口
北京林业大学信息学院
(一)命令级接口
系统提供作业控制语言或操作控制命令,来 使用户利用这些命令组织和控制作业的执行。
JOB1 JOB2 JOB3 JOB4
北京林业大学信息学院
最高响应比优先作业算法计算结果
估计运 开始时 结束时 行时间 间 间 (分钟) JOB1 120 8:00 8:00 10:00 JOB2 50 8:50 10:10 11:00 JOB3 10 9:00 10:00 10:10 JOB4 20 9:50 11:00 11:20 作业平均周转时间 T = 102.5 作业带权平均周转时间 W = 3.775 作业 进入时 间 周转时 带权周 间 转时间 (分钟) 120 1 130 2.6 70 7 90 4.5 410 15.1
北京林业大学信息学院
作业的处理过程
运行
待 等 O I/
进 调 程 度
完成
作业调度 用户 提交 收容 就绪
I/O 完成
阻塞
执行 作业录入 作业调度
作业提交:作业的输入; 作业执行:先到"就绪",经调度"运行",有I/O请求" 等待",I/O完成到"就绪" 作业完成:作业的输出;
北京林业大学信息学院
北京林业大学信息学院
访管指令
用户程序在算态下运行,只能使用算态指令,而
操作系统是系统程序,在管态下运行,它既可使用算
态指令,也能使用特权指令。而用户要使用外设, 必须在管态下完成, 因而引入访管指令。 访管指令主要功能为: ① 实现从算态到管态的改变; ② 在管态下由操作系统代替用户完成其请求; ③ 操作系统工作完成后由管态返回到算态。
北京林业大学信息学院
JCB是在一个表格中填写用于控制作业执行的相关信息, 相当一个信息记录。
作业名 JCB 1 Job-a Job-b Job-c 执行时间 15 7 30 优先数 4 5 2 … … … … 外存地址 3000H 7600H 6020H
JCB 2
JCB 3
. .Βιβλιοθήκη …………
…
JCB n
北京林业大学信息学院
最短作业优先作业算法计算结果
作业 估计运 开始时 结束时 行时间 间 间 (分钟) 120 8:00 8:00 10:00 50 8:50 10:30 11:20 10 9:00 10:00 10:10 20 9:50 10:10 10:30 作业平均周转时间 T = 95 作业带权平均周转时间 W = 3.25 进入时 间 周转时 带权周 间 转时间 (分钟) 120 1 150 3 70 7 40 2 380 13
先来先服务(FCFS: First Come First Serve ): 按照作业进入系统的先后次序进行调度,先进入 系统者先调度;即启动等待时间最长的作业。 优点:实现简单、公平 缺点:没考虑资源利用率和作业的特殊性
北京林业大学信息学院
作业调度算法
短作业优先(SJF: Shortest Job First ): 以要求运行时间长短进行调度,即启动要求运 行时间最短的作业。
作业的建立
发作业 输入请求 中断信号
一个作业建立过程的两个子过程: 作业的输入 JCB的建立 作业控制块JCB和作业一一对应
作业1的 程序和数据 作业2的 程序和数据
外存
JCB1 JCB2
发作业 输入完毕 中断信号
CPU
作业队列,有资格 申请内存和CPU
北京林业大学信息学院
作业控制块(JCB)
北京林业大学信息学院
程序接口--系统调用
北京林业大学信息学院
系统调用
指系统为用户程序调用操作系统核心中实现系统功
能的过程(子程序) 是用户在程序中调用操作系统所提供的一些子功能, 是特殊的过程调用,由特殊的机器指令实现这个指令, 还将系统转入管态。 是操作系统提供给编程人员的唯一接口,利用系统调 用,动态请求和释放系统资源,完成与硬件相关的工作 以及控制程序的执行等。 在系统中为控制系统调用服务的机构称为陷入(trap) 处理机构,与此相对应访管指令也称为陷入指令 。 实际上系统调用语句本身是硬件提供的(机器指令), 但其所调用的功能是操作系统提供的。
北京林业大学信息学院
(二)程序级接口
是系统为用户在程序一级提供有关服务而设 置的接口。 由一组系统调用命令组成
负责管理和控制运行的程序
并在这些程序与系统控制的资源和提供的服务间
实现交互作用 用汇编语言:在程序中直接用系统调用命令 用高级语言:可在编程时使用过程调用语句
北京林业大学信息学院
(三)图形级接口
它直接支持命令接口和程序接口, 面对交互式操作和非交互式操作,提供 屏幕、表格、视窗和其它可视化交互功 能(如窗口、菜单、按钮和对话框等), 以标准方式使用户与系统沟通,提供一 个易使用的操作平台。用户在此平台上, 可以方便地寻找和使用命令、执行各类 程序、完成各种操作。
北京林业大学信息学院
长短、等待时间等;
北京林业大学信息学院
作业调度性能衡量指标
(1)作业平均周转时间T
Ti为每个作业的周转时间; tc作业完成时刻; ts作业进入系统时刻;
北京林业大学信息学院
作业调度性能衡量指标
(2)平均带权周转时间W
Ti为每个作业的周转时间; tr为作业实际运行时间;
北京林业大学信息学院
作业调度算法
(1) 联机接口(交互式)
由一组命令向操作系统提出请求。用户在终端上 输入命令,系统立即解释并执行该命令,完成用户 的要求,然后返回终端或控制台;用户可输入下一 条命令,如此反复直到作业完成。
北京林业大学信息学院
(2) 脱机接口
在批处理系统中,用户通过作业控制 语言(JCL)向系统提出对作业控制要 求 OS向用户提供一组作业控制语言,用 户用这种语言书写作业说明书,然后 将程序、数据和作业说明书一齐交给 系统操作员 脱机用户不能直接干预系统
优点:易于实现,强调了资源的充分利用,保证了 系统的最大吞吐量(单位时间里处理作业的个数)。 缺点:不公平,会造成长作业长期等待。 结论:假设系统中所有作业同时到达,可以证明采 用SJF能得到最短的作业平均周转时间。
北京林业大学信息学院
作业调度算法
高响应比优先(HRF: Highest Response Ratio Next ):响应比最高的作业优先启动。
第 7章 操作系统接口
北京林业大学信息学院
系统态与用户态
在计算机系统中存在两类不同的程序:一类是 用户程序,一类是系统程序。而且用户程序必需 在系统程序的控制和管理下运行。 我们把用户工作的状态称为算态或用户态或目 态;将系统程序工作的状态称为管态或系统态。 引发管态的指令:有关对外设使用的指令,有 关访问程序状态的指令, 存取特殊寄存器指令
估计运 开始时 结束时 行时间 间 间 (分钟) JOB1 120 8:00 8:00 10:00 JOB2 50 8:50 10:00 10:50 JOB3 10 9:00 10:50 11:00 JOB4 20 9:50 11:00 11:20 作业平均周转时间 T = 112.5 作业带权平均周转时间 W = 4.975 作业 进入时 间 周转时 带权周 间 转时间 (分钟) 120 1 120 2.4 120 12 90 4.5 450 19.9
响应比 = 周转时间 / 估计运行时间 =(等待时间+估计运行时间)/ 估计运行时间 = 1 + 等待时间 / 估计运行时间 优点: 公平,吞吐率大 缺点: 增加了计算,增加了开销
北京林业大学信息学院
作业调度算法
高优先级优先(HPF:Highest Priority First):由用户指定作业优先级,优先级高 的作业启动。 资源均衡型调度:把作业分类,作业调度从不 同类型作业中去调度作业
作业
JOB1 JOB2 JOB3 JOB4
估计运 开始时 行时间 间 (分钟) 120 8:00 50 8:50 10 9:00 20 9:50 作业平均周转时间 T = 作业带权平均周转时间 W =
进入时 间
结束时 间
周转时 带权周 间 转时间 (分钟)
北京林业大学信息学院
先来先服务调度算法计算结果
批处理作业
作业的类别
交互式作业(终端作业) 作业:由不同的顺序相连的作业步组成。 作业步:在一个作业的处理过程中,计算机所做 的相对独立的工作。
典型的作业控制过程: “编译”、“连接装配”、 “运行”
作业流:一次有一批作业进入系统,并在操作系 统控制下,一个接一个地顺序进行处理。
北京林业大学信息学院
( job control block )
为了对输入系统的作业进行管理,系统 为每个作业建立一个作业控制块(JCB),其 中保存系统对于作业进行管理所需要的全 部信息,它们被保存于磁盘区域中。并将 各个作业的作业控制块按照作业进入的先 后顺序排成一个作业后备队列。从而使一 个作业队列建立起来,并设置一个链指针, 指向这个作业队列的头一个作业。
脱机接口(JCL)--作业管理
北京林业大学信息学院
作业的概念
一个作业是指在一次应用业务处理过程中, 从输入开始到输出结束,用户要求计算机所 做的有关该次业务处理的全部工作。
一个编程过程的作业实例:
需求分析
概念
修改
功能 设计
结构 设计
详细 设计
编辑 输入
建档
输出
执行
链接
编译
调试
北京林业大学信息学院
根据作业对资源要求分类:I/O型、CPU型和均衡型
北京林业大学信息学院
作业调度算法应用例子
假设在单道批处理环境下有四个作业, 已知它们进入系统的时间、估计运行时 间,应用先来先服务、最短作业优先和 最高响应比优先作业调度算法,分别计 算出作业的平均周转时间和带权的平均 周转时间。
北京林业大学信息学院
北京林业大学信息学院
作业调度
检查系统是否满足作业的资源要求,并一定算法 选取作业(从输入井的后备作业队列中选择适当的 作业,为它分配内存等资源并将其调入内存投入运 行) 。作业调度也称为宏观调度(高级调度)。
作业调度算法的评价因素
作业吞吐量:运行尽可能多的作业;
充分利用资源:CPU忙、I/O设备忙; 对各作业公平、合理,使用户满意:执行时间
作业控制块表格中可存放n个作业(即n个JCB信息)
北京林业大学信息学院
作业控制块(JCB)
作业控制块是一个表格,作业控制块包含了作业 描述信息和作业的资源请求信息以及作业在外存 输入井的地址位置。 当作业开始由输入设备向磁盘的输入井传输时, 系统输入程序为其建立一个作业控制块,进行初 始化,初始化的大部分信息取自作业说明书。 作业控制块的撤消:作业完成后,其作业控制块 由系统输出程序撤消,作业控制块被撤消后其作 业也不复存在。
系统调用
北京林业大学信息学院
系统调用read的执行过程
第1-3步,通过把参数压入堆栈,记录read执行要求 第4步,对read的库过程进行实际调用 第5步,系统调用的编号被写入特定位置 第6步,执行TRAP指令切换到系统态 第7步,内核根据编号找到正确的read系统调用处理 程序。 第8步,系统根据参数而运行处理程序 第9步,执行完毕,TRAP指令返回read库过程 第10步,从库过程把结果返回给调用位置的SP堆栈 第11步,调用完了read,用户程序清除堆栈。
北京林业大学信息学院
系统调用
操作系统和用户程序之间的接口是通过 操作系统提供的一套系统调用来定义的。 在某种意义上,进行系统调用就像进行 一个特殊的过程调用,但是只有系统调 用可以进入内核(系统态),而过程调 用则不能。 系统调用是通过一系列步骤完成,如下 图,read的过程
北京林业大学信息学院
作业的组成
作业由程序、数据和作业说明书三部分组成。 作业说明书包括作业基本情况、作业控制、作业 资源要求的描述;它体现用户的控制意图。(如预 计运行时间、要求资源情况、执行优先级等)。
作业基本情况:用户名、作业名、编程语言、最大处理时 间等; 作业控制描述:作业控制方式、作业步的操作顺序、作业 执行出错处理; 作业资源要求描述:处理时间、优先级、内存空间、外设 类型和数量、库函数和实用程序等;
操作系统的接口种类
操作系统是用户与计算机系统之间的接 口,用户在操作系统的帮助下,可以安 全可靠、方便、快速地使用计算机系统。 操作系统的三种接口 命令级接口 程序级接口 图形级接口
北京林业大学信息学院
(一)命令级接口
系统提供作业控制语言或操作控制命令,来 使用户利用这些命令组织和控制作业的执行。
JOB1 JOB2 JOB3 JOB4
北京林业大学信息学院
最高响应比优先作业算法计算结果
估计运 开始时 结束时 行时间 间 间 (分钟) JOB1 120 8:00 8:00 10:00 JOB2 50 8:50 10:10 11:00 JOB3 10 9:00 10:00 10:10 JOB4 20 9:50 11:00 11:20 作业平均周转时间 T = 102.5 作业带权平均周转时间 W = 3.775 作业 进入时 间 周转时 带权周 间 转时间 (分钟) 120 1 130 2.6 70 7 90 4.5 410 15.1
北京林业大学信息学院
作业的处理过程
运行
待 等 O I/
进 调 程 度
完成
作业调度 用户 提交 收容 就绪
I/O 完成
阻塞
执行 作业录入 作业调度
作业提交:作业的输入; 作业执行:先到"就绪",经调度"运行",有I/O请求" 等待",I/O完成到"就绪" 作业完成:作业的输出;
北京林业大学信息学院
北京林业大学信息学院
访管指令
用户程序在算态下运行,只能使用算态指令,而
操作系统是系统程序,在管态下运行,它既可使用算
态指令,也能使用特权指令。而用户要使用外设, 必须在管态下完成, 因而引入访管指令。 访管指令主要功能为: ① 实现从算态到管态的改变; ② 在管态下由操作系统代替用户完成其请求; ③ 操作系统工作完成后由管态返回到算态。
北京林业大学信息学院
JCB是在一个表格中填写用于控制作业执行的相关信息, 相当一个信息记录。
作业名 JCB 1 Job-a Job-b Job-c 执行时间 15 7 30 优先数 4 5 2 … … … … 外存地址 3000H 7600H 6020H
JCB 2
JCB 3
. .Βιβλιοθήκη …………
…
JCB n
北京林业大学信息学院
最短作业优先作业算法计算结果
作业 估计运 开始时 结束时 行时间 间 间 (分钟) 120 8:00 8:00 10:00 50 8:50 10:30 11:20 10 9:00 10:00 10:10 20 9:50 10:10 10:30 作业平均周转时间 T = 95 作业带权平均周转时间 W = 3.25 进入时 间 周转时 带权周 间 转时间 (分钟) 120 1 150 3 70 7 40 2 380 13
先来先服务(FCFS: First Come First Serve ): 按照作业进入系统的先后次序进行调度,先进入 系统者先调度;即启动等待时间最长的作业。 优点:实现简单、公平 缺点:没考虑资源利用率和作业的特殊性
北京林业大学信息学院
作业调度算法
短作业优先(SJF: Shortest Job First ): 以要求运行时间长短进行调度,即启动要求运 行时间最短的作业。
作业的建立
发作业 输入请求 中断信号
一个作业建立过程的两个子过程: 作业的输入 JCB的建立 作业控制块JCB和作业一一对应
作业1的 程序和数据 作业2的 程序和数据
外存
JCB1 JCB2
发作业 输入完毕 中断信号
CPU
作业队列,有资格 申请内存和CPU
北京林业大学信息学院
作业控制块(JCB)
北京林业大学信息学院
程序接口--系统调用
北京林业大学信息学院
系统调用
指系统为用户程序调用操作系统核心中实现系统功
能的过程(子程序) 是用户在程序中调用操作系统所提供的一些子功能, 是特殊的过程调用,由特殊的机器指令实现这个指令, 还将系统转入管态。 是操作系统提供给编程人员的唯一接口,利用系统调 用,动态请求和释放系统资源,完成与硬件相关的工作 以及控制程序的执行等。 在系统中为控制系统调用服务的机构称为陷入(trap) 处理机构,与此相对应访管指令也称为陷入指令 。 实际上系统调用语句本身是硬件提供的(机器指令), 但其所调用的功能是操作系统提供的。
北京林业大学信息学院
(二)程序级接口
是系统为用户在程序一级提供有关服务而设 置的接口。 由一组系统调用命令组成
负责管理和控制运行的程序
并在这些程序与系统控制的资源和提供的服务间
实现交互作用 用汇编语言:在程序中直接用系统调用命令 用高级语言:可在编程时使用过程调用语句
北京林业大学信息学院
(三)图形级接口
它直接支持命令接口和程序接口, 面对交互式操作和非交互式操作,提供 屏幕、表格、视窗和其它可视化交互功 能(如窗口、菜单、按钮和对话框等), 以标准方式使用户与系统沟通,提供一 个易使用的操作平台。用户在此平台上, 可以方便地寻找和使用命令、执行各类 程序、完成各种操作。
北京林业大学信息学院
长短、等待时间等;
北京林业大学信息学院
作业调度性能衡量指标
(1)作业平均周转时间T
Ti为每个作业的周转时间; tc作业完成时刻; ts作业进入系统时刻;
北京林业大学信息学院
作业调度性能衡量指标
(2)平均带权周转时间W
Ti为每个作业的周转时间; tr为作业实际运行时间;
北京林业大学信息学院
作业调度算法
(1) 联机接口(交互式)
由一组命令向操作系统提出请求。用户在终端上 输入命令,系统立即解释并执行该命令,完成用户 的要求,然后返回终端或控制台;用户可输入下一 条命令,如此反复直到作业完成。
北京林业大学信息学院
(2) 脱机接口
在批处理系统中,用户通过作业控制 语言(JCL)向系统提出对作业控制要 求 OS向用户提供一组作业控制语言,用 户用这种语言书写作业说明书,然后 将程序、数据和作业说明书一齐交给 系统操作员 脱机用户不能直接干预系统
优点:易于实现,强调了资源的充分利用,保证了 系统的最大吞吐量(单位时间里处理作业的个数)。 缺点:不公平,会造成长作业长期等待。 结论:假设系统中所有作业同时到达,可以证明采 用SJF能得到最短的作业平均周转时间。
北京林业大学信息学院
作业调度算法
高响应比优先(HRF: Highest Response Ratio Next ):响应比最高的作业优先启动。
第 7章 操作系统接口
北京林业大学信息学院
系统态与用户态
在计算机系统中存在两类不同的程序:一类是 用户程序,一类是系统程序。而且用户程序必需 在系统程序的控制和管理下运行。 我们把用户工作的状态称为算态或用户态或目 态;将系统程序工作的状态称为管态或系统态。 引发管态的指令:有关对外设使用的指令,有 关访问程序状态的指令, 存取特殊寄存器指令
估计运 开始时 结束时 行时间 间 间 (分钟) JOB1 120 8:00 8:00 10:00 JOB2 50 8:50 10:00 10:50 JOB3 10 9:00 10:50 11:00 JOB4 20 9:50 11:00 11:20 作业平均周转时间 T = 112.5 作业带权平均周转时间 W = 4.975 作业 进入时 间 周转时 带权周 间 转时间 (分钟) 120 1 120 2.4 120 12 90 4.5 450 19.9
响应比 = 周转时间 / 估计运行时间 =(等待时间+估计运行时间)/ 估计运行时间 = 1 + 等待时间 / 估计运行时间 优点: 公平,吞吐率大 缺点: 增加了计算,增加了开销
北京林业大学信息学院
作业调度算法
高优先级优先(HPF:Highest Priority First):由用户指定作业优先级,优先级高 的作业启动。 资源均衡型调度:把作业分类,作业调度从不 同类型作业中去调度作业
作业
JOB1 JOB2 JOB3 JOB4
估计运 开始时 行时间 间 (分钟) 120 8:00 50 8:50 10 9:00 20 9:50 作业平均周转时间 T = 作业带权平均周转时间 W =
进入时 间
结束时 间
周转时 带权周 间 转时间 (分钟)
北京林业大学信息学院
先来先服务调度算法计算结果
批处理作业
作业的类别
交互式作业(终端作业) 作业:由不同的顺序相连的作业步组成。 作业步:在一个作业的处理过程中,计算机所做 的相对独立的工作。
典型的作业控制过程: “编译”、“连接装配”、 “运行”
作业流:一次有一批作业进入系统,并在操作系 统控制下,一个接一个地顺序进行处理。
北京林业大学信息学院
( job control block )
为了对输入系统的作业进行管理,系统 为每个作业建立一个作业控制块(JCB),其 中保存系统对于作业进行管理所需要的全 部信息,它们被保存于磁盘区域中。并将 各个作业的作业控制块按照作业进入的先 后顺序排成一个作业后备队列。从而使一 个作业队列建立起来,并设置一个链指针, 指向这个作业队列的头一个作业。
脱机接口(JCL)--作业管理
北京林业大学信息学院
作业的概念
一个作业是指在一次应用业务处理过程中, 从输入开始到输出结束,用户要求计算机所 做的有关该次业务处理的全部工作。
一个编程过程的作业实例:
需求分析
概念
修改
功能 设计
结构 设计
详细 设计
编辑 输入
建档
输出
执行
链接
编译
调试
北京林业大学信息学院
根据作业对资源要求分类:I/O型、CPU型和均衡型
北京林业大学信息学院
作业调度算法应用例子
假设在单道批处理环境下有四个作业, 已知它们进入系统的时间、估计运行时 间,应用先来先服务、最短作业优先和 最高响应比优先作业调度算法,分别计 算出作业的平均周转时间和带权的平均 周转时间。
北京林业大学信息学院
北京林业大学信息学院
作业调度
检查系统是否满足作业的资源要求,并一定算法 选取作业(从输入井的后备作业队列中选择适当的 作业,为它分配内存等资源并将其调入内存投入运 行) 。作业调度也称为宏观调度(高级调度)。
作业调度算法的评价因素
作业吞吐量:运行尽可能多的作业;
充分利用资源:CPU忙、I/O设备忙; 对各作业公平、合理,使用户满意:执行时间
作业控制块表格中可存放n个作业(即n个JCB信息)
北京林业大学信息学院
作业控制块(JCB)
作业控制块是一个表格,作业控制块包含了作业 描述信息和作业的资源请求信息以及作业在外存 输入井的地址位置。 当作业开始由输入设备向磁盘的输入井传输时, 系统输入程序为其建立一个作业控制块,进行初 始化,初始化的大部分信息取自作业说明书。 作业控制块的撤消:作业完成后,其作业控制块 由系统输出程序撤消,作业控制块被撤消后其作 业也不复存在。
系统调用
北京林业大学信息学院
系统调用read的执行过程
第1-3步,通过把参数压入堆栈,记录read执行要求 第4步,对read的库过程进行实际调用 第5步,系统调用的编号被写入特定位置 第6步,执行TRAP指令切换到系统态 第7步,内核根据编号找到正确的read系统调用处理 程序。 第8步,系统根据参数而运行处理程序 第9步,执行完毕,TRAP指令返回read库过程 第10步,从库过程把结果返回给调用位置的SP堆栈 第11步,调用完了read,用户程序清除堆栈。
北京林业大学信息学院
系统调用
操作系统和用户程序之间的接口是通过 操作系统提供的一套系统调用来定义的。 在某种意义上,进行系统调用就像进行 一个特殊的过程调用,但是只有系统调 用可以进入内核(系统态),而过程调 用则不能。 系统调用是通过一系列步骤完成,如下 图,read的过程
北京林业大学信息学院
作业的组成
作业由程序、数据和作业说明书三部分组成。 作业说明书包括作业基本情况、作业控制、作业 资源要求的描述;它体现用户的控制意图。(如预 计运行时间、要求资源情况、执行优先级等)。
作业基本情况:用户名、作业名、编程语言、最大处理时 间等; 作业控制描述:作业控制方式、作业步的操作顺序、作业 执行出错处理; 作业资源要求描述:处理时间、优先级、内存空间、外设 类型和数量、库函数和实用程序等;