- 1、本文档共74页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
7操作系统接口解读
trap.S程序执行后,继续将陷入类型type和用户栈指针usp压入用户核心栈,接着还要将被中断进程的CPU环境中的一系列寄存器如R0~R11的部分或全部内容压入栈中。至于哪些寄存器的内容要压入栈中,这取决于特定寄存器中的屏蔽码,该屏蔽码的每一位都与R0~R11中的一个寄存器相对应。当某一位置成1时,表示对应寄存器的内容应压入栈中。 2. AP和FP指针 图 7 - 7 用户核心栈 7.4.3 系统调用陷入后需处理的若干公共问题 1. 确定系统调用号 trap(usp, type, code, PC, PSL) 其中,参数PSL为陷入时处理机状态字长,PC为程序计数器,code为代码操作数,type为陷入类型号,usp为用户栈指针。对陷入的处理可分为多种情况,如果陷入是由于系统调用所引起的,则对此陷入的第一步处理, 便是确定系统调用号。通常,系统调用号是包含在代码操作数中,故可利用code来确定系统调用号i。 其方法是: 令 i=code 0377 2. 参数传送 这是对因系统调用引起的陷入的第二步处理。参数传送是指由trap.C程序将系统调用参数表中的内容,从用户区传送到User结构的U.U-arg[ ]中,供系统调用处理程序使用。由于用户程序在执行系统调用命令之前,已将参数表的首址放入R0寄存器中,在进入trap.C程序后,该程序便将该首址赋予U.U-arg[ ]指针, 因此, trap.C在处理参数传送时,可读取该指针的内容,以获得用户所提供的参数表, 并将之送至U.U-arg[ ]中。应当注意,对不同的系统调用所需传送参数的个数并不相同,trap.C程序应根据在系统调用定义表中所规定的参数个数来进行传送,最多允许10个参数。 3. 利用系统调用定义表转入相应的处理程序 在UNIX系统中,对于不同(编号)的系统调用,都设置了与之相应的处理子程序。为使不同的系统调用能方便地转入其相应的处理子程序,也将各处理子程序的入口地址放入了系统调用定义表即Sysent[ ]中。该表实际上是一个结构数组, 在每个结构中包含三个元素,其中第一个元素是相应系统调用所需参数的个数;第二个元素是系统调用经寄存器传送的参数个数;第三个元素是相应系统调用处理子程序的入口地址。在系统中设置了该表之后,便可根据系统调用号i从系统调用定义表中找出相应的表目,再按照表目中的入口地址转入相应的处理子程序,由该程序去完成相应系统调用的特定功能。在该子程序执行完后,仍返回到中断和陷入总控程序中的trap.C程序中,去完成返回到断点前的公共处理部分。 4. 系统调用返回前的公共处理 在UNIX系统中,进程调度的主要依据,是进程的动态优先级。随着进程执行时间的加长,其优先级将逐步降低。每当执行了系统调用命令、并由系统调用处理子程序返回到trap.C后,都将重新计算该进程的优先级;另外,在系统调用执行过程中,若发生了错误使进程无法继续运行时,系统会设置再调度标志。处理子程序在计算了进程的优先级后,又去检查该再调度标志是否已又被设置。若已设置, 便调用switch调度程序,再去从所有的就绪进程中选择优先级最高的进程, 把处理机让给该进程去运行。 7.5 图形用户接口 7.5.1 桌面、图标和任务栏 1. 桌面与图标的初步概念 所谓桌面,是指整个屏幕空间,即在运行Windows时用户所看到的屏幕。该桌面是由多个任务共享。为了避免混淆, 每个任务都通过各自的窗口显示其操作和运行情况,因此, Windows允许在桌面上同时出现多个窗口。所谓窗口是指屏幕上的一块矩形区域。应用程序(包括文档)可通过窗口向用户展示出系统所能提供的各种服务及其需要用户输入的信息; 用户可通过窗口中的图标去查看和操纵应用程序或文档。 2. “开始”按钮和任务栏 “开始”按钮。 (2) 任务栏。 (3) 任务栏的隐藏方式。 (4) 任务子栏。 7.5.2 窗口 1. 窗口的组成 标题栏和窗口标题。 (2) 菜单栏。 (3) 工具栏。 (4) 控制菜单按钮。 (5) 最大化、 最小化和关闭按钮。 (6) 滚动条。 (7) 窗口边框。 (8) 工作区域。 2. 窗口的性质 (1) 窗口的状态。 (2) 窗口的改变。 7.5.3 对话框 1. 对话框的用途 对话框的主要用途是实现人—机对话,即系统可通过对话框提示用户输入与任务有关的信息,比如提示用户输入要打开文件的名字、其所在目录、所在驱动器及文件类型等信息;或者对于对象的属性、窗口
文档评论(0)