版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第7 7章章 操作系统接口操作系统接口 为了使用户能方便地通过操作系统使用计算为了使用户能方便地通过操作系统使用计算机,机,OSOS向用户提供了各种接口,具体有:向用户提供了各种接口,具体有:n命令接口命令接口n系统功能调用系统功能调用(程序接口)(程序接口)n图形用户接口图形用户接口7.1 7.1 联机命令接口联机命令接口命令接口命令接口:OSOS向用户提供的向用户提供的 “ “用户与操作系统的接口用户与操作系统的接口”,该接口,该接口以以命令形式命令形式呈现在用户面前,直接提供给用户在键盘终端上使用。呈现在用户面前,直接提供给用户在键盘终端上使用。v联机命令接口联机命令接口:分时、个人分
2、时、个人OSOS中,通过终端键入命令,以中,通过终端键入命令,以取得取得OSOS的服务,并控制自己作业的运行。该接口包括:的服务,并控制自己作业的运行。该接口包括:一组联机命令(格式、类型)一组联机命令(格式、类型)终端处理程序终端处理程序命令解释程序命令解释程序v脱机命令接口脱机命令接口:用于批处理系统中,由作业控制语言用于批处理系统中,由作业控制语言JCLJCL组成,组成,对作业的控制和干预,事先写在作业说明上,然后将作业说明及作业对作业的控制和干预,事先写在作业说明上,然后将作业说明及作业提交系统,照说明上执行,若出现异常,则照说明上进行干预。提交系统,照说明上执行,若出现异常,则照说明
3、上进行干预。7.1.1 7.1.1 联机命令接口联机命令接口- -命令格式 为了能向用户提供多方面的服务,为了能向用户提供多方面的服务,OSOS通常向用户提供了众多的命令,命令格式通常向用户提供了众多的命令,命令格式和条数与实际的操作系统有关,命令格式分成:和条数与实际的操作系统有关,命令格式分成:v 命令行方式(一般形式)命令行方式(一般形式) command arg1,arg2,option 1,option mcommand arg1,arg2,option 1,option mnMS-DOSMS-DOS操作系统中的命令格式操作系统中的命令格式 1 1、dir dir 驱动器名驱动器名/
4、p/w/p/w 2 2、type file1type file1 3 3、copy source targetcopy source target 4 4、mkdir mkdir 驱动器名驱动器名路径名路径名 新目录名新目录名 v 批命令方式批命令方式 允许用户预先把一系列命令组织在一种称为批命令文件的文件中,一次建立,允许用户预先把一系列命令组织在一种称为批命令文件的文件中,一次建立,多次执行。如多次执行。如MS-DOSMS-DOS系统的系统的 .BAT.BAT文件。文件。 7.1.1 7.1.1 联机命令接口联机命令接口- -命令类型 根据联机命令的功能,可分为以下几类:根据联机命令的功能
5、,可分为以下几类:v 系统访问类系统访问类: :包括注册包括注册login,login,注销注销logoutlogout,常用于多用户系统中,以,常用于多用户系统中,以验证用户身份的合法性,从而保证整个系统的安全性。验证用户身份的合法性,从而保证整个系统的安全性。v 磁盘操作类:磁盘操作类:包括包括format,diskcopy,backup,format,diskcopy,backup,,常用于微机,常用于微机OSOS中。中。 FormatFormat:磁盘格式化命令。:磁盘格式化命令。 DiskcopyDiskcopy:复制整个软盘命令。:复制整个软盘命令。 DiskcompDiskcom
6、p:软盘比较命令。:软盘比较命令。 BackupBackup:备份命令。:备份命令。 硬盘上的文件复制到软盘上,硬盘上的文件复制到软盘上,RESTORERESTORE命令则命令则 完成相反的操作。完成相反的操作。 7.1.1 7.1.1 联机命令接口联机命令接口- -命令类型v 文件操作类:文件操作类:包括包括type,copy,cmp,rename,erase,type,copy,cmp,rename,erase,常用于微机常用于微机OSOS中。中。 typetype: 将指定文件内容显示在屏幕上。将指定文件内容显示在屏幕上。 copycopy: 实现文件的拷贝。实现文件的拷贝。 compc
7、omp: 对两个指定文件进行比较。对两个指定文件进行比较。 RenameRename:重新命名。:重新命名。 eraseerase: 删除一个或一组文件。删除一个或一组文件。v 目录操作类:目录操作类:包括包括md,dir,rd,tree,cd,md,dir,rd,tree,cd,常用于微机常用于微机OSOS中。中。 mkdirmkdir: 建立指定名字的新目录。建立指定名字的新目录。 dirdir: 显示指定磁盘中的目录项。显示指定磁盘中的目录项。 rmdirrmdir: 删除子目录命令删除子目录命令 treetree: 显示指定盘上的所有目录路径及其层次关系。显示指定盘上的所有目录路径及其
8、层次关系。 chdirchdir: 改变当前目录。改变当前目录。7.1.1 7.1.1 联机命令接口联机命令接口- -命令类型v其它命令:其它命令:包括输出重定向包括输出重定向 ,输入重定向,输入重定向,”符,其后接文件名或设备名,表示将命令的输出改向,送到符,其后接文件名或设备名,表示将命令的输出改向,送到指定文件或设备上。指定文件或设备上。 (2) (2) 管道连接。管道连接。指把第一条命令的输出信息作为第二条命令的输入指把第一条命令的输出信息作为第二条命令的输入信息;与此类推;格式为:信息;与此类推;格式为: Command1 | Command2 | | Commandn; Comma
9、nd1 | Command2 | | Commandn; (3) (3) 过滤命令。过滤命令。 例如,例如,MS-DOSMS-DOS中用命令中用命令 :find /N “erase” (find /N “erase” (路径名路径名) ) 7.1.2 7.1.2 终端处理程序终端处理程序 负责接收用户键入的终端命令,并将它显示在终端屏幕上,主要具有以负责接收用户键入的终端命令,并将它显示在终端屏幕上,主要具有以下功能:下功能:v 接收字符:接收字符:接收用户从终端键入的字符,并将它传送给命令解释程接收用户从终端键入的字符,并将它传送给命令解释程序或用户进程,有两种方式来实现此功能(面向字符方式
10、和面向行方序或用户进程,有两种方式来实现此功能(面向字符方式和面向行方式)。式)。 面向字符方式面向字符方式: : 驱动程序只接收从终端打入的字符,并且不加修驱动程序只接收从终端打入的字符,并且不加修改地将它传送给用户程序。改地将它传送给用户程序。 面向行方式面向行方式: : 终端处理程序将所接收的字符暂存在行缓冲中,并终端处理程序将所接收的字符暂存在行缓冲中,并可对行内字符进行编辑。仅在收到行结束符后,才将一行正确的信息可对行内字符进行编辑。仅在收到行结束符后,才将一行正确的信息送命令解释程序。送命令解释程序。7.1.2 7.1.2 终端处理程序终端处理程序v 字符缓冲字符缓冲:暂存用户键入
11、的字符,该功能可采用两种方式(公用缓冲池方式,专用暂存用户键入的字符,该功能可采用两种方式(公用缓冲池方式,专用缓冲方式)。缓冲方式)。 专用缓冲区方式专用缓冲区方式: : 系统为每个终端设置一个缓冲区,长度系统为每个终端设置一个缓冲区,长度200字符左右。适合单用户字符左右。适合单用户微机或终端很少的多用户机,但利用率低。微机或终端很少的多用户机,但利用率低。 公用缓冲池方式:公用缓冲池方式:设置一个由多个缓冲区构成的公用缓冲池,缓冲区大小相同,利用设置一个由多个缓冲区构成的公用缓冲池,缓冲区大小相同,利用率高。所有的空缓冲区链接成一个空缓冲区链(从终端输入数据),装有输入数据的率高。所有的
12、空缓冲区链接成一个空缓冲区链(从终端输入数据),装有输入数据的缓冲区链接成一条输入链(向用户程序传送数据)。缓冲区链接成一条输入链(向用户程序传送数据)。终端专用缓冲区主机终端(a) 专用缓冲区方式终端主机(b) 公用缓冲池方式公用缓冲池7.1.2 7.1.2 终端处理程序终端处理程序v 回送显示:回送显示:将用户每键入的一个字符送屏幕显示,此功能可由硬件实现,但将用户每键入的一个字符送屏幕显示,此功能可由硬件实现,但多用软件更灵活。多用软件更灵活。v 屏幕编辑:屏幕编辑:方便用户对键入的字符进行编辑,提供了若干编辑键,如方便用户对键入的字符进行编辑,提供了若干编辑键,如backspace,i
13、nsert,backspace,insert, ,Pgup,PgdnPgup,Pgdn。v 特殊字符处理:特殊字符处理:提供了对中断字符,停止上卷字符,恢复上卷字符等特殊字提供了对中断字符,停止上卷字符,恢复上卷字符等特殊字符的识别和处理。符的识别和处理。 中断字符中断字符: : 程序在运行中出现异常情况时,用户可通过键入中断字符的办程序在运行中出现异常情况时,用户可通过键入中断字符的办法来中止当前程序的运行。在许多系统中是利用法来中止当前程序的运行。在许多系统中是利用Break或或Delete或或Ctrl+C键键作为中断字符。作为中断字符。 停止上卷字符:停止上卷字符:用户键入此字符后,终端
14、处理程序应使正在上卷的屏幕暂停用户键入此字符后,终端处理程序应使正在上卷的屏幕暂停上卷,以便用户仔细观察屏幕内容。在有的系统中,是利用上卷,以便用户仔细观察屏幕内容。在有的系统中,是利用Ctrl+S键来停止屏键来停止屏幕上卷的。幕上卷的。 恢复上卷字符:恢复上卷字符:有的系统利用有的系统利用Ctrl+Q键使停止上卷的屏幕恢复上卷。键使停止上卷的屏幕恢复上卷。7.1.3 7.1.3 命令解释程序命令解释程序 主要负责对用户输入的命令进行识别,然后去调用相应命令的处理程序,以完成请求的任务,位于主要负责对用户输入的命令进行识别,然后去调用相应命令的处理程序,以完成请求的任务,位于OSOS的最高层。
15、如:的最高层。如:MS-DOS(COMMAND.COM),UNIX(SHELL).MS-DOS(COMMAND.COM),UNIX(SHELL). MS-DOS(MS-DOS(COMMAND.COMCOMMAND.COM) )n命令解释程序的作用命令解释程序的作用n命令解释程序的工作流程命令解释程序的工作流程n命令解释程序的组成命令解释程序的组成 常驻部分:常驻部分:中断服务子程序;如:中断服务子程序;如:int 20 int 20 正常退出。正常退出。 初始化部分:初始化部分:跟随常驻内存部分之后,在启动时获得控制权,还包括跟随常驻内存部分之后,在启动时获得控制权,还包括AUTOEXEC.B
16、ATAUTOEXEC.BAT。 暂存部分:暂存部分:主要是命令解释程序。包括:内部命令处理程序、批文件处理程主要是命令解释程序。包括:内部命令处理程序、批文件处理程序,以及装入和执行外部命令的程序。序,以及装入和执行外部命令的程序。命令解释程序的作用命令解释程序的作用n等待用户输入命令。等待用户输入命令。命令解释程序获命令解释程序获CPUCPU控制权后,在屏幕上产生控制权后,在屏幕上产生提示符,等待用户输入命令。提示符,等待用户输入命令。n接收并识别命令。接收并识别命令。当用户输入完一条命令并以回车结束,终端处当用户输入完一条命令并以回车结束,终端处理程序就将该命令提交命令解释程序,并对此命令
17、进行分析。若理程序就将该命令提交命令解释程序,并对此命令进行分析。若命令非法,则产生错误信息。否则转相应的命令处理程序。命令非法,则产生错误信息。否则转相应的命令处理程序。n执行相应的命令处理程序。执行相应的命令处理程序。转到相应的命令处理程序入口地址,转到相应的命令处理程序入口地址,再把控制权交给该处理程序去执行。(对内部命令,其命令处理再把控制权交给该处理程序去执行。(对内部命令,其命令处理程序就含在解释程序内,所以由解释程序直接执行)。程序就含在解释程序内,所以由解释程序直接执行)。n处理结果送屏幕上显示。处理结果送屏幕上显示。并将处理结果送屏幕上显示,或显示某并将处理结果送屏幕上显示,
18、或显示某些出错信息。些出错信息。命令解释程序的工作流程输入命令输入命令命令合法否?命令合法否?是内部命令?是内部命令?从外存调入命令执行从外存调入命令执行Dir命命令令处处理理程程序序type命命令令处处理理程程序序copy命命令令处处理理程程序序date命命令令处处理理程程序序显示提示符显示提示符从内部命令的表查找从内部命令的表查找7.2 7.2 系统调用(程序接口)系统调用(程序接口)v 处理机的态处理机的态v 中断类型中断类型v 系统调用简介系统调用简介 v 系统调用的类型系统调用的类型 v 系统调用的实现系统调用的实现 n实现机制实现机制n执行过程执行过程n参数传递参数传递 n系统调用
19、与过程调用的区别系统调用与过程调用的区别 nWin32 应用程序接口应用程序接口 21. 为什么要区分处理机的状态为什么要区分处理机的状态 系统中有两类程序系统中有两类程序 管理程序管理程序 用户程序用户程序 管理系统资源管理系统资源 使用资源,提出申请使用资源,提出申请 控制程序运行控制程序运行 被控制被控制 区分处理机状态的目的:保护操作系统区分处理机状态的目的:保护操作系统 2. 什么是处理机的状态什么是处理机的状态 中央处理机的工作状态,当前它正在执行哪类程序,决定处理机的态。中央处理机的工作状态,当前它正在执行哪类程序,决定处理机的态。处理机的状态处理机的状态33. 处理机状态的分类
20、处理机状态的分类v管态管态/系统态系统态 (Supervisor mode) 操作系统的管理程序执行时机器所处的状态;操作系统的管理程序执行时机器所处的状态; 可使用全部指令可使用全部指令(包括特权指令包括特权指令); 可使用全部系统资源可使用全部系统资源(包括整个存储区域包括整个存储区域);v目态目态/用户态用户态(User mode) 用户程序执行时机器所处的状态;用户程序执行时机器所处的状态; 在此状态下在此状态下禁止禁止使用特权指令,不能直接取用资源与改变机器状态,使用特权指令,不能直接取用资源与改变机器状态,并且只允许用户程序访问自己的存储区域。并且只允许用户程序访问自己的存储区域。
21、处理机的状态处理机的状态 管态管态 /系统态系统态 目态目态/用户态用户态 操作系统的程序执行操作系统的程序执行 用户程序执行用户程序执行 使用全部指令使用全部指令 禁止使用特权指令禁止使用特权指令 使用全部系统资源使用全部系统资源 只允许用户程序只允许用户程序 (包括整个存储区域包括整个存储区域) 访问自己的存储区域访问自己的存储区域4. 特权指令集特权指令集v 涉及外部设备的输入涉及外部设备的输入/输出指令输出指令v 修改特殊寄存器的指令修改特殊寄存器的指令v 改变机器状态的指令改变机器状态的指令4处理机的状态处理机的状态思考:命令解释程序是运行于用户态还是系统态?思考:命令解释程序是运行
22、于用户态还是系统态?7v按中断功能分类按中断功能分类 n输入输出中断输入输出中断 I/O传输结束或出错中断传输结束或出错中断n外中断外中断 时钟中断、操作员控制台中断、通信中断等时钟中断、操作员控制台中断、通信中断等n机器故障中断机器故障中断 电源故障、主存取指令错等电源故障、主存取指令错等n程序性中断程序性中断 定点溢出、用户态下用核态指令、非法操作等定点溢出、用户态下用核态指令、非法操作等n访管中断访管中断 对操作系统提出某种需求时所发出的中断对操作系统提出某种需求时所发出的中断v按中断方式分类按中断方式分类 n强迫性中断强迫性中断 不是正在运行的程序所期待的中断不是正在运行的程序所期待的
23、中断n如:输入输出中断、外中断、机器故障中断、程序性中断如:输入输出中断、外中断、机器故障中断、程序性中断n自愿中断自愿中断 是运行程序所期待的事件是运行程序所期待的事件n如:访管中断如:访管中断中断分类中断分类8v按中断来源分类按中断来源分类 n中断中断 由处理机外部事件引起的中断,如磁盘、打印机中断等由处理机外部事件引起的中断,如磁盘、打印机中断等n俘获(陷入)俘获(陷入) 由处理机由处理机内部事件内部事件引起的中断,如电源故障等引起的中断,如电源故障等n中断与俘获的例中断与俘获的例trap指令指令俘点俘点溢出溢出地址地址越界越界非法非法指令指令exitforkreadclock时钟时钟
24、rk磁盘磁盘 tty终端终端中断与俘获中断与俘获中断中断俘获俘获中断分类中断分类v由于系统调用引起的中断属于内中断,因此把由于系统调用引起中断的指令成由于系统调用引起的中断属于内中断,因此把由于系统调用引起中断的指令成为陷入指令。为陷入指令。201. 系统功能调用的定义系统功能调用的定义 操作系统提供实现各种功能的例行子程序。操作系统提供实现各种功能的例行子程序。应应用用程程序序 i 系统调用系统调用 中中 央央处理机处理机存储器存储器外外 部部设设 备备应应 用用程程 序序计算机系统部件计算机系统部件系统功能调用系统功能调用22 系统功能调用是用户在系统功能调用是用户在程序一级程序一级请求操
25、作系统服务的一种手段,它请求操作系统服务的一种手段,它是带有是带有一定功能号的一定功能号的“访管指令访管指令”。其功能是由操作系统中的程序完。其功能是由操作系统中的程序完成的,即由软件方法实现的。注意:访管指令是由机器硬件厂商提供。成的,即由软件方法实现的。注意:访管指令是由机器硬件厂商提供。 为了实现用户请求系统为其服务的愿望,在指令系统中要增设一条为了实现用户请求系统为其服务的愿望,在指令系统中要增设一条访管指令访管指令(SVC n(SVC n)产生访管中断。)产生访管中断。 svc n svc n svc svc 表示访管指令的操作码或记忆符表示访管指令的操作码或记忆符 n n 为地址码
26、为地址码( (功能号功能号) )系统功能调用系统功能调用21 应用程序应用程序 系统提供系统提供 访管指令、访管中断访管指令、访管中断 0:显示一个:显示一个字符串字符串1:读文件:读文件 应用程序应用程序 j read( ); 操作系统统功能模块操作系统统功能模块系统功能调用系统功能调用中中 央央处理机处理机存储器存储器外外 部部设设 备备应应 用用程程 序序计算机系统部件计算机系统部件Svc 1访管中断访管中断目态目态管态管态22 当处理机执行到访管指令时就发生中断,该中断称为访管中断,它当处理机执行到访管指令时就发生中断,该中断称为访管中断,它表示正在运行的程序对操作系统的某种需求。表示
27、正在运行的程序对操作系统的某种需求。 操作系统提供实现各种功能的例行子程序,其中的每一个功能对应操作系统提供实现各种功能的例行子程序,其中的每一个功能对应访管指令的一个功能号。举例如下:访管指令的一个功能号。举例如下: svc 0 svc 0 显示一个字符显示一个字符 svc 1 svc 1 打印一个字符串打印一个字符串 系统功能调用系统功能调用v 系统调用系统调用(SYSTEM CALL),也称程序接口,也称程序接口 n操作系统提供给编程人员的唯一接口,编程人员利用系统调用,完操作系统提供给编程人员的唯一接口,编程人员利用系统调用,完成与机器硬件部分相关的工作。用户得以在程序中调用操作系统所
28、成与机器硬件部分相关的工作。用户得以在程序中调用操作系统所提供的一些子功能。提供的一些子功能。nOS核心中都有一组实现系统功能的过程(子程序),系统调用就是核心中都有一组实现系统功能的过程(子程序),系统调用就是对上述过程的调用。编程人员利用系统调用,向对上述过程的调用。编程人员利用系统调用,向OS提出服务请求,提出服务请求,由由OS代为完成。代为完成。n每个系统都有上百种系统调用,涉及进程、文件和设备控制等。每个系统都有上百种系统调用,涉及进程、文件和设备控制等。n系统调用是由特殊的机器指令实现的。系统调用是由特殊的机器指令实现的。n系统的系统调用越多,功能就越强,使用更加灵活。系统的系统调
29、用越多,功能就越强,使用更加灵活。系统功能调用系统功能调用v 进程控制进程控制n创建一进程(创建一进程(forkfork)n结束进程(结束进程(exitexit)n等待子进程结束(等待子进程结束(waitwait)n执行一个文件执行一个文件(exec)(exec)v 文件操纵文件操纵n创建文件创建文件(creat)(creat)n打开文件打开文件(open)(open)n关闭文件关闭文件(close)(close)n读文件读文件(read)(read)n写文件写文件(write)(write)v 进程通信进程通信n建立消息队列(建立消息队列(msggetmsgget)n发送消息(发送消息(ms
30、gsendmsgsend)n接收消息(接收消息(msgrcvmsgrcv)) )v 系统维护系统维护n设置时间(设置时间(stimestime)n获得时间(获得时间(timetime)n获得进程和子进程时间(获得进程和子进程时间(timestimes)n设置文件访问和修改时间(设置文件访问和修改时间(UtimeUtime)n获得当前获得当前unixunix系统的名称(系统的名称(UnameUname)不同的操作系统有一定的差异。不同的操作系统有一定的差异。系统功能调用类型(系统功能调用类型(UNIX)23 a1a0ai例行子程序例行子程序入口地址表入口地址表A+0A+1A+i保护现场;保护现场
31、;取取n值;值;按按n值转移;值转移; 恢复现场;恢复现场;访管中断访管中断处理程序处理程序 svc i 用户程序用户程序+ASub mam例行子程序例行子程序Sub 0Sub 1Sub ia0a1ai系统功能调用实现机制系统功能调用实现机制目态目态管态管态陷陷入入CPUn保护用户程序的现场;保护用户程序的现场;n执行相应功能:根据系统调用提供的功能号,访问系统功能入口地执行相应功能:根据系统调用提供的功能号,访问系统功能入口地址表,得到相应功能的人口地址,然后转去执行;址表,得到相应功能的人口地址,然后转去执行;n返回处理:在系统调用处理结束之后,还要恢复处理器现场。在操返回处理:在系统调用
32、处理结束之后,还要恢复处理器现场。在操作系统中,处理器的现场一般被保护在特定的内存区或寄存器中。作系统中,处理器的现场一般被保护在特定的内存区或寄存器中。系统功能调用的实现系统功能调用的实现-执行过程执行过程n目的:目的:实现用户程序和系统程序间的参数传递。实现用户程序和系统程序间的参数传递。n常用实现方法:常用实现方法:n由陷入指令自带参数:陷入指令的长度有限的,且还要携带系由陷入指令自带参数:陷入指令的长度有限的,且还要携带系统调用功能号,只能自带有限的参数。统调用功能号,只能自带有限的参数。n通过有关通用寄存器来传递参数:这些寄存器应是系统程序和通过有关通用寄存器来传递参数:这些寄存器应
33、是系统程序和用户程序都能访问,由于寄存器长度较短,无法传递较多的参用户程序都能访问,由于寄存器长度较短,无法传递较多的参数。数。n更为常见的是在内存中开辟专用堆栈区来传递参数。更为常见的是在内存中开辟专用堆栈区来传递参数。 系统功能调用的实现系统功能调用的实现-参数传递参数传递v Win32 应用程序接口应用程序接口n在在Windows中,定义了一系列程序中,定义了一系列程序(应用程序接口应用程序接口Win32 API) ,提供,提供OS服务。服务。n该接口(部分)支持该接口(部分)支持Win95 以后的以后的Windows版本版本Win32 API调用的种类调用的种类非常多,以千计算。非常多
34、,以千计算。n在在Windows中不好分辨哪些是系统调用(被内核执行),哪些是用户空中不好分辨哪些是系统调用(被内核执行),哪些是用户空间的库调用。间的库调用。n事实上,一个事实上,一个Windows版本中的系统调用也许在另一个版本中的系统调用也许在另一个Windows版本中版本中会在用户空间执行。会在用户空间执行。n由于图形子系统在内核中运行(在某些由于图形子系统在内核中运行(在某些Windows版本中),它们也是系版本中),它们也是系统调用,否则是库调用。统调用,否则是库调用。Win32 应用程序接口应用程序接口21Linux系统的核心结构系统的核心结构系系 统统 调调 用用 界界 面面程
35、程 序序 库库进程通信进程通信进程调度进程调度存储管理存储管理文件子系统文件子系统高速缓冲高速缓冲字符设备字符设备 块设备块设备 设备驱动程序设备驱动程序用户程序用户程序 硬硬 件件 控控 制制 硬硬 件件 用户级用户级核心级核心级硬件层硬件层进程管理与存储管理进程管理与存储管理网络管理网络管理网络协议网络协议网络驱动网络驱动用户程序通道通道外设外设内存数据区中断处中断处理程序理程序管理程序通道程序返回取通道指令入口参数设备类设备号数据长度主存地址结束指令结束指令构造通构造通道程序道程序I/O完成中断完成中断I/O中断响应中断响应I/O中断返回中断返回访管访管陷入下下一一步步启动启动I/O结束
36、结束置通道地址字通道工作过程通道工作过程 n当编程人员给定了系统调用名和参数之后(即向当编程人员给定了系统调用名和参数之后(即向OS系统提出了申请),由陷系统提出了申请),由陷入处理机构(类似于硬件中断处理机构入处理机构(类似于硬件中断处理机构)完成。陷入处理机构是系统专门为控完成。陷入处理机构是系统专门为控制系统调用服务设立的。制系统调用服务设立的。n当用户使用系统调用时,产生一条相应的指令(陷入指令,当用户使用系统调用时,产生一条相应的指令(陷入指令,trap指令),指令),CPU在执行到该指令时发生相应的中断,发出有关信号给该处理机构,并启在执行到该指令时发生相应的中断,发出有关信号给该
37、处理机构,并启动相应的处理程序来完成该系统调用所要求的功能。动相应的处理程序来完成该系统调用所要求的功能。n陷入指令(或访管指令)陷入指令(或访管指令):由于系统调用引起处理机中断的指令。由于系统调用引起处理机中断的指令。系统功能调用实现机制(小节)系统功能调用实现机制(小节)n在陷入中断发生时,从用户态在陷入中断发生时,从用户态核心态。这一转换在发生访管中核心态。这一转换在发生访管中断时由硬件自动实现。断时由硬件自动实现。n系统调用语句本身是硬件提供的(机器指令),但其所调用的功能系统调用语句本身是硬件提供的(机器指令),但其所调用的功能是操作系统提供的。每种机器的机器指令集中都有一条系统调
38、用指是操作系统提供的。每种机器的机器指令集中都有一条系统调用指令。(令。(IBM个人计算机个人计算机INT指令,指令,SUN工作站上的工作站上的TRAP,SGI工工作站上作站上SYSCALL指令)。指令)。系统功能调用实现机制(小节)系统功能调用实现机制(小节)n相同点:相同点:n改变指令流程;改变指令流程;n重复执行和公用;重复执行和公用;n改变指令流程后需要返回原处;改变指令流程后需要返回原处;系统功能调用于一般过程调用区别系统功能调用于一般过程调用区别v 不同点:不同点:n运行在不同的系统状态运行在不同的系统状态 n一般过程调用,其调用程序和被调用程序都运行在相同状态:核心态或用户态。一
39、般过程调用,其调用程序和被调用程序都运行在相同状态:核心态或用户态。n系统调用:调用程序在用户态,被调用程序在系统态。系统调用:调用程序在用户态,被调用程序在系统态。n进入方式不同,状态的转换进入方式不同,状态的转换n通常利用通常利用call 或或jump 指令进入普通的过程调用,而进行系统调用则需要利用指令进入普通的过程调用,而进行系统调用则需要利用int或或trap指令通过软中断进入指令通过软中断进入 。n一般的过程调用不涉及系统状态的转换,可直接由调用过程转向被调用过程。一般的过程调用不涉及系统状态的转换,可直接由调用过程转向被调用过程。n运行系统调用时,调用和被调用过程在不同系统状态,不允许由调用过程直接转向被运行系统调用时,调用和被调用过程在不同系统状态,不允许由调用过程直接转向被调用过程。调用过程。n通过软中断机制先由用户态转换为核心态。(陷入机制)通过软中断机制先由用户态转换为核心态。(陷入机制)n在在OS核心分析后,转向相应的系统调用处理子程序。核心分析后,转向相应的系统调用处理子程序。系统功能调用于一般过程调用区别系统功能调用于一般过程调用区别v 返回方式不尽相同返回方式不尽相同 n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 青藏高速冻土路基融沉风险及区划特征研究
- 钴硫合金复合材料的制备及电化学储氢性能的研究
- 供应链韧性的多维度衡量指标体系构建研究
- 企业盈利增长潜能挖掘与战略路径优化研究
- 中小企业数字化转型路径选择中的资源约束与能力建设研究
- 农产品质量追溯系统建设项目可行性研究报告
- 初中生物学(初三)资料分析能力专项提升教案
- 七年级语文下册《课外文言文句式探骊与迁移》教学设计
- 黑龙江省牡丹江市中考英语试题
- 经营部年度工作总结
- 绵阳英才中学2025初一入学语文分班考试真题含答案
- 新二升三暑假英语26个字母每日一练过关练22天
- 2026年高校行政管理岗招聘笔试典型试题及要点含答案
- 光伏施工方案范文模板
- 2026年时事政治考试题库及答案(100题)
- 2026年危险化学品生产单位安全生产管理人员安全生产模拟考试题库及答案
- 高标准农田建设技术工作手册
- 魏家凉皮考勤制度
- 无刷电机培训
- 临床医学大三《急性脑梗塞合并一氧化碳中毒》教学设计
- 全口吸附性义齿知情同意书
评论
0/150
提交评论