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

下载本文档

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

文档简介

1、1 1第九章 操作系统接口第九章第九章 操作系统接口操作系统接口9.1 用户接口9.2 Shell 命令语言9.3 联机命令接口的实现9.4 系统调用的概念和类型9.5 UNIX系统调用9.6 系统调用的实现2 2第九章 操作系统接口9.4 系统调用的概念和类型通常,在OS的核心中都设置了一组用于实现各种系统功能的子程序(过程),它们是OS系统本身程序模块中的一部分。为了保护操作系统程序不被用户程序破坏,一般都不允许用户程序访问操作系统的程序和数据,所以也不允许应用程序采用一般的过程调用方式来直接调用系统过程系统过程,而是向应用程序提供了一系列的系统系统调用调用命令,让应用程序通过系统调用去调

2、用所需的系统过程。系统调用系统调用(system call)构成了用户程序和操作系统之间的接口,即程序接口程序接口。它是操作系统专门为用户程序设置的,提供给程序员在编程时使用的,也用户程序取得OS服务的唯一途径。它是由一组系统调用组成的。 3 3第九章 操作系统接口9.4.1 系统调用的基本概念 1. 系统态和用户态在计算机系统中运行着两类程序:系统程序和应用程序为保证系统程序不被应用程序破坏,计算机设置了两种状态:系统态(也称为管态或核心态)和用户态(也称为目态)。在实际运行过程中,处理机会在两种装态间切换。相应地,现代多数操作系统将CPU的指令集分为特权指令和非特权指令两类。 4 4第九章

3、 操作系统接口(1) 特权指令所谓特权指令,就是在系统态时运行的指令,是关系到系统全局的指令。其对内存空间的访问范围基本不受限制,不仅能访问用户存储空间,也能访问系统存储空间,如启动各种外部设备、设置系统时钟时间、关中断、清主存、修改存储器管理寄存器、执行停机指令、转换执行状态等。特权指令只允许操作系统使用,不允许应用程序使用,否则会引起系统混乱。 5 5第九章 操作系统接口(2) 非特权指令非特权指令是在用户态时运行的指令。一般应用程序所使用的都是非特权指令,它只能完成一般性的操作和任务,不能对系统中的硬件和软件直接进行访问,其对内存的访问范围也局限于用户空间。这样,可以防止应用程序的运行异

4、常对系统造成的破坏。这种限制是由硬件实现的,如果在应用程序中使用了特权指令,就会发出权限出错信号,操作系统捕获到这个信号后,将转入相应的错误处理程序,并将停止该应用程序的运行,重新调度。6 6第九章 操作系统接口2. 系统调用如上所述,应用程序不能直接调用操作系统的过程。为此,操作系统提供了系统调用,使应用程序可以通过系统调用的方法,间接调用操作系统的相关过程,取得相应的服务。当应用程序中需要操作系统提供服务时,如请求I/O资源或执行I/O操作,应用程序必须使用系统调用命令。由操作系统捕获到该命令后,便将CPU的状态从用户态转换到系统态,然后执行操作系统中相应的子程序(例程),完成所需的功能。

5、执行完成后,系统又将CPU状态从系统态转换到用户态,再继续执行应用程序。 7 7第九章 操作系统接口可见,系统调用在本质上是应用程序请求OS内核完成某功能时的一种过程调用,但它是一种特殊的过程调用。它与一般的过程调用有下述的明显差别差别:(1)运行在不同的系统状态。一般的过程调用,其调用程序和被调用程序都运行在相同的状态系统态或用户态;而系统调用与一般调用的最大区别就在于:调用程序是运行在用户态,而被调用程序是运行在系统态。 8 8第九章 操作系统接口(2)状态的转换通过软中断软中断进入。由于一般的过程调用并不涉及到系统状态的转换,可直接由调用过程转向被调用过程。但在运行系统调用时,由于调用和

6、被调用过程是工作在不同的系统状态,通常通过软中断机制,先由用户态转换为系统态,经核心分析后,才能转向相应的系统调用处理子程序。(3)返回问题。在采用了抢占式调度方式的系统中,在被调用过程执行完后,要对系统中所有要求运行的进程做优先权分析。当调用进程仍具有最高优先级时,才返回到调用进程继续执行;否则,将引起重新调度,以便让优先权最高的进程优先执行。此时,将把调用进程放入就绪队列。 9 9第九章 操作系统接口(4)嵌套调用。像一般过程一样,系统调用也可以嵌套进行,即在一个被调用过程的执行期间,还可以利用系统调用命令去调用另一个系统调用。当然,每个系统对嵌套调用的深度都有一定的限制,例如最大深度为6

