《操作系统用户界面第2章优秀PPT.ppt》由会员分享,可在线阅读,更多相关《操作系统用户界面第2章优秀PPT.ppt(76页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第2章 操作系统用户界面 本章主要从用户运用和系统管理两方面动身,探讨操作系统为用户供应的编程接口和吩咐限制接口。首先探讨操作系统的吩咐限制接口及与其相关的作业限制和管理概念,然后介绍系统调用与编程接口,最终介绍操作系统用户界面示例。第2章 操作系统用户界面u 作业的基本概念u 作业的建立u 吩咐限制界面接口u 系统调用u UNIX用户界面(自学)u课时:2.0作业的基本概念n 作业的定义n 从用户的角度,在一次应用业务处理过程中,从输入起先到输出结束,用户要求计算机所做的有关该次业务处理的全部工作称为一个作业。n 作业由不同的依次相连的作业步组成。作业步是计算机所做的一个相对独立的工作。作业
2、的基本概念n 作业的定义 从系统的角度,作业由程序、数据和作业说明书组成。在批处理系统中,系统是以作业为单位把程序和数据调入内存执行的。作业的概念常用在批处理系统中。作业的建立n 作业的组织n 作业说明书体现用户的限制意图。由作业说明书在系统中生成一个称为作业限制块(job control block,JCB)的表格。n JCB包含三方面内容,即基本描述、限制描述和资源要求描述。作业的建立作业的建立n 作业的组织n 作业说明书主要实现批处理的限制,不同计算机厂家都有各自的作业说明书的格式和内容。n 在微机系统中,人们常用批处理文件或shell程序方式编写作业说明书。n 尤其在Unix类系统中s
3、hell程序设计也很重要。n 作业的建立过程n 一个作业的建立过程包括两个子过程:n 作业的输入:输入数据、程序、作业说明书等;n JCB的建立:申请创建作业的JCB,标记着系统中存在该作业。作业的建立n 作业输入方式n 常分为三种,即联机输入方式、脱机输入方式、SPOOLING系统。n 1)联机输入方式n 用户和系统通过交互会话来输入作业n 外围设备干脆和主机相连接作业的建立n 作业输入方式n 2)脱机输入方式n 称为预输入方式。为了解决单台设备联机输入时的CPU奢侈问题,利用辅机作为外围处理机进行输入处理。n 在辅机上,将作业输入到高速设备磁盘或磁带上;再把磁盘与主机联机输入作业。作业的建
4、立n 作业输入方式 3)SPOOLING系统 SPOOLING(Simultaneous Peripheral Operations On-Line),即同时的外围设备联机操作,也称假脱机。其工作原理如图2.4所示。作业的建立作业的建立技术支持:技术支持:通通道技术和中断道技术和中断技术技术SPOOLING结构结构n 作业输入方式n 3)SPOOLING系统n 在SPOOLING系统中,作业的输入输出过程由主机限制、通道操作完成,需由中断技术支持。作业的建立作业的建立输入状态输入状态完成状态完成状态后备状态后备状态运行状态运行状态作业控制进程作业控制进程 输入设备输入设备数据数据源程序源程序输
5、出设备输出设备作业说作业说明书明书输输入入井井运行运行等待等待就绪就绪输输出出井井输输入入程程序序输输出出程程序序作作业业调调度度进程进程调度调度作业的执行周期与状态转换图作业的执行周期与状态转换图n 作业输入方式 3)SPOOLING系统 组成组成l 硬件:大容量外存(磁盘)l 软件:u 预输入程序:I/O输入井;u 作业调度程序:选择后备作业进入内存;u 井读程序:输入井内存;u 井写程序:内存输出井;u 缓输出程序:输出井 I/O;作业的建立井管理程序井管理程序 操作系统的吩咐限制界面就是用来组织和限制作业运行的。包括脱机和联机方式。脱机方式:用户以作业限制说明书方式或吩咐文件方式提交给
6、系统,由系统依据作业说明书或吩咐文件中所规定的依次限制作业执行。如:Linux系统下shell程序。吩咐限制界面接口 联机方式:用户干脆运用操作吩咐与系统进行交互式会话完成系统的限制和管理。Windows用户日常操作都属于联机方式。在现代操作系统中,大都供应脱机(批处理)方式和联机限制方式。吩咐限制界面接口 系统调用是操作系统供应应编程人员的唯一接口,有助于提高了OS的平安性。利用系统调用,用户程序可以动态恳求和释放系统资源,完成与硬件相关的工作以及限制程序的执行等。OS中系统调用服务机构称为陷入(trap)处理机构。与此对应,把由于系统调用引起处理机中断的指令称为陷入指令(或称访管指令)。系
7、统调用接口系统调用接口系统调用的执行过程l 特权指令与CPU运行状态l 特权指令指只能由操作系统运用的指令。l 用户态:也称常态、目态、外壳态,即 CPU执行用户程序,不允许执行特权指令。l 系统态:也称特态、管态、核心态,即CPU执行系统程序,可执行全部指令。l Trap指令属于哪类指令?系统调用接口l 系统调用与一般过程调用的比较l 相同点:l 变更指令流程;l 重复执行和公用;l 变更指令流程后须要返回原处;系统调用接口l 系统调用与一般过程调用的比较 不同点:n 运行在不同的系统状态:一般过程调用,其调用程序和被调用程序都运行在相同状态,核心态或用户态;系统调用,调用程序在用户态,被调
8、用程序在系统态。系统调用接口l 系统调用与一般过程调用的比较l 不同点:l 嵌套或递归调用:对系统调用,一般不允许在同一个进程中发生嵌套或递归(不同进程可以重入同一个系统调用)。l 进入方式不同:利用int或trap指令进行系统调用;利用call 或 jmp 指令进入一般的过程调用。系统调用接口l 系统调用与一般过程调用的比较 不同点:n 系统调用是动态的,一般过程调用是静态的:系统调用程序中不包含被调用代码,调用地址和返回地址都是不固定的;而一般过程调用的被调用代码与调用代码在同一程序之内,其调用地址是固定的,返回地址是不固定的。系统调用接口自学要求:n UNIX的发展历史n UNIX的特点
9、n UNIX的接口UNIX用户界面习 题1.什么是作业和作业步?2.作业由哪几部分组成?3.叙述SPOOLING系统的工作原理。4.简述作业限制块及其作用。5.操作系统供应哪些接口?6.结合实际,总结你的日常作业限制方式。7.什么是系统调用?与一般过程调用有何区分。8.区分两种系统(CPU)运行状态。9.试述UNIX的主要特点【例】操作系统供应应程序员的接口是()A 进程B 系统调用C 库函数D 系统调用和库函数【答案】B【例】用户在程序中试图读某文件的第100个逻辑块,运用操作系统的()接口A 系统调用B 图形用户接口C 原语D 键盘吩咐【答案】A【例】在下列语言中属于脱机作业限制语言的是(
10、)A 作业限制语言B 汇编语言C 会话式程序设计语言D说明BASIC【答案】A【例】用户运用操作系统通常有三种手段,它们是终端吩咐,系统调用吩咐和()A 计算机高级吩咐B 宏吩咐C 作业限制语言D 汇编语言【答案】C【例】用户要在程序一级获得系统帮助,必需通过()。A.进程调度 B.作业调度 C.键盘吩咐 D.系统调用【答案】D【例】用户的应用程序和应用系统是通过()供应的支持和服务来运用系统资源完成其操作的。A 点击鼠标B 键盘吩咐C 系统调用D 图形用户界面【答案】C【例】用户可以通过()两种方式来运用计算机。A 吩咐方式和函数方式B 吩咐方式和系统调用方式C 吩咐方式和文件管理方式D 设
11、备管理方式和系统调用方式【答案】B【例】系统调用的目的是()。A.恳求系统服务 B.终止系统服务 C.申请系统资源 D.释放系统资源【答案】A【例】系统调用是由操作系统供应的内部调用,它()。A.干脆通过键盘交互方式运用 B.只能通过用户程序间接运用 C.是吩咐接口中的吩咐运用 D.与系统的吩咐一样【答案】B【例】操作系统内核与用户程序、应用程序之间的接口是()。A.shell 吩咐 B.图形界面 C.系统调用 D.C 语言函数【答案】C【例】当CPU执行操作系统代码时,称处理机处于()。A 执行态B 目态C 管态D 就绪态【答案】C【例】为了便于用户干脆或间接地限制自己的作业,操作系统向用户
12、供应了吩咐接口,该接口又可进一步分为()A 联机用户接口和脱机用户接口B 程序接口和图形接口C 联机用户接口和程序接口D 脱机用户接口和图形接口【答案】A【例】用户在一次解题或一个事务处理过程中要求计算机系统所做工作的集合称为_。【答案】作业【例】所谓系统调用,就是用户在程序中调用_所供应的一些子功能【答案】操作系统【例】脱机吩咐接口和联机吩咐接口有什么不同?【答案】脱机吩咐接口是OS供应应批处理作业用户的作业限制语言。批处理用户不能干脆与自己的运行作业进行交互,只能向系统供应用作业限制语言编写的作业说明书,并托付系统按作业说明书中的作业限制吩咐,来对它们的作业进行限制和管理联机吩咐接口则不要
13、求用户填写作业说明书,此时,系统将向用户一组键盘吩咐或其他操作方式的吩咐,用户可通过这些吩咐来交互地限制自己程序的运行,并获得操作系统的服务。【例】处理机为什么要区分核心态和用户态两种操作方式?什么状况下进行两种方式的转换?【解答】为了爱护操作系统不受破坏,通常将CPU的执行方式分为两种:核心态和用户态。在核心态,允许执行CPU的指令全集,而在用户态,只能执行非特权指令,从而使系统得到爱护。当用户希望得到操作系统服务时,运用系统调用吩咐。这样,当CPU执行到系统调用时,CPU的执行方式就由用户态变为核心态,执行用户希望的服务。完成服务后,在返回用户程序之前,CPU的执行状态再变为用户态,接着执
14、行用户程序。【例】简述系统调用与过程调用有什么相同和不同点。【解答】相同点:执行都变更指令的流程;都可以重复执行和共享调用;允许嵌套调用。区分:1 运行在不同的系统状态。一般过程调用,其调用程序和被调用程序都运行在相同的状态:核心态或用户态。系统调用中,调用程序运行在用户态,被调用程序运行在核心态。用户态向核心态转变时,通过陷入指令实现。2 进入方式不同。一般的过程调用不涉及系统状态的转换,由调用程序干脆通过调用语句转向调用过程。系统调用,调用和被调用过程在不同系统状态,不允许由调用过程干脆转向被调用过程,必需通过软中断机制先由用户态转换为核心态。3 返回问题一般过程调用在被调用过程执行完后,
15、将干脆返回到调用过程接着执行;系统调用,假如系统接受抢占调度方式,则在被调用过程执行完后,必需先对系统中全部要求运行的进程做优先分析。只有当调用进程仍具有最高优先权时,才返回到调用进程接着执行;否则,将引起重新调度。【例】区分概念:操作吩咐与 系统调用【解答】操作吩咐是供应应一般用户运用的与操作系统的接口方式,其目的是便于用户利用利用这种接口方式组织和限制作业的执行。系统调用是操作系统向编程人员供应的恳求操作系统服务和运用设备时的一种接口。操作系统调用吩咐对应操作系统供应服务的一些子程序。用户通过这些称为特殊指令的吩咐来调用这些子程序,已取得操作系统的服务。【例】简述系统调用的实现过程【解答】
16、系统调用是操作系统供应应软件开发人员的惟一接口,开发人员可利用它运用系统功能。OS核心中都由一组实现系统功能的过程(子程序),系统调用是对上述过程的调用。因此,系统调用直观上像一个黑箱子,对用户屏蔽操作系统的具体动作而只供应有关的功能。为了实现系统调用,系统设计人员还必需为实现各种系统调用功能的子程序编造入口地址表,每个入口都与相应的系统子程序名对应起来。然后,由陷阱处理程序把陷进指令中所包含的功能号与该入口地址表中的有关项对应起来,从而有系统调用功能号驱动有关系统子程序执行。由于在系统调用处理结束后,用户程序还需利用系统调用的返回结果接着执行,因此,在进入系统调用处理前,陷阱处理机构还需保存
17、处理机现场。再者,在系统调用处理结束后,陷阱处理机构还要复原处理机现场。在操作系统中,处理机的现场一般被爱护在特定的内存区或寄存器中。【例】吩咐接口和图形用户接口分别有什么优缺点?【解答】吩咐接口的优点是功能强,速度快,敏捷性好,屏幕开销少,缺点是显示不干脆,难学难记。图形用户接口的优点是显示直观,操作简便,易学;缺点是实现的代码规模大,对内外存容量,cpu速度和显示器的要求较高。作业的几种状态作业的几种状态【例】作业的全部信息都已通过输入机输入,并由操作系统将其存放在磁盘的某些盘区等待运行,这种状态称为作业的()。A 提交状态B 运行状态C 后备状态D 完成状态【分析】作业从提交到完成,分为
18、4种状态:1 提交状态:通过终端向计算机键入2 后备状态:作业全部通过输入机输入,由OS将其存放在磁盘中。3 运行状态:作业被调度程序选中送入主存中投入运行4 完成状态:作业完成,释放资源,退出系统【答案】C【例】作业在生存期有4个状态,它们(),后备,执行和完成A 就绪B 提交C 等待D 起先【答案】B【例】下列叙述中,符合批处理作业特征的有_。(A)其中包含有作业说明书(B)具有就绪状态(C)运行过程和用户没有交互作用 (D)其中包含有程序和数据(E)用户可以通过键盘输入程序运行过程须要的数据【解析】接受批处理限制方式的作业,用户把对作业执行的限制意图用作业限制语言写成一份说明书,连同该作
19、业的源程序和初始数据一起输入到计算机系统,系统就可按用户说明书来限制作业的执行。作业执行过程中用户不能干预,一切由系统自动地限制作业的执行。因此,选项(A)、(C)、(D)是正确的。“就绪状态”是进程具有的状态,作业没有该状态,选项(B)是错误的;由于运行过程和用户没有交互作用,所以“用户可以通过键盘输入程序运行过程须要的数据”(选项E)是错误的。【答案】ACD【例】一个作业从进入系统到运行结束,经验的状态包括_。(A)进入状态 (B)就绪状态(C)后备状态 (D)运行状态(E)完成状态【解析】一个作业从进入系统到运行结束,一般要经验进入、后备、运行和完成四个阶段,相应地,作业亦有进入、后备、
20、运行和完成四种状态。因此,选项(A)、(C)、(D)、(E)是正确的。留意,作业的运行状态是指作业被调入内存运行,不意味着占用处理机。【答案】ACDE【例】下列有关作业的叙述中,_是正确的。(A)作业一旦被作业调度选中,即占有了(B)批处理系统对作业的限制意图是靠作业说明书来实现的,用户不能限制作业的执行(C)作业调度程序从处于等待状态的队列中选取作业投入运行(D)作业一旦被作业调度选中,该作业即进入内存(E)允很多个用户在各自的终端上同时交互地运用计算机的系统称为分时操作系统【解析】作业提交后进入作业队列,处于后备状态;作业调度程序从处于后备状态的队列中选取作业,作业一旦被作业调度选中,该作
21、业即进入内存。因此,选项(A)、(C)是错误的【答案】BDE【例】作业一旦被作业调度选中,即占有了。()【解析】一个作业一旦被作业调度选中,说明作业处于运行状态,该作业已进入到内存中,并以进程形式存在于系统中,属该作业的进程可能处于运行、就绪或等待状态,不确定占有。【答案】错误【例】简述作业在系统中有哪几种状态。【解析】一个作业从进入系统到运行结束,一般要经验进入、后备、运行和完成四个阶段,相应地,作业亦有进入、后备、运行和完成四种状态。(1)进入状态:作业的信息正在从输入设备上预输入到输入井,此时称作业处于进入状态。(2)后备状态:当作业的全部信息都已输入,且由操作系统将其存放在输入井中,此
22、时称作业处于后备状态。系统将全部处于后备状态的作业组成后备作业队列,等待作业调度程序的调度。(3)运行状态:一个后备作业被作业调度程序选中,安排了必要的资源,调入内存运行,称作业处于运行状态。(4)完成状态:当作业正常运行完毕或因发生错误非正常终止时,作业进入完成状态。SPOOLing【例】虚拟设备是指()A 把共享设备模拟独占设备B 允许用户程序不必全部装入主存便可运用系统中的设备C 允许用户以标准化方式来运用设备D 允许用户运用比系统中具有的物理设备更多的设备【答案】A【例】下面4个选项中不属于SPOOLing系统特点的是()。A提高了内存的利用率B 提高了I/O操作的速度C将独占设备改造
23、为共享设备D 实现了虚拟设备功能【分析】全部字符设备都是独享设备并属于慢速设备,本质上属于依次存取设备。因此,一个进程在某台字符设备上进行数据交换,要等待较长时间,并且在该数据交换完成之前,其他进程不能同时访问这台设备,当一个进程正在运用这类设备进行一次较大量的数据交换时,其他须要同时访问该设备的进程就要等待较长时间,从而降低了整个系统的并发实力。SPOOLing技术正是针对上述问题提出的一种设备管理技术。在多道程序系统中,用程序模拟脱机输入/输出时外围限制机的功能,这样在主机的干脆限制下实现脱机输入/输出功能。此时的外围操作与CPU对数据处理同时进行,这种在联机状况下实现的外围设备同时操作称
24、为SPOOLing,假脱机。SPOOLing系统的核心思想是利用一台可共享的,高速大容量的块设备(磁盘)来模拟独享设备的操作,使一台独享设备变成多台可并行运用的虚拟设备。其主要特征是提高了I/O操作的速度,将独享设备改造成为共享设备;实现了虚拟设备功能。【答案】A【例】在关于SPOOLing的叙述中,()描述是不正确的A SPOOLing系统中不须要独占设备B SPOOLing系统加快了执行速度C SPOOLing系统使独占设备变成共享设备D SPOOLing系统利用了处理器与通道并行工作管理。【分析】SPOOLing系统有如下特征:1 提高了速度。对数据进行的I/O操作,已从低速I/O设备进
25、行的I/O操作,演化为从输入井或输出井中数据的存取,犹如脱机输入输出一样,提高了I/O速度,缓解了CPU与低速I/O设备之间速度不匹配的冲突。2 将独占设备改造成共享设备。在SPOOLing系统中,事实上并没有任何进程安排设备,而只是在输入井或输出井中,这样,便把独占设备改造成共享设备3 实现了虚拟设备功能。宏观上,多个进程在同时运用一台独占设备,而对每一个进程而言,都认为自己独占一个设备。【答案】A【例】虚拟设备是操作系统利用某种I/O技术,将某个_设备改造为多个用户可以共享的设备。【分析】虚拟设备是利用某种技术把独占设备改造成可由多个进程共享的设备。虚拟安排技术是利用共享设备去模拟独占设备
26、,从而使独占设备成为共享的,快速I/O的设备,实现虚拟安排的最出名的技术是SPOOLing技术。SPOOLing是在通道技术和多道程序基础上产生的,它由主机和相应的通道共同担当作业的输入输出工作,利用磁盘作为后援存储器,实现外围设备同时联机操作【答案】独占设备【例】虚拟设备是通过 技术,把 变成能为若干用户 的设备。【答案】SPOOLING,独享,共享【例】打印机通过SPOOLING技术改造后,可以成为供多个用户同时运用的虚拟设备。()【答案】正确。【例】虚拟设备技术将不能共享的设备改造成为可以共享的设备。()【解答】对【例】什么是预输入和缓输出?【解答】对于输入而言,预输入是指作业在执行前,
27、预先把用户提交的若干个作业的信息(程序,数据)从低速设备(纸带机,读卡机)输入到高速外设(磁盘,磁带)上。当用户程序被作业调度程序选中运行时,并发进程试图从低速输入设备上读数据时,SPOOLing程序截获此恳求,把它转换为从磁盘上读。磁盘是可共享的设备,各并发进程可同时从磁盘上读。给各用户进程的感觉就似乎系统供应了若干台输入设备一样。对于输出而言,缓输出是指为了将独享的打印机改造成为用户概念上的共享设备,当任何运行的互用进程要向打印机输出信息时,系统截获此恳求,首先将输出的信息编制成打印文件,并将它们存放在可共享的快速设备上。当打印设备空闲时,再从共享设备上一个一个地取文件进行打印。从而将独立运用的打印机变为可由多用户共享运用的打印机。将实现的这两个过程分别称为预输入和缓输出。【例】在实现后台打印时,SPOOLing系统应为恳求I/O的进程供应哪些服务?【解答】在恳求后台打印时,SPOOLing应为恳求I/O的进程供应的服务主要由SPOOLing的输出进程来担当,做三件事:1 在输出井上恳求一块缓冲区,将要打印的数据送入其中。2 恳求一张空白“用户恳求打印表”,填入打印说明信息后挂入恳求打印队列。3 一旦打印机空闲,就从恳求打印队列头部取下一个恳求打印表,依据表中要求将输入井的数据读入内存缓冲区,由打印机输出。
限制150内