9第九章操作系统接口第四版课件

上传人:风*** 文档编号:240743522 上传时间:2024-05-04 格式:PPT 页数:46 大小:1.58MB
返回 下载 相关 举报
9第九章操作系统接口第四版课件_第1页
第1页 / 共46页
9第九章操作系统接口第四版课件_第2页
第2页 / 共46页
9第九章操作系统接口第四版课件_第3页
第3页 / 共46页
点击查看更多>>
资源描述
第九章操作系统接口 9.1 9.1 用户接口用户接口9.2 Shell9.2 Shell命令接口命令接口9.3 9.3 联机联机命令接口命令接口9.4 9.4 系统调用的概念和类系统调用的概念和类型型9.5 9.5 UNIXUNIX系统调用系统调用9.6 9.6 系统调用的实现系统调用的实现第七章作业管理与OS接口 9.1 用户接口用户接口开机开机命令提示符出现命令提示符出现打入命令打入命令打回车程序首指令执行程序首指令执行程序尾指令执行程序尾指令执行下一个命令提示符出现下一个命令提示符出现(在前一个命令提示符的下一行首)(在前一个命令提示符的下一行首)9.1.1字符显示式联机用户接口1.命令行方式2.批命令方式.BAT BAT 文件文件例子:启动中文环境需要多条命令:装入字库 启动主程序 装入汉字输入法 AUTOEXEC.BATAUTOEXEC.BAT 以命令方式启动执行批文件以命令方式启动执行批文件操作系统调入批文件,读进其中第一条命令操作系统调入批文件,读进其中第一条命令装入并启动该命令要执行的程序装入并启动该命令要执行的程序该程序执行完毕该程序执行完毕回到操作系统,回到操作系统,操作系统从该批文件中读下一条命令操作系统从该批文件中读下一条命令批批方方式式下下的的装装入入启启动动过过程程9.1.2图形化联机用户接口1、图形用户接口GUI2、使用WIMP技术3、Windows的GUI采用事件驱动的方式,用户通过动作产生事件,驱动程序工作。六十年代中期:问答式对话、文本菜单或命令语言,基于命令行界面的交互式系统七十、八十年代:图形用户界面时代,形成WIMP标准,以窗口(windows)、图标(icon)、菜单(menu)、指点装置(pointing device)为基础的交互式系统,实际行动代替复杂语法多媒体界面是WIMP另一种风格,是单通道的未来的交互式系统必将是多通道的 通过各种不同的人体通道,如语音、手势、身体语言等交互,大大提高交互的自然性和高效性 遵循以人为中心的自然交互特点,实现人与系统的无障碍自然交互(1)系统访问命令登录命令,如,login等撤离命令,如,logout等(2)文件管理命令(3)目录操作命令(4)其它命令联机命令的类型(1)UNIX系统:whols-l(2)DOS系统dirc:(3)VAX/VMSrunmypro典型命令实例9.2Shell命令语言9.2.1 简单命令简介简单命令简介1.简单命令格式简单命令格式命令名命令名 选项选项 参数参数2.简单命令的分类简单命令的分类(1)系统提供的标准命令)系统提供的标准命令(2)用户自定义的命令)用户自定义的命令(1)内部命令)内部命令(2)外部命令)外部命令3.Shell的种类的种类(1)B Shell$作为提示符作为提示符 (2)C Shell%作为提示符作为提示符(3)K Shell 9.2.2简单命令的类型1、进入退出系统LoginLogout2、文件操作命令显示文件内容:cat复制文件:cp文件重命名:mv撤销文件:rm确定文件类型:file3、目录操作命令建立目录:mkdir撤销目录:rmdir改变目录:cd4、系统询问类命令询问日期:date询问当前用户:who9.2.3重定向与管道命令1、重定向:改变输入输出的重定向“”表示输入重定向和输出重定向2、管道命令:Catfile|wc将文件file的数据作为命令wc的计数输入命令接口在操作系统与计算机用户之间提供易于理解的双向通信机制基本任务:解释命令,传送命令以便执行 接受系统信息,提交给用户交互式命令的接口复杂:含功能结构,可能问题的处理,如各种约定、前端处理、命令日志、命令注解、宏命令及命令组等交互式控制灵活方便,可以随时进行各种处理,排除问题,方便调试;系统利用率低命令接口类型:作业控制语言,键盘操作命令接口包括:一组联机命令,终端处理程序,命令解释程序9.3联机命令接口的实现终端处理程序交互式命令接口用户同操作系统的通信是通过一个输入/输出装置来实现的I/O装置一般是显示终端 通过键盘或鼠标输入,系统输入呈现在显示屏幕上,一次显示若干正文行,某些系统中,提供图形显示功能不管哪种I/O方式,这个终端装置是由一个终端处理程序来管理和控制的。终端处理程序提供的输入输出方式对整个用户命令接口有重大影响,也确定了用户与其应用程序之间的通信方式终端处理程序必须作为用户接口的一个组成部分来考虑,即,直接影响命令接口的一些问题须由终端处理程序解决直接影响命令接口的一些问题(a)回送显示(Echoing)(b)提前打入(Type ahead)(c)字符变换(d)行缓冲(e)中断字符(Break Characters)命令解释程序 命令解释程序有两种处理方法:(a)由终端命令解释程序直接处理 在没有创建子进程功能的系统中,终端命令通常由对应的命令解释程序处理(一个进程对应一个终端用户)(b)由子进程代为处理在具有创建子进程功能的系统中,对于较为单纯的命令,由命令解释程序直接处理对较复杂命令,如对于PASCAL源程序进行编译,命令解释程序本身不能处理,此时创建一个子进程,并由该子进程运行PASCAL编译程序命令接口的结构(a)作为OS的一个部分 如,OS/MVT或VAX/VMS(b)作为OS的一个独特模块,能方便地修改或替换 如,RT-11或CP/M(c)作为一易于被替换的普通程序 如,UNIX操作系统(d)在某些系统中,可能用专门设计的命令接口替代标准的命令接口 如,多用户UNIX,用户可有不同命令接口命令接口结构命令语言命令语言规定由OS执行的一系列操作在一般的命令语言中,用户通过打入称为命令行的一行指令来规定每一个动作每一命令行以命令开始,它标识所要执行的操作大多数命令是用运行一个程序来执行所请求的操作命令的附加功能(参数与变量,通配符,重定向,管道与过滤器等)命令结构:(命令前缀)命令名(命令参数)(命令选项)命令文件提前写出命令并存入文件,称之为命令文件命令文件提供了一种把一系列命令组装成文件的方法,然后用文件名作为命令名执行另外一系列命令。特点:(1)接受参数、变量,宏变量替换(2)允许嵌套形式调用其他命令文件(3)允许参数来自终端的命令文件本身(4)允许执行显示到终端、存入文件或送入打印机(5)允许命令加入注释(6)出错时允许用户干预(7)可把输入传给程序,可有循环、分支、转移等由一组系统调用命令组成负责管理和控制运行的程序并在这些程序与系统控制的资源和提供的服务间实现交互作用用汇编语言:在程序中直接用系统调用命令用高级语言:可在编程时使用过程调用语句程序级接口用户接口与OS间的关系图9.4 系统调用概念和类型 系统调用指系统为用户程序调用操作系统所提供的子程序。它与一般的函数调用不同,系统调用是通过中断方式转向相应子程序的,它工作在核心态(即特权方式),而一般函数调用,仍仅在用户态下的地址转移。系统调用系统调用,是用户在程序中调用操作系统所提供的一些子功能这是特殊的过程调用,由特殊的机器指令实现这个指令还将系统转入管态系统调用是操作系统提供给编程人员的唯一接口,利用系统调用,动态请求和释放系统资源,完成与硬件相关的工作以及控制程序的执行等每个操作系统都提供几百种系统调用实际上系统调用语句本身是硬件提供的(机器指令),但其所调用的功能是操作系统提供的每种机器的机器指令集中都有一条系统调用指令(访管指令)系统调用方式(INT)与程序中一般的调用方式的相同点:改变指令流程重复执行和公用改变指令流程后需要返回原处系统调用与过程调用的相同点系统调用与一般过程调用的区别运行在不同的系统状态 一般过程调用,其调用程序和被调用程序都运行在相同状态:核心态或用户态系统调用:调用程序在用户态,被调用程序在系统态状态的转换一般的过程调用不涉及系统状态的转换,可直接由调用过程转向被调用过程运行系统调用时,调用和被调用过程在不同系统状态,不允许由调用过程直接转向被调用过程通过软中断机制先由用户态转换为核心态在OS核心分析后,转向相应的系统调用处理子程序同一程序中不包含被调用代码系统调用是动态调用,程序中不包含被调用代码,好处:(1)用户程序长度缩短(2)当OS升级时,调用方不必改变系统调用方式的调用地址和返回地址都是不固定的(系统调用指令中不包含调用地址,只包含功能号;系统调用返回指令中不包括返回地址,通过栈保存和弹出返回地址,系统调用返回地址不固定)系统调用与过程调用的区别(续)返回问题一般过程调用在被调用过程执行完后,回调用过程抢占式调度的系统中,被调用过程执行完后,系统将对所有要求运行的进程进行优先级分析。如果调用进程仍有最高优先级,则返回到调用进程执行 否则,引起重新调度,让优先级最高的进程优先执行。此时,系统把调用进程放入就绪队列嵌套调用系统调用也允许嵌套调用,即在一被调用过程执行期间,可再利用系统调用命令调用另一系统调用一般每个系统对嵌套调用的深度有限制系统调用的返回与嵌套调用系统调用的分类将系统的功能分为两部分:系统自身所需要的作为服务提供给用户的OS的系统调用:进程控制类系统调用文件操作类系统调用进程通信类系统调用设备管理类系统调用信息维护类系统调用“广义指令”和“虚处理机”系统调用命令扩充机器指令,增强系统的功能,方便用户使用,称为“广义指令”。“广义指令”和机器指令的不同:机器指令是由硬件线路直接实现的 “广义指令”由OS提供的多个子程序,软件实现的“虚处理机”:从用户角度来看,“广义指令”,扩大了机器指令系统,增强了处理机功能,提供了一台功能更强,使用更方便的处理机,实现了处理机性能上的扩充,为了区别于真实的物理处理机,称它为“虚处理机”。虚拟机硬件:CPU、内存、外设裸机:没有配置任何软件的计算机虚拟机:在逻辑上添加一层软件来扩充计算机功能,被改造后的计算机,除了基本硬件指令外,又增加了许多新的命令,这些指令和命令的集合称为扩充后的机器指令系统,从而形成了一台比原来机器性能更好、功能更强的计算机,这种经软件改造后的计算机称为虚拟机。微机OS中的系统调用一般外设的输入、输出的系统调用磁盘管理及磁盘输入、输出的系统调用磁盘文件管理的系统调用其它系统调用系统调用过程为为执行系统调用命令作准备。其主要工作是把用户程序的“现场”保留起来,并把系统调用命令的编号等参数放入约定的存储单元。根根据系统调用的编号,访问系统调用入口表,找到相应子程序的入口地址,然后转去执行。系系统调用命令执行完后的处理。这包括恢复“现场”,并把系统调用的返回参数或参数区首址放入指定的通用寄存器中,以供用户程序使用。必须为实现系统调用功能的子程序编造入口地址表每个入口地址与相应的系统程序名对应陷入处理程序把陷入指令包含功能号与入口地址表有关项对应,系统调用功能号驱动有关子程序执行在系统调用处理结束之后,用户程序需利用系统调用返回结果继续执行保护现场:在进入系统调用处理之前,陷入处理机构还需保存处理机现场在系统调用处理结束之后,要恢复处理机现场,现场被保护在特定的内存区或寄存器中系统调用过程(续)系统调用过程(续)UNIX系统调用的类型进程控制文件操纵 进程间通信(通信软件包:IPC)信息维护进程控制创建进程(fork)终止进程(exit)等待子进程结束(wait)执行一个文件(exec)获得进程ID获得用户ID进程暂停(pause)文件操纵创建文件(creat)打开文件(open):把文件属性从盘复制到内存关闭文件(close):切断用户程序与该文件的通路读和写文件(read和write)连接和去连接(link和anlink)进程间通信消息机制,用msgget建消息队列(成功)返回mssgid共享存贮机制:利用shmget建立共享存贮区信号量机制:允许将一组信号量形成一个信号量集 信息维护设置和获得时间获得进程和子进程时间(times)设置文件访问和修改时间(utime)获得当前UNIX系统的名称(uname)被中断进程的环境保护CPU环境保护:应在用户空间提供系统调用所需的参数表,并将该参数表的地址送入R0寄存器。AP和FP指针:系统调用参数表指针AP是用于指示正在执行的系统调用所需参数表的地址,栈帧指针FP则是用于指示本次系统调用所保存的数据项。系统调用陷入后需处理的问题trap.C程序是一各处理各种陷入情况的C语言文件,共有12种陷入的处理要调用trap.C程序。1.确定系统调用号,其调用形式为:trap(usp,type,code,PC,PSL)2.参数传送:参数传送是指由trap.C程序将系统调用参数表中的内容,从用户区传送到User结构的U.U-arg中,供系统调用处理程序使用。系统调用陷入后需处理的问题(续)3.利用系统调用定义表转入相应的处理程序 在UNIX系统中,对于不同(编号)的系统调用,都设置了与之相应的处理子程序。4.系统调用返回前的公共处理 在UNIX系统中,进程调度的主要依据,是进程的动态优先级。随着进程执行时间加长,其优先级将逐步降低。UNIX系统规定,当进程的运行是处于系统态时,即使再有其他进程又发来了信号,也不予理睬;仅当进程已从系统态返回到用户态时,内核才检查该进程是否已收到了由其他进程发来的信号。
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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