第七章 操作系统接口_第1页
第七章 操作系统接口_第2页
第七章 操作系统接口_第3页
第七章 操作系统接口_第4页
第七章 操作系统接口_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2022-3-24第七章 操作系统接口1第七章第七章 操作系统接口操作系统接口n7.1 概述概述n7.2 命令接口命令接口n7.3 系统调用系统调用2022-3-24第七章 操作系统接口27.1 概述概述 操作系统接口负责用户与计算机之间的交互:用户通过操作系统接口负责用户与计算机之间的交互:用户通过操作系统接口操作系统接口向计算机提交服务需求,计算机通过用向计算机提交服务需求,计算机通过用操作操作系统接口系统接口向用户提供用户所需要的服务向用户提供用户所需要的服务 计算机系统用户有两类:计算机系统用户有两类: 一类是普通用户(使用计算机的应用服务,以解决实一类是普通用户(使用计算机的应用服务

2、,以解决实际应用问题际应用问题) )和管理员用户(负责计算机和操作系统的正常和管理员用户(负责计算机和操作系统的正常与安全运行)。与安全运行)。 另一类是程序开发人员(需要使用操作系统所提供的另一类是程序开发人员(需要使用操作系统所提供的编程功能开发新的应用程序,完成用户所要求的服务)。编程功能开发新的应用程序,完成用户所要求的服务)。2022-3-24第七章 操作系统接口3 操作系统为普通用户、管理员用户以及编程人员提供不同的操作系统为普通用户、管理员用户以及编程人员提供不同的用户界面用户界面-接口。接口。 操作系统为普通用户、管理员用户提供的界面由一组以不同操作系统为普通用户、管理员用户提

3、供的界面由一组以不同形式表示的操作命令组成形式表示的操作命令组成命令接口命令接口 每个命令实现和完成用户所要求的特定功能和服务每个命令实现和完成用户所要求的特定功能和服务 不同计算机操作系统为用户提供的操作命令和表现形式不同,不同不同计算机操作系统为用户提供的操作命令和表现形式不同,不同时期的操作系统为用户提供的操作命令和表现形式也不同。而且,同时期的操作系统为用户提供的操作命令和表现形式也不同。而且,同一操作系统为普通用户与管理员用户提供的命令也是不同的。一操作系统为普通用户与管理员用户提供的命令也是不同的。 操作系统为编程人员提供的界面是系统调用。不同操作系统操作系统为编程人员提供的界面是

4、系统调用。不同操作系统提供不同的系统调用。提供不同的系统调用。2022-3-24第七章 操作系统接口47.2 命令接口命令接口n操作系统为用户提供两种接口:操作系统为用户提供两种接口:命令接口命令接口、系统调用系统调用。用户利用命令来组织和控制作业的执行,或管理计算机系统。用户利用命令来组织和控制作业的执行,或管理计算机系统。编程人员使用系统调用来请求操作系统提供服务编程人员使用系统调用来请求操作系统提供服务。使用操作命令进行作业控制的主要方式有两种:脱机方式和使用操作命令进行作业控制的主要方式有两种:脱机方式和联机方式。联机方式。脱机方式脱机方式:利用作业控制语言(作业控制命令)来编写作业说

5、明书,以:利用作业控制语言(作业控制命令)来编写作业说明书,以控制作业的执行和出错处理。常用在批处理系统中,也称它为控制作业的执行和出错处理。常用在批处理系统中,也称它为“批处理批处理方式方式”,而把采用批处理控制方式的作业称为,而把采用批处理控制方式的作业称为“批处理作业批处理作业”。 联机方式联机方式:用户利用系统为其提供的一组键盘或其他操作方式命令,交:用户利用系统为其提供的一组键盘或其他操作方式命令,交互地控制程序执行和管理计算机系统。互地控制程序执行和管理计算机系统。2022-3-24第七章 操作系统接口5联机控制方式命令分类联机控制方式命令分类 环境设置:用来改变终端用户所在位置、

