操作系统第7章操作系统接口.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《操作系统第7章操作系统接口.ppt》由会员分享,可在线阅读,更多相关《操作系统第7章操作系统接口.ppt(44页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第七章 操作系统接口 7.3 系系 统统 调调 用用 7.3.1 系统调用的基本概念系统调用的基本概念 1.系统态和用户态 特权指令:是在系统态时运行的指令,是关系到系统全局的指令。非特权指令:是在用户态时运行的指令。第七章 操作系统接口 2.系统调用 (1)运行在不同的系统状态。调用程序是运行在用户态,而被调用程序是运行在系统态。(2)状态的转换通过软中断进入。(3)返回问题。当调用进程仍具有最高优先级时,才返回到调用进程继续执行;否则,将引起重新调度,以便让优先权最高的进程优先执行,而调用进程放入就绪队列。(4)嵌套调用。系统调用可以嵌套进行。第七章 操作系统接口 图 7-3 系统功能的调
2、用 第七章 操作系统接口 3.中断机制 系统调用是通过中断机制实现的,并且一个操作系统的所有系统调用都通过同一个中断入口来实现。如MS-DOS提供了INT 21H。Linux给应用程序授权了4个中断号:3、4、5和80h;3、4和5中断号是提供给应用程序调试所使用的,而80h是系统调用的中断号。第七章 操作系统接口 7.3.2 系统调用的类型系统调用的类型 1.进程控制类系统调用进程控制类系统调用(1)创建和终止进程的系统调用。(2)(2)获得和设置进程属性的系统调用。(3)(3)等待某事件出现的系统调用。第七章 操作系统接口 2.文件操纵类系统调用文件操纵类系统调用(1)创建和删除文件。cr
3、eat和unlink。(2)(2)打开和关闭文件。open和close。(3)(3)读和写文件。read和write。第七章 操作系统接口 3.进程通信类系统调用进程通信类系统调用 在OS中经常采用两种进程通信方式,即消息传递方式和共享存储区方式。当系统中采用消息传递方式时,在通信前,必须先打开一个连接。为此,应由源进程发出一条打开连接的系统调用open connection,而目标进程则应利用接受连接的系统调用accept connection表示同意进行通信;然后,在源和目标进程之间便可开始通信。可以利用发送消息的系统调用send message或者用接收消息的系统调用receive me
4、ssage来交换信息。通信结束后,还须再利用关闭连接的系统调用close connection结束通信。第七章 操作系统接口 在使用共享存储区方式进行通信时,须先利用建立共享存储区的系统调用来建立一个共享存储区,在利用建立连接的系统调用将该共享存储区连接到进程自身的虚地址空间上,然后便可利用读和写共享存储区的系统调用实现互相通信。除上述系统调用外,还有设备管理类系统调用和信息维护类系统调用。第七章 操作系统接口 7.3.3 POSIX标准标准 POSIX定义了标准应用程序接口(API),用于保证编制的应用程序可以在源代码一级上在多种操作系统上移植运行。POSIX标准定义了一组过程,这组过程是构
5、造系统调用所必须的。通过调用这些过程所提供的服务,确定了一系列系统调用的功能。第七章 操作系统接口 7.3.4 系统调用的实现系统调用的实现 1.中断和陷入硬件机构中断和陷入硬件机构 (1)中断和陷入的概念 中断是指CPU对系统发生某事件时的一种响应:CPU暂停正在执行的程序,在保留现场后自动地转去执行该事件的中断处理程序;执行完后,再返回到原程序的断点处继续执行。外中断是指由于外部设备事件所引起的中断;内中断是指由于CPU内部事件所引起的中断,如程序出错等。内中断(trap)也译为“陷入”。陷入是由于执行了现行指令所引起的;中断是由于系统中某事件引起的,该指令与现行指令无关。第七章 操作系统
6、接口 图 7-4 中断时的CPU轨迹 第七章 操作系统接口(2)中断和陷入向量。第七章 操作系统接口 2.系统调用号和参数的设置系统调用号和参数的设置 在一个系统中设置了许多条系统调用,并赋予每条系统调用一个唯一的系统调用号唯一的系统调用号。在系统调用命令中把想要的系统调用号传递系统调用号传递给中断和陷入机制的方法有:直接把系统调用号放在系统调用命令放在系统调用命令中,如UNIX,系统调用命令的低8位用于存放系统调用号;将系统调用号装入某指定寄存器或内存单元装入某指定寄存器或内存单元中,如MS-DOS将系统调用号放在AH寄存器中,而Linux则是利用EAX寄存器存放应用程序传递的系统调用号。第
7、七章 操作系统接口(1)陷入指令自带方式。陷入指令除带一个系统调用号外,还自带几个参数,但由于指令长度有限,自带参数是有限的少量几个。(2)直接将参数送入相应的寄存器中。MS-DOS用MOV指令将各个参数是送入相应的寄存器中。但由于寄存器数量有限,也限制了所能设置的参数的个数。(3)(3)参数表方式。将系统调用所需的参数放入一张参数表中,再将指向该参数表的指针放在某个指定的寄存器中。UNIX和Linux采用此方式。每条系统调用都含有若干个参数,在执行系统调用时,如何设置系统调用所需的参数设置系统调用所需的参数,常用的实现方式有以下几种:第七章 操作系统接口 图 7-7 系统调用的参数形式 参数
8、表方式又可采用直接或间接方式。直接参数方式将所有的参数值和参数的个数都放入一张参数表中;间接参数方式中参数表中仅存放参数个数和指向真正参数数据表的指针。第七章 操作系统接口 3.系统调用的处理步骤系统调用的处理步骤 首先,将处理机状态由用户态转为系统态;之后,由硬件和内核程序进行系统调用的一般性处理,即首先保护被中断进程的CPU环境,将处理机状态字PSW、程序计数器PC、系统调用号、用户栈指针以及通用寄存器内容等,压入堆栈;然后,将用户定义的参数传送到指定的地方保存起来。其次,是分析系统调用类型,转入相应的系系统统调调用用处处理理子程序子程序。最后,在系统调用处理子程序执行完后,应恢复被中断的
9、或设置新进程的CPU现场,然后返回被中断进程或新进程,继续往下执行。第七章 操作系统接口 4.系统调用处理子程序的处理过程系统调用处理子程序的处理过程 以文件操作creat系统调用为例:进入creat的处理子程序后,内核将根据用户给定的文文件件路路径径名名path,利用目录检索过程,去查查找找指定文件的目目录录项项。查找目录的方式可以用顺序查找法,也可用Hash查找法。如果在文件目录中找到了指定文件的目录项,表示用户要利用一个已已有有文文件件来建立一个新新文文件件。但如果在该已有(存)文件的属性中有不允许写属性,或者创建者不具有对该文件进行修改的权限,便认为是出错而做出错处理;若不存在访问权限
10、问题,便将已存文件的数据盘块释放掉,准备写入新的数据文件。如未找到指名文件,则表示要创创建建一一个个新新文文件件,内核便从其目录文件中找出一个空目录项,并初始化该目录项,包括填写文件名、文件属性、文件建立日期等,然后将新建文件打开将新建文件打开。第七章 操作系统接口 7.4 UNIX系统调用系统调用 7.4.1 UNIX系统调用的类型系统调用的类型 1.进程控制进程控制(1)创建进程(fork)。(2)(2)终止进程(exit)。(3)(3)等待子进程结束(wait)。(4)(4)执行一个文件(exec)。(5)(5)获得进程ID。getp-id获取调用进程的标识符;getpgrp获取调用进程
11、的进程组ID;getppid获取调用进程的父进程ID。(6)(6)获得用户ID。getuid获取真正用户ID;geteuid获取有效用户ID;getgid获取真正用户组ID。(7)(7)进程暂停(pause)。第七章 操作系统接口 2.文件操纵文件操纵(1)创建文件(creat)。返回文件标识符fd。(2)(2)打开文件(open)。返回文件标识符fd。(3)(3)关闭文件(close)。(4)(4)读和写文件read和write。三个输入参数:文件描述符fd;buf缓冲区首址。用户要求传送的字节数nbyte。第七章 操作系统接口(5)连接和去连接(link和unlink)。为了实现文件共享,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 接口
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内