操作系统 (1).ppt

上传人:hyn****60 文档编号:70746138 上传时间:2023-01-27 格式:PPT 页数:75 大小:4.82MB
返回 下载 相关 举报
操作系统 (1).ppt_第1页
第1页 / 共75页
操作系统 (1).ppt_第2页
第2页 / 共75页
点击查看更多>>
资源描述

《操作系统 (1).ppt》由会员分享,可在线阅读,更多相关《操作系统 (1).ppt(75页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第七章 操作系统接口 第七章第七章 操作系统接口操作系统接口 用用户户界界面面是是操操作作系系统统这这部部宏宏篇篇巨巨作作的的封封面面,用用户户对对操操作作系系统统的的第第一一印印象象从这里开始。从这里开始。第七章 操作系统接口 通常操作系统为用户提供两个接口。一个是系统为用户提供的各种命令控制界面接口,用户利用这些操作命令交互地来组织和控制程序的执行或管理计算机系统。另一个接口是程序接口,编程人员在程序中通过程序接口来请求操作系统提供服务。第七章 操作系统接口 系统调用(功能调用)系统命令(命令接口)命令解释处理结果命令处理程序调用处理程序用户程序(程序接口)用户系统交互界面应用编程接口AP

2、I处理结果用户与计算机的交互用户与计算机的交互图第七章 操作系统接口 7.1 7.1 联机命令接口联机命令接口 7.2 Shell7.2 Shell命令语言命令语言 7.3 7.3 系统调用系统调用 7.4 UNIX7.4 UNIX系统调用系统调用 7.5 7.5 图形用户接口图形用户接口 本章主要内容本章主要内容 第七章 操作系统接口 7.1 联机命令接口联机命令接口 7.1.1 联机命令的类型联机命令的类型 为了能向用户提供多方面的服务,通常,OS都向用户提供了几十条甚至上百条的联机命令。根据这些命令所完成功能的不同,可把它们分成以下几类:系统访问类;磁盘操作类;文件操作类;目录操作类;通

3、信类;其他命令。第七章 操作系统接口 联机命令的操作方式:联机命令的操作方式:键入式:命令解释程序对命令进行分析,然后执行相应的处理程序。操作者必须记住其命令名、字符串形式及其命令行参数,并须将其在键盘上一一敲入。第七章 操作系统接口 COMMAND.COM的工作流程第七章 操作系统接口 选择式:不需要用户输入命令名,系统根据选择点击信号进入命令的解释执行,任务完成后再返回原操作环境。菜单系统会限制用户使用命令的数量,因显示菜单而占用额外的存储空间和时间。视窗型命令界面:当今操作系统所具有的良好的用户交互界面,是系统可视化的一个基础,所以在操作系统领域被很快推广。命令已被开发成一条条能用鼠标点

4、击而执行的简单的菜单或小巧的图标。而且,用户也可以在提示符的提示下用普通字符方式输入各种命令。可以预见,计算机系统的命令控制界面将会越来越方便和越来越人性化。第七章 操作系统接口 1.系统访问类系统访问类在单用户微型机中,一般没有设置系统访问命令;然而在多用户系统中,为了保证系统的安全性,都毫无例外地设置了系统访问命令,即注册命令Login。用户在每次开始使用某终端时,都须使用该命令,使系统能识别该用户。凡要在多用户系统的终端上上机的用户,都必须先在系统管理员处获得一合法的注册名和口令。以后,每当用户在接通其所用终端的电源后,便由系统直接调用并在屏幕上显示出以下的注册命令:Login:/提示用

5、户键入自己的注册名当用户键入正确的注册名,并按下回车键后,屏幕上又会出现:Password:/提示用户键入自己的口令第七章 操作系统接口 2.键盘操作命令键盘操作命令(1)磁盘格式化命令Format。它被用于对指定驱动器上的软盘进行格式化。每张新盘在使用前都必须先格式化。其目的是使其记录格式能为操作系统所接受,可见,不同操作系统将磁盘初始化后的格式各异。此外,在格式化过程中,还将对有缺陷的磁道和扇区加保留记号,以防止将它分配给数据文件。第七章 操作系统接口(2)复制整个软盘命令Diskcopy。该命令用于复制整个磁盘,另外它还有附加的格式化功能。如果目标盘片是尚未格式化的,则该命令在执行时,首

6、先将未格式化的软盘格式化,然后再进行复制。(3)软盘比较命令Diskcomp。该命令用于将源盘与目标盘的各磁道及各扇区中的数据逐一进行比较。(4)备份命令Backup。该命令用于把硬盘上的文件复制到软盘上;而RESTORE命令则完成相反的操作。第七章 操作系统接口 3.文件操作命令文件操作命令(1)显示文件命令type。用于将指定文件显示在屏幕上。(2)拷贝文件命令copy。用于实现文件的拷贝。(3)文件比较命令comp。该命令用于对两个指定文件进行比较。两文件可以在同一个或不同的驱动器上。(4)重新命名命令Rename。该命令用于将以第一参数命名的文件,改成用第二参数给定的名字。(5)删除文

7、件命令erase。该命令用于删除一个或一组文件,当参数路径名为*.BAK时,表示删除指定目录下的所有其扩展名为.Bak的文件。第七章 操作系统接口 4.目录操作命令目录操作命令(1)建立子目录命令mkdir。用于建立指定名字的新目录。(2)显示目录命令dir。显示指定磁盘中的目录项。(3)删除子目录命令rmdir。该命令用于删除指定的子目录文件,但不能删除普通文件,而且,一次只能删除一个空目录(其中仅含“.”和“.”两个文件),不能删除根及当前目录。(4)显示目录结构命令tree。该命令用于显示指定盘上的所有目录路径及其层次关系。(5)改变当前目录命令chdir。该命令用于将当前目录改变为由路

8、径名参数给定的目录。用“.”作参数时,表示应返回到上一级目录下。第七章 操作系统接口 5.其它命令其它命令(1)输入输出重定向命令。在有的OS中定义了两个标准I/O设备。通常,命令的输入取自标准输入设备,即键盘;而命令的输出通常是送往标准输出设备,即显示终端。如果在命令中设置输出重定向“”符,其后接文件名或设备名,表示将命令的输出改向,送到指定文件或设备上。类似地,若在命令中设置输入重定向“”符,则不再是从键盘而是从重定向符左边参数所指定的文件或设备上,取得输入信息。第七章 操作系统接口(2)管道连接。这是指把第一条命令的输出信息作为第二条命令的输入信息;类似地,又可把第二条命令的输出信息作为

9、第三条命令的输入信息。这样,由两个(含两条)以上的命令可形成一条管道。在MS-DOS和UNIX中,都用“|”作为管道符号。其一般格式为:Command1|Command2|Commandn;第七章 操作系统接口(3)过滤命令。在UNIX及MS-DOS中,都有过滤命令,用于读取指定文件或标准输入,从中找出由参数指定的模式,然后把所有包含该模式的行都打印出来。例如,MS-DOS中用命令find/N“erase”(路径名)可对由路径名指定的输入文件逐行检索,把含有字符串“erase”的行输出。其中,/N是选择开关,表示输出含有指定字串的行;如果不用N而用C,则表示只输出含有指定字串的行数;若用V,则

10、表示输出不含指定字串的行。第七章 操作系统接口(4)批命令。为了能连续地使用多条键盘命令,或多次反复地执行指定的若干条命令,而又免去每次重敲这些命令的麻烦,可以提供一特定文件。在MS-DOS中提供了一种特殊文件,其后缀名用“.BAT”;在UNIX系统中称为命令文件。它们都是利用一些键盘命令构成一个程序,一次建立供多次使用。在MS-DOS中用batch命令去执行由指定或默认驱动器的工作目录上指定文件中所包含的一些命令。第七章 操作系统接口 7.1.2 键盘终端处理程序键盘终端处理程序为了实现人机交互,还须在微机或终端上配置相应的键盘终端处理程序,它应具有下述几方面的功能:(1)接收用户从终端上打

11、入的字符。(2)字符缓冲,用于暂存所接收的字符。(3)回送显示。(4)屏幕编辑。(5)特殊字符处理。第七章 操作系统接口 7.1.3 命令解释程序的作用命令解释程序的作用在联机操作方式下,终端处理程序把用户键入的信息送键盘缓冲区中保存。一旦用户键入回车符,便立即把控制权交给命令处理程序。显然,对于不同的命令,应有能完成特定功能的命令处理程序与之对应。可见,命令解释程序的主要作用,是在屏幕上给出提示符,请用户键入命令,然后读入该命令,识别命令,再转到相应命令处理程序的入口地址,把控制权交给该处理程序去执行,并将处理结果送屏幕上显示。若用户键入的命令有错,而命令解释程序未能予以识别,或在执行中间出

12、现问题时,则应显示出某一出错信息。第七章 操作系统接口 3.命令解释程序的工作流程命令解释程序的工作流程系统在接通电源或复位后,初始化部分获得控制权,对整个系统完成初始化工作,并自动执行AUTOEXEC.BAT文件,之后便把控制权交给暂存部分。暂存部分首先读入键盘缓冲区中的命令,判别其文件名、扩展名及驱动器名是否正确。若发现有错,在给出出错信息后返回;若无错,再识别该命令。一种简单的识别命令的方法是基于一张表格,其中的每一表目都是由命令名及其处理程序的入口地址两项所组成。如果暂存部分在该表中能找到键入的命令,且是内部命令,便可以直接从对应表项中获得该命令处理程序的入口地址,然后把控制权交给该处

13、理程序去执行该命令。第七章 操作系统接口 图7-2COMMAND.COM的工作流程第七章 操作系统接口 7.2 Shell命令语言命令语言 7.2.1 简单命令简单命令所谓简单命令,实际上是一个能完成某种功能的目标程序的名字。UNIX系统规定的命令由小写字母构成(但仅前8个字母有效)。命令可带有参数表,用于给出执行命令时的附加信息。命令名与参数表之间还可使用一种称为选项的自变量,用破折号开始,后跟一个或多个字母、数字。$Command-optionargumentlist例如:$LSfile1file2第七章 操作系统接口 这是一条不带选项的列目录命令,$是系统提示符。该命令用于列出file1

14、和file2两个目录文件中所包含的目录项,并隐含地指出按英文字母顺序列表。若给出tr选项,该命令可表示成:$LS-trfile1file2其中,选项t和r分别表示按最近修改次序及按反字母顺序列表。通常,命令名与该程序的功能紧密相关,以便于记忆。命令参数可多可少,也可缺省。第七章 操作系统接口 例如:$LS表示自动以当前工作目录为缺省参数,打印出当前工作目录所包含的目录项。简单命令的格式比较自由,包括命令名字符的个数及用于分隔命令名、选项、各参数间的空格数等,都是任意的。简单命令的数量易于扩充。系统管理员与用户自行定义的命令,其执行方式与系统标准命令的执行方式相同。第七章 操作系统接口 1.进入

15、与退出系统进入与退出系统(1)进入系统,也称为注册。事先,用户须与系统管理员商定一个唯一的用户名。管理员用该名字在系统文件树上,为用户建立一个子目录树的根结点。当用户打开自己的终端时,屏幕上会出现Login:提示,这时用户便可键入自己的注册名,并用回车符结束。然后,系统又询问用户口令,用户可用回车符或事先约定的口令键入。第七章 操作系统接口 (2)退退出出系系统统。每当用户用完系统后,应向系统报告自己不再往系统装入任何处理要求。系统得知后,便马上为用户记账,清除用户的使用环境。若用户使用系统是免费的,退出操作仅仅是一种礼貌。如果用户使用的是多终端中的一个终端,为了退出,用户只须按下Contro

16、l-D键即可,系统会重新给出提示符即Login,以表明该终端可供另一新用户使用。用户的进入与退出过程,实际上是由系统直接调用Login及Logout程序完成的。第七章 操作系统接口 2.文件操作命令文件操作命令(1)显示文件内容命令cat。如果用户想了解自己在当前目录中的某个或某几个指定文件的内容时,便可使用下述格式的cat命令:$catfilename1filename2(2)复制文件副本的命令cp。其格式为:cpsourcetarget该命令用于对已存在的文件source建立一个名为target的副本。第七章 操作系统接口(3)对已有文件改名的命令mv。其格式为:mvoldnamenewn

17、ame用于把原来的老名字改成指定的新名字。(4)撤消文件的命令rm。它给出一个参数表,是要撤消的文件名清单。(5)确定文件类型的命令file。该命令带有一个参数表,用于给出想了解其(文件)类型的文件名清单。命令执行的结果,将在屏幕上显示出各个文件的类型。第七章 操作系统接口 3.目录操作命令目录操作命令(1)建立目录的命令mkdir(简称md)。(2)(2)撤消目录的命令rmdir(简称rd)。(3)(3)改变工作目录的命令cd。(4)改变对文件的存取方式的命令chmod。其格式为:chmodwhoop-codepermissionfilename第七章 操作系统接口 4.系统询问命令系统询问

18、命令(1)访问当前日期和时间命令date。例如,用命令$date屏幕上将给出当前的日期和时间,如为:WedAng1409:27:20PDT1991表示当前日期是1991年9月14日、星期三,还有时间信息若在命令名后给出参数,则date程序把参数作为重置系统时钟的时间。第七章 操作系统接口(2)询问系统当前用户的命令who。who命令可列出当前每一个处在系统中的用户的注册名、终端名和注册进入时间,并按终端标志的字母顺序排序。例如,报告有下列三用户:Veronicabxo66Aug2713:28Rathomasdz24Aug2807:42Jlyatestty5Aug2807:39第七章 操作系统接

19、口(3)显示当前目录路径名的命令pwd。当前目录的路径名是从根结点开始,通过分支上的所有结点到达当前目录结点为止的路径上的所有结点的名字拼起来构成的。用户的当前目录可能经常在树上移动。如果用户忘记了自己在哪里,便可用pwd确定自己的位置。第七章 操作系统接口 7.2.2 重定向与管道命令重定向与管道命令 1.重定向命令重定向命令在UNIX系统中,由系统定义了三个文件。其中,有两个分别称为标准输入和标准输出的文件,各对应于终端键盘输入和终端屏幕输出。它们是在用户注册时,由Login程序打开的。这样,在用户程序执行时,隐含的标准输入是键盘输入,标准输出即屏幕(输出)显示。但用户程序中可能不要求从键

20、盘输入,而是从某个指定文件上读取信息供程序使用;同样,用户可能希望把程序执行时所产生的结果数据,写到某个指定文件中而非屏幕上。这就使用户必须去改变输入与输出文件,即不使用标准输入、标准输出,而是把另外的某个指定文件或设备,作为输入或输出文件。第七章 操作系统接口 Shell向用户提供了这种用于改变输入、输出设备的手段,此即标准输入与标准输出的重新定向。用重定向符“”和“”分别表示输入转向与输出转向。例如,对于命令$catfile1表示将文件file1的内容,在标准输出上打印出来。若改变其输出,用命令$catfile1file2时,表示把文件file1的内容,打印输出到文件file2上。同理,对

21、于命令$wc表示对标准输入中的行中字和字符进行计数。若改变其输入,用命令第七章 操作系统接口$wcfile3则表示把从文件file3中读出的行中的字和字符进行计数。须指明的是,在做输出转向时,若上述的文件file2并不存在,则先创建它;若已存在,则认为它是空白的,执行上述输出转向命令时,是用命令的输出数据去重写该文件;如果文件file2事先已有内容,则命令执行结果将用文件file1的内容去更新文件file2的原有内容。现在,如果又要求把file4的内容附加到现有的文件file2的末尾,则应使用另一个输出转向符“”,即此时应再用命令$catfile4file2第七章 操作系统接口 便可在文件fi

22、le2中,除了上次复制的file1内容外,后面又附加了file4的内容。当然,若想一次把两个文件file1和file4全部复制到file2中,则可用命令$catfile1file4file2此外,也可在一个命令行中,同时改变输入与输出。例如,命令行a.outfile1file0表示,在可执行文件a.out执行时,将从文件file1中提取数据,而把a.out的执行结果数据输出到文件file0中。第七章 操作系统接口 2.管道命令管道命令在有了上述的重定向思想后,为了进一步增强功能,人们又进一步把这种思想加以扩充,用符号“|”来连接两条命令,使其前一条命令的输出作为后一条命令的输入。即$comma

23、nd1|command2例如,对于下述输入catfile|wc将使命令cat把文件file中的数据,作为wc命令的计数用输入。第七章 操作系统接口 7.2.3 通信命令通信命令 1.信箱通信命令信箱通信命令mail它被作为在UNIX的各用户之间,进行非交互式通信的工具。mail采用信箱通信方式。发信者把要发送的消息写成信件,“邮寄”到对方的信箱中。通常各用户的私有信箱采用各自的注册名命名,即它是目录/usr/spool/mail中的一个文件,而文件名又是用接收者的注册名来命名的。信箱中的信件可以一直保留到被信箱所有者消除为止。因而,用mail进行通信时,不要求接收者利用终端与发送者会话。亦即,

24、在发信者发送信息时,虽然接收者已在系统中注册过,但允许他此时没有使用系统;也可以是虽在使用系统,但拒绝接收任何信息。第七章 操作系统接口 接收者也用mail命令读取信件,可使用可选项r、q或p等。其命令格式为:mail-r-q-p-file-Fpersons由于信箱中可存放所接收的多个信件,这就存在一个选取信件的问题。上述几个选项分别表示:按先进先出顺序显示各信件的内容;在打入中断字符(DEL或RETURN)后,退出mail程序而不改变信箱的内容;以及一次性地显示信箱全部内容而不带询问,把指定文件当作信件来显示。在不使用-p选项时,表示在显示完一个信件后,便出现“?”,以询问用户是否继续显示下

25、一条消息,或选读完最后一条消息后退出mail。第七章 操作系统接口 2.对话通信命令对话通信命令write命令格式为:writeuserttyname当接收者只有一个终端时,终端名可缺省。当接收者的终端被允许接收消息时,屏幕提示会通知接收者源用户名及其所用终端名。第七章 操作系统接口 3.允许或拒绝接收消息的允许或拒绝接收消息的mesg命令命令其格式为:mesg-n-y选项n表示拒绝对方的写许可(即拒绝接收消息);选项y指示恢复对方的写许可,仅在此时,双方才可联机通信。当用户正在联机编写一份资料而不愿被别人干扰时,常选用n选项来拒绝对方的写许可。编辑完毕,再用带有y选项的mesg命令来恢复对方

26、的写许可,不带自变量的mesg命令只报告当前状态而不改变它。第七章 操作系统接口 7.2.4 后台命令后台命令 UNIX系统提供了这种机制,用户可以在这种命令后面再加上“&”号,以告诉Shell将该命令放在后台执行,以便用户在前台继续键入其它命令。在后台运行的程序仍然把终端作为它的标准输出和标准错误文件,除非对它们进行重新定向。其标准输入文件是自动地被从终端定向到一个被称为“/dev/null”的空文件中。若shell未重定向标准输入,则shell和后台进程将会同时从终端进行读入。这时,用户从终端键入的字符可能被发送到一个进程或另一个进程,并不能预测哪个进程将得到该字符。第七章 操作系统接口

27、7.3 系系 统统 调调 用用 7.3.1 系统调用的基本概念系统调用的基本概念(1)运行在不同的系统状态。(2)通过软中断进入。(3)返回问题。(4)嵌套调用。第七章 操作系统接口 图7-3系统功能的调用第七章 操作系统接口 7.3.2 系统调用的类型系统调用的类型 1.进程控制类系统调用进程控制类系统调用(1)创建和终止进程的系统调用。(2)(2)获得和设置进程属性的系统调用。(3)(3)等待某事件出现的系统调用。第七章 操作系统接口 2.文件操纵类系统调用文件操纵类系统调用(1)创建和删除文件。(2)(2)打开和关闭文件。(3)(3)读和写文件。第七章 操作系统接口 3.进程通信类系统调

28、用进程通信类系统调用 在OS中经常采用两种进程通信方式,即消息传递方式和共享存储区方式。当系统中采用消息传递方式时,在通信前,必须先打开一个连接。为此,应由源进程发出一条打开连接的系统调用openconnection,而目标进程则应利用接受连接的系统调用acceptconnection表示同意进行通信;然后,在源和目标进程之间便可开始通信。可以利用发送消息的系统调用sendmessage或者用接收消息的系统调用receivemessage来交换信息。通信结束后,还须再利用关闭连接的系统调用closeconnection结束通信。第七章 操作系统接口 7.3.3 系统调用的实现系统调用的实现 1

29、.中断和陷入硬件机构中断和陷入硬件机构(1)什么是中断和陷入。中断是指CPU对系统发生某事件时的这样一种响应:CPU暂停正在执行的程序,在保留现场后自动地转去执行该事件的中断处理程序;执行完后,再返回到原程序的断点处继续执行。第七章 操作系统接口 图7-4中断时的CPU轨迹第七章 操作系统接口(2)中断和陷入向量。第七章 操作系统接口 系统调用处理过程系统调用处理过程第七章 操作系统接口 2.系统调用号和参数的设置系统调用号和参数的设置(1)直接将参数送入相应的寄存器中。(2)(2)参数表方式。图7-6系统调用的参数形式第七章 操作系统接口 3.系统调用的处理步骤系统调用的处理步骤 首先,将处

30、理机状态由用户态转为系统态;之后,由硬件和内核程序进行系统调用的一般性处理,即首先保护被中断进程的CPU环境,将处理机状态字PSW、程序计数器PC、系统调用号、用户栈指针以及通用寄存器内容等,压入堆栈;然后,将用户定义的参数传送到指定的地方保存起来。其次,是分析系统调用类型,转入相应的系统调用处理子程序。最后,在系统调用处理子程序执行完后,应恢复被中断的或设置新进程的CPU现场,然后返回被中断进程或新进程,继续往下执行。第七章 操作系统接口 4.系统调用处理子程序的处理过程系统调用处理子程序的处理过程进入Creat的处理子程序后,核心将根据用户给定的文件路径名Path,利用目录检索过程,去查找

31、指定文件的目录项。查找目录的方式可以用顺序查找法,也可用Hash查找法。如果在文件目录中找到了指定文件的目录项,表示用户要利用一个已有文件来建立一个新文件。但如果在该已有(存)文件的属性中有不允许写属性,或者创建者不具有对该文件进行修改的权限,使认为是出错而做出错处理;若不存在访问权限问题,便将已存文件的数据盘块释放掉,准备写入新的数据文件。如未找到指名文件,则表示要创建一个新文件,核心便从其目录文件中找出一个空目录项,并初始化该目录项,包括填写文件名、文件属性、文件建立日期等,然后将新建文件打开。第七章 操作系统接口 7.4 UNIX系统调用系统调用 7.4.1 UNIX系统调用的类型系统调

32、用的类型 1.进程控制进程控制(1)创建进程(fork)。(2)(2)终止进程(exit)。(3)(3)等待子进程结束(wait)。(4)(4)执行一个文件(exec)。(5)(5)获得进程ID。(6)(6)获得用户ID。(7)(7)进程暂停(pause)。第七章 操作系统接口 2.文件操纵文件操纵(1)创建文件(creat)。(2)(2)打开文件(open)。(3)(3)关闭文件(close)。(4)(4)读和写文件read和write。(5)(6)(5)连接和去连接(link和unlink)。文件描述符fd;buf缓冲区首址。用户要求传送的字节数nbyte。第七章 操作系统接口 3.进程间

33、通信进程间通信(1)消息机制。(2)(2)共享存储器机制。(3)(3)信号量机制。第七章 操作系统接口 4.信息维护信息维护(1)设置和获得时间。(2)(2)获得进程和子进程时间(times)。(3)(3)设置文件访问和修改时间(utime)。(4)(4)获得当前UNIX系统的名称(uname)。第七章 操作系统接口 7.4.2 被中断进程的环境保护被中断进程的环境保护 1.CPU环境保护环境保护当用户程序处在用户态,且在执行系统调用命令(即CHMK命令)之前,应在用户空间提供系统调用所需的参数表,并将该参数表的地址送入R0寄存器。在执行CHMK命令后,处理机将由用户态转为核心态,并由硬件自动

34、地将处理机状态长字(PSL)、程序计数器(PC)和代码操作数(code)压入用户核心栈,继而从中断和陷入向量表中取出trap.S的入口地址然后便转入中断和陷入总控程序trap.S中执行。第七章 操作系统接口 trap.S程序执行后,继续将陷入类型type和用户栈指针usp压入用户核心栈,接着还要将被中断进程的CPU环境中的一系列寄存器如R0R11的部分或全部内容压入栈中。至于哪些寄存器的内容要压入栈中,这取决于特定寄存器中的屏蔽码,该屏蔽码的每一位都与R0R11中的一个寄存器相对应。当某一位置成1时,表示对应寄存器的内容应压入栈中。第七章 操作系统接口 2.AP和和FP指针指针 图7-7用户核

35、心栈第七章 操作系统接口 7.4.3 系统调用陷入后需处理的若干公共问题系统调用陷入后需处理的若干公共问题 1.确定系统调用号确定系统调用号trap(usp,type,code,PC,PSL)其中,参数PSL为陷入时处理机状态字长,PC为程序计数器,code为代码操作数,type为陷入类型号,usp为用户栈指针。对陷入的处理可分为多种情况,如果陷入是由于系统调用所引起的,则对此陷入的第一步处理,便是确定系统调用号。通常,系统调用号是包含在代码操作数中,故可利用code来确定系统调用号i。其方法是:令i=code&0377第七章 操作系统接口 2.参数传送参数传送这是对因系统调用引起的陷入的第二

36、步处理。参数传送是指由trap.C程序将系统调用参数表中的内容,从用户区传送到User结构的U.U-arg中,供系统调用处理程序使用。由于用户程序在执行系统调用命令之前,已将参数表的首址放入R0寄存器中,在进入trap.C程序后,该程序便将该首址赋予U.U-arg指针,因此,trap.C在处理参数传送时,可读取该指针的内容,以获得用户所提供的参数表,并将之送至U.U-arg中。应当注意,对不同的系统调用所需传送参数的个数并不相同,trap.C程序应根据在系统调用定义表中所规定的参数个数来进行传送,最多允许10个参数。第七章 操作系统接口 3.利用系统调用定义表转入相应的处理程序利用系统调用定义

37、表转入相应的处理程序在UNIX系统中,对于不同(编号)的系统调用,都设置了与之相应的处理子程序。为使不同的系统调用能方便地转入其相应的处理子程序,也将各处理子程序的入口地址放入了系统调用定义表即Sysent中。该表实际上是一个结构数组,在每个结构中包含三个元素,其中第一个元素是相应系统调用所需参数的个数;第二个元素是系统调用经寄存器传送的参数个数;第三个元素是相应系统调用处理子程序的入口地址。在系统中设置了该表之后,便可根据系统调用号i从系统调用定义表中找出相应的表目,再按照表目中的入口地址转入相应的处理子程序,由该程序去完成相应系统调用的特定功能。在该子程序执行完后,仍返回到中断和陷入总控程

38、序中的trap.C程序中,去完成返回到断点前的公共处理部分。第七章 操作系统接口 4.系统调用返回前的公共处理系统调用返回前的公共处理在UNIX系统中,进程调度的主要依据,是进程的动态优先级。随着进程执行时间的加长,其优先级将逐步降低。每当执行了系统调用命令、并由系统调用处理子程序返回到trap.C后,都将重新计算该进程的优先级;另外,在系统调用执行过程中,若发生了错误使进程无法继续运行时,系统会设置再调度标志。处理子程序在计算了进程的优先级后,又去检查该再调度标志是否已又被设置。若已设置,便调用switch调度程序,再去从所有的就绪进程中选择优先级最高的进程,把处理机让给该进程去运行。第七章

39、 操作系统接口 7.5 图形用户接口图形用户接口 7.5.1 桌面、图标和任务栏桌面、图标和任务栏 1.桌面与图标的初步概念桌面与图标的初步概念所谓桌面,是指整个屏幕空间,即在运行Windows时用户所看到的屏幕。该桌面是由多个任务共享。为了避免混淆,每个任务都通过各自的窗口显示其操作和运行情况,因此,Windows允许在桌面上同时出现多个窗口。所谓窗口是指屏幕上的一块矩形区域。应用程序(包括文档)可通过窗口向用户展示出系统所能提供的各种服务及其需要用户输入的信息;用户可通过窗口中的图标去查看和操纵应用程序或文档。第七章 操作系统接口 2.桌面上常见的图标桌面上常见的图标 第七章 操作系统接口

40、 3.“开始开始”按钮和任务栏按钮和任务栏(1)“开始”按钮。(2)(2)任务栏。(3)(3)任务栏的隐藏方式。(4)(4)任务子栏。第七章 操作系统接口 7.5.2 窗口窗口 1.窗口的组成窗口的组成(1)标题栏和窗口标题。(2)(2)菜单栏。(3)(3)工具栏。(4)(4)控制菜单按钮。(5)(5)最大化、最小化和关闭按钮。(6)(6)滚动条。(7)(7)窗口边框。(8)(8)工作区域。第七章 操作系统接口 第七章 操作系统接口 2.窗口的性质窗口的性质(1)窗口的状态。(2)窗口的改变。第七章 操作系统接口 7.5.3 对话框对话框 1.对话框的用途对话框的用途 对话框的主要用途是实现人机对话,即系统可通过对话框提示用户输入与任务有关的信息,比如提示用户输入要打开文件的名字、其所在目录、所在驱动器及文件类型等信息;或者对于对象的属性、窗口等的环境设置的改变等,比如设置文件的属性、设置显示器的颜色和分辨率、设置桌面的显示效果;还可以提供用户可能需要的信息等。第七章 操作系统接口 2.对话框的组成对话框的组成 1)标题栏2)2)输入框3)3)按钮(1)命令按钮。(2)(2)选择按钮。(3)(3)滑块式按钮。(4)(4)数字式增减按钮。第七章 操作系统接口 图7-10对话框(a)“另存为”对话框第七章 操作系统接口 图7-10对话框

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