6、执行路径环境设置:用来改变终端用户所在位置、执行路径等等 执行权限管理:用来控制用户访问系统和读、写、执行权限管理:用来控制用户访问系统和读、写、执行有关文件的权限。执行有关文件的权限。 系统管理:用于系统维护、开机与关机、增加或减系统管理:用于系统维护、开机与关机、增加或减少终端用户、计时收费等。大部分为系统管理员使用少终端用户、计时收费等。大部分为系统管理员使用 文件管理:用来管理和控制终端用户的文件。文件管理:用来管理和控制终端用户的文件。 编辑、编译、链接装配和执行编辑:用来帮助用户编辑、编译、链接装配和执行编辑:用来帮助用户输入用户文件。输入用户文件。2022-3-24第七章 操作系

7、统接口6联机控制方式命令分类联机控制方式命令分类 通信:用来进行主机和远程终端之间的呼叫、联接以及断通信:用来进行主机和远程终端之间的呼叫、联接以及断开等,从而在主机和终端之间建立会话信道。开等,从而在主机和终端之间建立会话信道。 资源要求:资源要求: 用户使用该类命令向系统申请资源。用户使用该类命令向系统申请资源。 现代操作系统中,大都提供批处理方式和联机控制方式。现代操作系统中,大都提供批处理方式和联机控制方式。批处理方式既指传统的作业控制语言编写的作业说明书方式,批处理方式既指传统的作业控制语言编写的作业说明书方式,也指那些把不同的交互命令按一定格式组合后的命令文件方也指那些把不同的交互

8、命令按一定格式组合后的命令文件方式。式。2022-3-24第七章 操作系统接口7 近年来,命令接口的人机交互方式发生了革命性变化。无近年来,命令接口的人机交互方式发生了革命性变化。无论是论是Windows系列,还是系列,还是UNIX系列的操作系统,它们的系列的操作系统,它们的命令接口都是由多窗口的按钮式图形界面组成。在这些系统命令接口都是由多窗口的按钮式图形界面组成。在这些系统中,命令已被开发成一条条能用鼠标点击而执行的简单的菜中,命令已被开发成一条条能用鼠标点击而执行的简单的菜单或小巧的图标。而且,用户也可以在提示符的提示下用普单或小巧的图标。而且,用户也可以在提示符的提示下用普通字符方式输

9、入各种命令。用声音控制的命令接口也已逐步通字符方式输入各种命令。用声音控制的命令接口也已逐步开发出来。计算机系统的命令接口将会越来越方便和越来越开发出来。计算机系统的命令接口将会越来越方便和越来越拟人化。拟人化。命令接口的发展2022-3-24第七章 操作系统接口87.3 系统调用系统调用n系统调用是操作系统提供给编程人员的唯一接口。系统调用是操作系统提供给编程人员的唯一接口。n编程人员利用系统调用,在源程序一级动态请求和释放系统编程人员利用系统调用,在源程序一级动态请求和释放系统资源,调用系统中已有的系统功能来完成那些与机器硬件部资源,调用系统中已有的系统功能来完成那些与机器硬件部分相关的工

