资源描述
操作系统OperatingSystem,第二章用户与操作系统接口,教学目的,操作系统应该为用户使用计算机提供两类接口系统命令接口和系统调用接口。系统命令接口可完成用户作业的组织和控制;系统调用接口是操作系统提供给软件开发人员的唯一接口,开发人员可利用它使用系统功能。,本章重点,掌握作业组织和控制的概念,熟悉作业调度算法。掌握系统调用的概念(广义指令)、特点以及与普通过程调用的区别。,2.1作业组织和控制2.2系统调用(SYSTEMCALL)2.3图形用户接口(GUI),1、作业及相关概念1)作业:用户在一次解题过程中或一个事务处理中要求计算机系统所作工作的总和,它是用户向计算机系统提交一项工作的基本单位。用户的观点:在一次业务处理过程中,从输入程序和数据到输出结果的全过程。系统的观点(针对作业进行资源分配):作业由程序及数据(作业体)和作业说明书(作业控制语言)2)作业步:是在一个作业的处理过程中,计算机所做的相对独立的工作。3)作业流:批量系统中需要将一批作业依次输入到辅助存储器中,形成作业流。,21作业组织和控制,21作业组织和控制,对于一个作业,一般系统要进行以下几项工作:1、编辑2、编译3、装入4、运行各个作业步都是相关的,4)作业类型:脱机作业:也称为批量型操作,在一次业务处理过程中,从输入程序和数据到输出结果的全过程。联机作业:也称为交互型操作或终端操作,是指用户直接与计算机系统交互作用来控制作业的运行,多出现在分时系统和单用户微机操作系统中。在兼顾分时操作与批量处理的系统中,通常终端作业称为前台作业,而把批量作业称为后台作业。,21作业组织和控制,批量型作业一般由作业申请和作业体两部分组成作业申请分为:作业情况和资源要求作业体分为:作业说明书和目标程序,2、作业的处理流程,21作业组织和控制,3、作业调度任务是根据当前系统中的空闲资源,并按照一定算法在后备作业队列中选取一个合适的作业投入运行(改变作业状态,分配资源、创建进程,回收资源)。作业调度也称为宏观调度。【调度算法的评价因素】作业吞吐率(单位时间里处理作业的个数):运行尽可能多的作业;充分利用资源:CPU忙、I/O设备忙;对各作业公平、合理,使用户满意:执行时间长短、等待时间等;【周转时间】:从提交到完成的时间。等待运行,21作业组织和控制,【作业调度算法】1)先来先服务(FCFS):按照作业进入系统的先后次序进行调度,先进入系统者先调度;即启动等待时间最长的作业。优点:实现简单、公平缺点:没考虑资源利用率和作业的特殊性2)短作业优先(SJF):以要求运行时间长短进行调度,即启动要求运行时间最短的作业。优点:易于实现,强调了资源的充分利用,保证了系统的最大吞吐率。缺点:不公平,会造成长作业长期等待。假设系统中所有作业同时到达,可以证明采用SJF能得到最短的作业平均周转时间。,21作业组织和控制,3)高响应比优先(HRF):响应比最高的作业优先启动。该算法是FCFS和SJF的结合,克服了两种算法的缺点。其中响应比的定义如下:响应比=(估计运行时间+等待时间)/估计运行时间优点:公平,吞吐率大。缺点:增加了计算,增加了开销。4)高优先级优先:由用户指定作业优先级,优先级高的作业先启动。5)资源均衡型调度:把作业分类,作业调度从不同类型作业中去调度作业,根据作业对资源要求分类:I/O型、CPU型和均衡型实际的算法可能会是多种算法的综合。,21作业组织和控制,4、作业控制1)脱机作业控制:用户输入作业控制卡或作业说明书,整个作业的运行由系统控制。2)联机作业控制:通过人-机会话方式控制作业运行。用户登录(控制台登录或远程登录),由系统自动执行一些命令脚本后,并进入shell(字符或GUI界面),接受用户的命令和操作,最后退出系统。,21作业组织和控制,系统调用是操作系统提供给软件开发人员的唯一接口,开发人员可利用它使用系统功能。OS核心中都有一组实现系统功能的过程(子程序),系统调用就是对上述过程的调用。1、系统调用的基本概念【算态与管态】计算机系统中的程序可分为系统程序与用户程序两类。处理器运行系统程序的状态称为管态、特权状态或系统状态;运行用户程序的状态为算态、目态或用户态。通常在程序的状态字中设置。,22系统调用,【特权指令与访管指令】特权指令是一类只能在管态下而执行的特殊机器指令。常见有以下几类:传送程序状态字指令。启动、测试和控制外设指令。存取特殊寄存器指令。访管指令是用户在程序中用来调用操作系统提供的子功能集合。其中每一个子功能称为一个系统调用命令,也称为一条广义指令(若干条机器指令构成,用以完成特定功能的一段程序)。主要功能:实现从算态到管态的改变;在算态下由操作系统代替用户完成其请求;操作系统工作完成后由管态返回算态。,22系统调用,2、系统调用为了保证OS不被用户程序破坏,不允许用户程序直接访问OS的系统程序和数据,只能用系统调用访问。用户在程序中调用操作系统提供的子功能称为系统调用。是特殊的过程调用,由特殊的机器指令(广义指令)实现。系统调用指令还将系统转入管态。系统调用是操作系统提供给编程人员的唯一接口,利用系统调用,动态请求和释放系统资源,完成与硬件相关的工作以及控制程序的执行等。,22系统调用,3、系统调用与一般过程调用的比较【相同点】:改变指令流程,转去执行公用程序段。【不同点】:一般过程调用,调用程序和被调用程序都运行在相同状态(管态或算态);而系统调用,调用程序在算态,被调用程序在管态。一般过程调用调用时不涉及系统状态转换,直接转向被调用过程;而系统调用调用时涉及系统状态的转换,不允许由调用过程直接转向被调用过程,要先通过软中断机制由用户态转换为核心态,在OS核心分析后,再转向相应的系统调用处理子程序。,22系统调用,4、系统调用类型:系统的功能分为两部分:(1)系统自身所需要的。(2)作为服务提供给用户的。Linux系统调用的类型:(P33)1)进程控制类系统调用:创建和终止进程.等待子进程结束.获得和设置进程属性.执行一个可执行文件(覆盖调用者).进程暂停.2)进程通讯类系统调用:消息传递方式:打开连接/接收连接,发送/接收消息;共享存储区方式:建立存储区,建立连接,读/写存储区3)文件管理类系统调用:创建和删除文件打开和关闭文件.读/写文件.移动读/写指针.改变文件属性.共享的连接和去连接,建立目录.4)信息维护类系统调用:设置和获得系统时间.获得进程时间.设置文件访问和修改时间.获得当前系统名称串,标准名,在网络中的名称,22系统调用,5、系统调用的实现过程需要有一个类似于硬件中断处理的处理机构(陷入硬件机构)。当用户使用操作系统调用时,产生一条相应的指令,处理机在执行到该指令时发生相应的中断,并发出有关的信号给该处理机构,该处理机构在收到了处理机发来的信号后,启动相关的处理程序去完成该系统调用所要求的功能。,22系统调用,【中断和陷入硬件机构】1)中断是CPU对系统发生的某(外部)事件的响应。2)陷入(内中断,捕获)是由CPU内部事件引起的中断如:非法指令、地址越界、溢出、电源故障等。陷入由执行现行指令引起,中断则与现行指令无关。还可以把由于系统调用引起处理机中断的指令称为陷入或异常指令(或称访管指令),或软中断指令。从中断的观点看,引起中断的事件就是系统调用本身。,22系统调用,3)每个系统调用都对应一个事先给定的功能号。在陷入指令中必须包括对应系统调用的功能号,而且,还带有传给陷入处理机构和内部处理程序的有关参数。4)中断和陷入向量必须为系统调用功能的各子程序编造陷入(中断)向量表,每个表目由入口地址和处理机状态字PSW两个字组成;陷入处理机构把陷入指令包含的功能号与入口地址表项相对应,执行对应的子程序。5)保护和恢复现场:在进入系统调用之前,在系统栈保护处理机现场。在系统调用结束之后要恢复处理机现场。,22系统调用,系统调用的处理过程,在命令行方式下,用户与操作系统的交互要求用户记忆命令格式。在图形用户接口方式下,用户可利用鼠标对屏幕上的图标进行操作,完成与操作系统的交互,从而减少记忆内容,方便用户使用。它的技术基础是高分辩显示器和鼠标。1、窗口系统(windowsystem)的特点2、窗口系统的图形元素及其状态,23图形用户接口(GUI),利用图形元素表示功能:将各种图形元素显示在屏幕上,用户可以通过操纵图形元素(如菜单、图标)来执行相应的功能。同屏多窗口与并发进程相对应:屏幕上同时显示多个窗口;一个进程可以对应一个或多个窗口;窗口动态创建、改变、撤销。输入方式:鼠标指针点击(或其他定位设备)和键盘输入;通常是即时交互一致的图形元素风格可方便用户学习和使用:如按钮、滚动条。【优点】:操作直观,可与多个进程交互,便于进行多媒体处理。简而言之:交互的并发性好、传递信息量大。,1.窗口系统的特点,【窗口(window)】:屏幕上的矩形区域包括:标题条(titlebar)、边框(border)、窗口角(corner)、系统菜单框(systemmenubox)、最大化/最小化按钮(maximize/minimize)、滚动条(scrollbar)等状态:当前/非当前窗口(active/inactive)接受输入,最大化/最小化/恢复原大小(restore),窗口的前后遮盖Z轴,焦点(focus)接受键盘输入(而非鼠标)【图标(icon)】:一个小图象(如32x32或64x64pixel),通常供鼠标指针点击。通过不同的图标可以标识不同的对象。如:可执行程序、最小化的窗口、文件动画图标,2.窗口系统的图形元素及其状态,【鼠标指针(mousepointer)】:鼠标指针通常对应屏幕上的光标(cursor)。光标在屏幕上只有一个,在不同屏幕位置可以呈现不同形状,可以独立于鼠标来直接操纵光标。鼠标点击:左键/右键/中键,单击(click)/双击(double-click),拖曳/拖放;【按钮(button)】:鼠标点击或按回车键/空格键时执行相应功能;提供单项或多项选择,如RadioButton和CheckButton;当前按钮及其切换。【菜单(menu)】:临时窗口,菜单条(menubar)、弹出式菜单、下拉式菜单(上下文相关菜单)【对话框(dialogbox)】:临时窗口,显示提示信息(message)或填写用户设置。,2.窗口系统的图形元素及其状态,课堂练习2.1,脱机用户接口是配置在A操作系统中的,它是由一组B所组成,联机用户接口是由一组C所组成,而程序接口则是由一组D所组成。A:(1)微机;(2)批处理;(3)分时;(4)实时。B、C、D:(1)系统调用;(2)库函数;(3)键盘命令;(4)作业控制语言。,第二章作业,*1.什么是系统调用,说明系统调用的特点及其过程。2.假定在一个处理机上执行以下五个作业,作业号12345到达时间02468运行时间36452当分别采用FCFS、SJF(短作业优先)和HRRN(响应比高者优先)三种调度算法时,作业的调度次序以及各个作业的平均周转时间是多少?,
展开阅读全文