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