10、作以及控制程序的执行速度等。分相关的工作以及控制程序的执行速度等。n操作系统内有事先编好的实现这些功能的子程序或过程。这操作系统内有事先编好的实现这些功能的子程序或过程。这些程序或过程是操作系统程序模块的一部分,为保证操作系些程序或过程是操作系统程序模块的一部分,为保证操作系统程序不被用户程序破坏,系统调用统程序不被用户程序破坏,系统调用不能直接被用户程序调不能直接被用户程序调用,而只能通过访管指令来申请调用它们用,而只能通过访管指令来申请调用它们。n系统中控制系统调用服务的机构称为系统中控制系统调用服务的机构称为陷阱(陷阱(traptrap)处理机构处理机构。n由于系统调用引起处理机中断的指

11、令称为由于系统调用引起处理机中断的指令称为陷阱指令陷阱指令(访管指(访管指令)。令)。2022-3-24第七章 操作系统接口9系统调用分类系统调用分类 设备管理设备管理:这类系统调用被用来请求和释放设备,:这类系统调用被用来请求和释放设备,以及启动设备操作等。以及启动设备操作等。 文件管理文件管理:这类系统调用包括创建、删除文件,读、:这类系统调用包括创建、删除文件,读、写文件以及移动文件指针等。写文件以及移动文件指针等。 进程控制进程控制:进程创建、进程执行、进程撤销、执行:进程创建、进程执行、进程撤销、执行等待和执行优先级控制等。等待和执行优先级控制等。2022-3-24第七章 操作系统接

12、口10 进程通信进程通信:进程间传递消息或信号的系统调用。:进程间传递消息或信号的系统调用。 存储管理存储管理:内存块的申请、释放,获取作业占用:内存块的申请、释放,获取作业占用内存块的首址、大小等。内存块的首址、大小等。 线程管理线程管理:线程的创建、调度、执行、撤销等。:线程的创建、调度、执行、撤销等。不同的系统提供不同的系统调用。不同的系统提供不同的系统调用。系统调用分类系统调用分类2022-3-24第七章 操作系统接口11 用户在源程序中使用系统调用,并给出系统用户在源程序中使用系统调用,并给出系统调用名和参数,即产生一条相应的陷阱指令,处调用名和参数,即产生一条相应的陷阱指令,处理机

13、在执行到这条指令后,引起处理机中断,并理机在执行到这条指令后,引起处理机中断,并发出有关信号给陷阱处理机构,该处理机构收到发出有关信号给陷阱处理机构,该处理机构收到信号后,启动相关程序保护处理机现场,取系统信号后,启动相关程序保护处理机现场,取系统调用功能号并寻找子程序入口,通过入口地址表调用功能号并寻找子程序入口,通过入口地址表找到该系统子程序并执行。执行完毕后,退出中找到该系统子程序并执行。执行完毕后,退出中断,返回到用户程序的断点,恢复现场,继续执断,返回到用户程序的断点,恢复现场,继续执行用户程序。行用户程序。系统调用的实现过程系统调用的实现过程2022-3-24第七章 操作系统接口1

14、2陷入指令系统子程序sub 0A0sub 1A1sub nAnsub iAi.陷入处理机构1)保护处理机现场2)取系统调用功能号并寻找子程序入口3)恢复处理机现场并返回入口地址表A0A2Ai.An.系统调用.用户程序系统调用的处理过程系统调用的处理过程2022-3-24第七章 操作系统接口13系统调用的参数传递问题系统调用的参数传递问题 系统调用有时需要传递给系统子程序以不同的参数。而且系统调用有时需要传递给系统子程序以不同的参数。而且系统调用的执行结果也要以参数形式返回给用户程序。那么,系统调用的执行结果也要以参数形式返回给用户程序。那么,怎样实现用户程序和系统程序之间的参数传递呢?怎样实现

15、用户程序和系统程序之间的参数传递呢? 由陷阱指令自带参数。一般来说,一条陷阱指令的长度总由陷阱指令自带参数。一般来说,一条陷阱指令的长度总是有限的,而且,该指令还要携带一个系统调用的功能号,是有限的,而且,该指令还要携带一个系统调用的功能号,因此,陷阱指令只能自带极有限的几个参数进入系统内部。因此,陷阱指令只能自带极有限的几个参数进入系统内部。 通过有关通用寄存器来传递参数。这些寄存器应是系统程通过有关通用寄存器来传递参数。这些寄存器应是系统程序和用户程序都能访问的。不过,寄存器长度也是较短的。序和用户程序都能访问的。不过,寄存器长度也是较短的。从而无法传递较多的参数。因此,在系统调用较多的系