7、。但一般的过程对嵌套的深度则没有什么限制。图9-6示出了没有嵌套及有嵌套的两种系统调用情况。10 10第九章 操作系统接口图9-6 系统功能的调用11 11第九章 操作系统接口3. 中断机制系统调用是通过中断机制实现的,并且一个操作系统的所有系统调用都通过同一个中断入口来实现。如MS-DOS提供了INT 21H,应用程序通过该中断获取操作系统的服务。对于拥有保护机制的操作系统来说,中断机制本身也是受保护的,在IBM PC上,Intel提供了多达255 个中断号,但只有授权给应用程序保护等级的中断号,才是可以被应用程序调用的。对于未被授权的中断号,如果应用程序进行调用,同样会引起保护异常,而导致

8、自己被操作系统停止。如Linux 仅仅给应用程序授权了4 个中断号:3、4、5以及80h,前三个中断号是提供给应用程序调试所使用的,而80h正是系统调用(system call)的中断号。 12 12第九章 操作系统接口9.4.2 系统调用的类型 1. 进程控制类系统调用主要用于对进程控制的系统调用有:(1) 创建和终止进程的系统调用。(2) 获得和设置进程属性的系统调用。(3) 等待某事件出现的系统调用。 13 13第九章 操作系统接口2. 文件操纵类系统调用对文件进行操纵的主要系统调用如下:(1) 创建和删除文件。(2) 打开和关闭文件的系统调用。(3) 读和写文件的系统调用。 14 14

9、第九章 操作系统接口3. 进程通信类系统调用在单处理机系统中,OS经常采用消息传递方式和共享存储区方式。当采用消息传递方式时,在通信前需先打开一个连接。为此,应由源进程发出一条打开连接的系统调用,而目标进程则应利用接受连接的系统调用表示同意进行通信;然后,在源和目标进程之间便可开始通信。可以利用发送消息的系统调用或者用接收消息的系统调用来交换信息。通信结束后,还须再利用关闭连接的系统调用结束通信。除这三类外,还有设备管理类设备管理类系统调用和信息维护类信息维护类系统调用。15 15第九章 操作系统接口9.4.3 POSIX标准目前许多操作系统都提供了上面所介绍的各种类型的系统调用,实现的功能相

10、类似,但在实现的细节和形式方面却相差很大,这种差异给实现应用程序与操作系统平台的无关性带来了很大的困难。为解决这一问题,国际标准化组织ISO给出的有关系统调用的国际标准 POSIX1003.1(Portable Operating System IX),也称为“基于UNIX的可移植操作系统接口”。16 16第九章 操作系统接口图9-7 UNIX/Linux系统程序、库函数、系统调用的分层关系17 17第九章 操作系统接口9.5 UNIX系统调用9.5.1 进程控制该类系统调用包括创建进程的系统调用fork、终止进程的系统调用exit、等待子进程结束的系统调用wait等十多条。18 18第九章

11、操作系统接口1. 进程的创建和终止(1) 创建进程(fork)。(2) 终止进程(exit)。 19 19第九章 操作系统接口2. 改变进程映像和等待(1) 执行一个文件(exec)。(2) 等待子进程结束(wait)。 2020第九章 操作系统接口3. 其它进程调用(1) 获得进程ID。(2) 获得用户ID。(3) 进程暂停(pause)。 21 21第九章 操作系统接口9.5.2 文件操纵用于对文件进行操纵的系统调用是数量最多的一类系统调用,其中包括创建文件、 打开文件、关闭文件、读文件及写文件等二十多条。2222第九章 操作系统接口1. 文件的创建和删除(1) 创建文件(creat)。

12、(2) 删除文件。 2323第九章 操作系统接口2. 文件的打开和关闭(1) 打开文件(open)。(2) 关闭文件(close)。 2424第九章 操作系统接口3. 文件的读和写读和写文件的系统调用是read和write。仅当用户利用open打开指定文件后,方可调用read或write对文件执行读或写操作。两个系统调用都要求用户提供三个输入参数: 文件描述符fd。 buf缓冲区首址。对读而言,这是用户所要求的信息传送的目标地址;对写而言,则是信息传送的源地址。 用户要求传送的字节数nbyte。2525第九章 操作系统接口4. 建立与文件的连接和去连接(1) 连接(link)。 (2) 去连接(unlink)。 2626第九章 操作系统接口9.5.3 进程通信和信息保护 1. 进程通信(1) 消息机制。(2) 共享存储器机制。(3) 信号量机制。 2727第九章 操作

温馨提示

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

评论

0/150

提交评论