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