16、统中,从而无法传递较多的参数。因此,在系统调用较多的系统中,大多在内存中开辟专用堆栈区来传递参数。大多在内存中开辟专用堆栈区来传递参数。2022-3-24第七章 操作系统接口14用户态和系统态用户态和系统态 在系统发生访管中断时,为了不让用户程序直接访问系在系统发生访管中断时,为了不让用户程序直接访问系统程序,反映处理机硬件状态的处理机状态字统程序,反映处理机硬件状态的处理机状态字PSWPSW中相应位中相应位要从用户执行模式转换为系统执行模式。这一转换在发生要从用户执行模式转换为系统执行模式。这一转换在发生访管中断时由硬件自动实现。访管中断时由硬件自动实现。 处理机在用户程序中执行称为处理机在

17、用户程序中执行称为用户态用户态。 处理机在系统程序中执行称为处理机在系统程序中执行称为系统态系统态。2022-3-24第七章 操作系统接口15系统调用与过程调用的系统调用与过程调用的相同点相同点 改变指令流程改变指令流程 重复执行和公用重复执行和公用 改变指令流程后需要返回原处改变指令流程后需要返回原处2022-3-24第七章 操作系统接口16系统调用与一般过程调用的区别系统调用与一般过程调用的区别n运行在不同的系统状态运行在不同的系统状态 n一般过程调用,其调用程序和被调用程序都运行在相同状一般过程调用,其调用程序和被调用程序都运行在相同状态:核心态或用户态态:核心态或用户态n系统调用:调用

18、程序在用户态,被调用程序在系统态系统调用:调用程序在用户态,被调用程序在系统态n状态的转换状态的转换n一般的过程调用不涉及系统状态的转换,可直接由调用过一般的过程调用不涉及系统状态的转换,可直接由调用过程转向被调用过程程转向被调用过程n运行系统调用时,调用和被调用过程在不同系统状态,不运行系统调用时,调用和被调用过程在不同系统状态,不允许由调用过程直接转向被调用过程允许由调用过程直接转向被调用过程n通过软中断机制先由用户态转换为核心态通过软中断机制先由用户态转换为核心态n在在OSOS核心分析后,转向相应的系统调用处理子程序核心分析后,转向相应的系统调用处理子程序2022-3-24第七章 操作系

19、统接口17n同一程序中不包含被调用代码同一程序中不包含被调用代码n系统调用是动态调用,程序中不包含被调用代码,好处:系统调用是动态调用,程序中不包含被调用代码,好处:n(1 1)用户程序长度缩短)用户程序长度缩短n(2 2)当)当OSOS升级时,调用方不必改变升级时,调用方不必改变n系统调用方式的调用地址和返回地址都是不固定的(系系统调用方式的调用地址和返回地址都是不固定的(系统调用指令中不包含调用地址,只包含功能号;系统调统调用指令中不包含调用地址,只包含功能号;系统调用返回指令中不包括返回地址,通过栈保存和弹出返回用返回指令中不包括返回地址,通过栈保存和弹出返回地址,系统调用返回地址不固定

20、)地址,系统调用返回地址不固定)系统调用与一般过程调用的区别系统调用与一般过程调用的区别2022-3-24第七章 操作系统接口18返回问题返回问题n一般过程调用在被调用过程执行完后,回调用过程一般过程调用在被调用过程执行完后,回调用过程n抢占式调度的系统中,被调用过程执行完后,系统将对所有抢占式调度的系统中,被调用过程执行完后,系统将对所有要求运行的进程进行优先级分析。如果调用进程仍有最高优要求运行的进程进行优先级分析。如果调用进程仍有最高优先级,则返回到调用进程执行;否则,引起重新调度,让优先级,则返回到调用进程执行;否则,引起重新调度,让优先级最高的进程优先执行。此时,系统把调用进程放入就绪先级最高的进

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论