1、第二章第二章 用户与操作系统的接口用户与操作系统的接口2.1 作业控制级接口作业控制级接口 2.2 程序级接口程序级接口 第二章 用户与操作系统的接口 2.1 作业控制级接口作业控制级接口作业:用户一次请求计算机系统为它完成任务所进行的工作总和。作业步:处理作业的各独立的子任务。第二章 用户与操作系统的接口 一个作业是指在一次应用业务处理过程中,从输开始到输出结束,用户要求计算机所做的有关该次业务处理的全部工作。用户的观点:在一次业务处理过程中,从输入程序和数据到输出结果的全过程。作业步:形成中间结果文件。系统的观点(针对作业进行资源分配):作业由程序及数据(作业体)和作业说明书(作业控制语言
2、)作业由不同的顺序相连的作业步组成。作业步是在一个作业的处理过程中,计算机所做的相对独立的工作。第二章 用户与操作系统的接口 作业的组成 作业说明书包括作业基本情况、作业控制、作业资源要求的描述;它体现用户的控制意图。如:预计运行时间、要求的资源情况、执行优先级等。作业基本情况:用户名、作业名、编程语言、最大处理时间等;作业控制描述:作业控制方式、作业步的操作顺序、作业执行出错处理;作业资源要求描述:处理时间、优先级、内存空间、外设类型和数量等;作第二章 用户与操作系统的接口 作业的处理过程第二章 用户与操作系统的接口 作业输入方式无通道处理方式 联机(降低了CPU效率):由主机直接控制输入/
3、输出;I/O与作业处理不能并行。脱机(人工干预):通过磁带或磁盘在外围处理机与主机之间交换作业(需人工移动);用于主机不太快的情况。直接耦合:通过共享外存在外围处理机与主机之间交换作业;用于高速主机。第二章 用户与操作系统的接口 作业输入方式有通道处理:输入/输出由主机和通道来承担。假脱机(spooling,Simultaneously Peripheral Operation OnLine):系统把作业处理的全过程划分为相对独立的三个部分-输入流、处理流和输出流。spooling-in/spooling-out进程:控制输入/输出;网络:在网络上一台机器进行作业输入/输出,在另一台主机上运行
4、;第二章 用户与操作系统的接口 作业控制表(JCB,Job Control Block)在运行过程中,系统对作业进行管理的必要信息 作业名 估计执行时间 优先数(用于调度)作业说明书文件名 程序类型(需调用的系统程序)资源要求:(静态,或中间可以随作业步变化效率不高;动态分配)作业状态:提交、后备、执行、就绪、等待、完成第二章 用户与操作系统的接口 作业调度检查系统是否满足作业的资源要求,并一定算法选取作业。作业调度也称为宏观调度。作业调度算法的评价因素 作业吞吐量:运行尽可能多的作业;充分利用资源:CPU忙、I/O设备忙;对各作业公平、合理,使用户满意:执行时间长短、等待时间等;第二章 用户
5、与操作系统的接口 作业调度算法实际的算法可能会是多种算法的综合。先来先服务(FCFS):按照作业进入系统的先后次序进行调度,先进入系统者先调度;即启动等待时间最长的作业。优点:实现简单、公平 缺点:没考虑资源利用率和作业的特殊性第二章 用户与操作系统的接口 作业调度算法 短作业优先(SJF):以要求运行时间长短进行调度,即启动要求运行时间最短的作业。优点:易于实现,强调了资源的充分利用,保证了系统的最大吞吐量(单位时间里处理作业的个数)。缺点:不公平,会造成长作业长期等待。结论:假设系统中所有作业同时到达,可以证明采用SJF能得到最短的作业平均周转时间。第二章 用户与操作系统的接口 作业调度算
6、法 高响应比优先(HRF):响应比最高的作业优先启动。响应比=(等待时间+估计运行时间)/估计运行时间 该算法是FCFS和SJF的结合,克服了两种算法的缺点 优点:公平,吞吐率大缺点:增加了计算,增加了开销第二章 用户与操作系统的接口 作业调度算法高优先级优先:由用户指定作业优先级,优先级高的作业先启动。资源均衡型调度:把作业分类,作业调度从不同类型作业中去调度作业 根据作业对资源要求分类:I/O型、CPU型和均衡型第二章 用户与操作系统的接口 作业的类型作业的类型根据计算机系统的作业处理方式不同,可把作业分成两大类:l脱机作业:用户不能与计算机系统交互,也称为批量型作业。l联机作业:用户可以
7、和计算机系统直接交互,控制作业的运行,也称为交互型作业或终端型作业。第二章 用户与操作系统的接口 作业控制用户接口脱机用户接口l用于脱机控制方式,系统自动控制作业的执行,效率较高。联机用户接口l用于联机作业的控制,采用人机对话的方式来控制作业的运行,能及时了解作业的运行情况和系统状态。l一般有三种方式:命令驱动方式、菜单驱动方式、命令文件方式第二章 用户与操作系统的接口 作业控制方式脱机作业控制:用户输入作业说明书,整个作业的运行由系统控制。联机作业控制:通过人-机会话方式控制作业运行。用户登录(在终端控制台登录或远程登录),由系统自动执行一些命令脚本后,并进入shell(字符或GUI界),接
8、受用户的命令和操作,最后退出系统。第二章 用户与操作系统的接口 命令行命令行:一行可有一个或多个命令,每次一行,包含一个或多个命令。shell给出提示符时可输入,以回车键提交。如:“ls-a-l”列出当前目录文件列表;gunzip mp1.tar.gz;tar-xvf mp1.tar;rm-r-f mp1.tar为解压缩后再展开。第二章 用户与操作系统的接口 命令格式一个命令可有命令参数,格式包括选项/开关(option/switch)或参数(argument)。如UNIX系统:cp-r doc/tmpargv0,argv1,.(含子目录的文件复制:/tmp为目标地址)第二章 用户与操作系统的
9、接口 命令分类 内部命令:直接由shell本身完成,功能简单、使用频繁;如:DOS的copy命令。外部命令:运行相应的可执行文件,在使用时加载。如:DOS的xcopy命令。第二章 用户与操作系统的接口 图形用户接口在命令行方式下,用户与操作系统的交互要求用户记忆命令格式。在图形用户接口方式下,用户可利用鼠标对屏幕上的图标进行操作,完成与操作系统的交互,从而减少记忆内容,方便用户使用。它的技术基础是高分辩显示器和鼠标。第二章 用户与操作系统的接口 窗口系统(window system)的特点l利用图形元素表示功能:将各种图形元素显示在屏幕上,用户可以通过操纵图形元素(如菜单、图标)来执行相应的功
10、能l同屏多窗口与并发进程相对应:屏幕上同时显示多个窗口;一个进程可以对应一个或多个窗口;窗口动态创建、改变、撤销l输入方式:鼠标指针点击(或其他定位设备)和键盘输入;通常是即时交互第二章 用户与操作系统的接口 窗口系统(window system)的特点l一致的图形元素风格可方便用户学习和使用:如按钮、滚动条l优点:操作直观(不必记命令行参数),可与多个进程交互,便于进行多媒体处理简而言之:交互的并发性好、传递信息量大第二章 用户与操作系统的接口 命令文件方式第二章 用户与操作系统的接口 命令类型系统访问命令 编辑和文件管理命令 编译、汇编和连接命令 调试命令 维护管理命令 其它命令 第二章
11、用户与操作系统的接口 2.2 程序级接口程序级接口管态与算态管态与算态 l计算机运行过程中,用户程序工作的状态称为算态或用户态;系统程序工作的状态称为管态或系统态。第二章 用户与操作系统的接口 特权指令与访管指令特权指令与访管指令只允许在管态下使用的指令,称为特权指令。常见的特权指令有以下几种:(1)有关对外设使用的指令 (2)有关访问程序状态的指令 (3)存取特殊寄存器指令 (4)其它指令 第二章 用户与操作系统的接口 下列哪些指令是特权指令(1)改变存储器管理寄存器(2)写程序计数器(3)读日历钟(4)设置日历钟(5)改变处理器优先级第二章 用户与操作系统的接口 访管指令用户程序在算态下运
12、行,只能使用算态指令。操作系统是系统程序,在管态下运行,它既可使用算态指令,也能使用特权指令。访管指令 实现从算态到管态的改变;在管态下由操作系统代替用户完成其请求;操作系统工作完成后由管态返回到算态。第二章 用户与操作系统的接口 系统调用系统调用操作系统提供某种形式的接口,使用户通过接口可以使用系统提供的各种功能。系统调用通过访管指令或软中断的方式中断现行程序,转向执行相应的子程序,以完成特定的系统功能。第二章 用户与操作系统的接口 通过系统调用接口也可使用系统命令 C语言里的system()函数可调用shell来完成命令 如UNIX系统:system(cp-r doc/tmp)第二章 用户
13、与操作系统的接口 系统调用的实现过程实际上系统调用语句本身是硬件提供的(机器指令),但其所调用的功能是操作系统提供的。每种机器的机器指令集中都有一条系统调用指令。第二章 用户与操作系统的接口 系统调用的实现过程第二章 用户与操作系统的接口 设置系统调用号和参数 调用号作为指令的一部分(如早期UNIX),或装入到特定寄存器里(如:DOS int 21h,AH=调用号。)参数装入到特定寄存器里,或以寄存器指针指向参数表(内存区域)。第二章 用户与操作系统的接口 执行trap(int)指令入口的一般性处理,查入口跳转表,跳转到相应功能的过程。保护CPU现场(将PC与PSW入栈),改变CPU执行状态(
14、处理机状态字PSW切换,地址空间表切换)将参数取到核心空间第二章 用户与操作系统的接口 执行操作系统内部代码第二章 用户与操作系统的接口 执行iret指令将执行结果装入适当位置(类似于参数带入),恢复CPU现场(以栈顶内容置PSW和PC)。第二章 用户与操作系统的接口 2.2.5 系统调用的使用和执行过程系统调用的使用和执行过程 1 使用步骤使用步骤 (1)将系统调用所需的参数和参数的首址送到规定的通用寄存器。(2)设置一条调用指令(比如“访管”指令或“软中断”指令)。系统调用命令的功能号,有的系统直接在调用指令中给出,有的系统也作为调用命令的参数放入到指定的通用寄存器中。第二章 用户与操作系
15、统的接口 2 执行过程 (1)为执行系统调用命令作准备,将用户程序的“现场”保留,同时将系统调用编号、参数等放入约定的存储单元中。(2)根据系统调用命令号,检查是否为合法的系统调用。若是,根据系统调用表和系统调用号,转入相应的系统调用函数。(3)系统调用命令执行完后,恢复“现场”,同时将系统调用命令的返回参数或参数区首址送到系统约定的寄存器中供用户程序使用。第二章 用户与操作系统的接口 系统调用与普通过程调用的相同点和不同点 相同点改变指令流程 重复执行和公用 改变指令流程后需要返回原处第二章 用户与操作系统的接口 系统调用与普通过程调用的相同点和不同点 不同点 系统调用是动态调用,而CALL调用方式是静态调用;执行状态不同 进入方式不同 与进程调度的关系不同:嵌套或递归调用第二章 用户与操作系统的接口 系统调用类型系统调用类型进程控制进程通讯文件管理目录与文件系统管理维护信息时间管理网络通讯服务
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100