第7章操作系统接口(系统调用部分).ppt

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十章 操作系统设计 第七章 操作系统接口 联机命令接口 系统调用 图形用户接口 7.3 系统调用 程序接口是OS专门为用户程序设置的,也是用户程序取得OS服务的唯一途径。程序接口通常中由各种类型的系统调用所组成的,系统调用提供了用户程序和操作系统之间的接口,应用程序通过系统调用实现其与OS的通信,并取得它的服务。 7.3.1 系统调用的基本概念 在OS的核心中都设置了一组用于实现各种系统功能的子程序,并将它们提供给应用程序调用。 系统态和用户态 为了保证系统程序不被应用程序有意或无意地破坏,计算机设置了两种状态:系统态(也称为管态或核心态)和用户态(也称为目态)。 操作系统在系统态运行,应用程序只能在用户态运行。 特权指令与非特权指令 CPU的指令分为特权指令和非特权指令。 特权指令:在系统态时运行的指令,关系到全局的指令。只允许操作系统使用,不允许应用程序使用。 非特权指令:在用户态时运行的指令,一般应用程序所使用的都是非特权指令,它只完成一般性的操作和任务,不能对系统中的硬件和软件直接进行访问,对内存的访问也局限于用户空间。 系统调用 操作系统中提供了系统调用,使应用程序可以通过系统调用的方法,间接调用操作系统的相关过程,取得相应的服务。 应用程序使用系统调用命令,以取得操作系统服务时,操作系统将CPU的状态从用户态转换到系统态,然后执行操作系统中相应的子程序,完成所需的功能,执行完成后,系统又将CPU状态从系统态转换到用户态,再继续执行应用程序。 系统调用与一般过程调用的区别 由于操作系统过程的特殊性,使应用程序不能采用一般的过程调用,而是利用一种系统调用命令来调用所需的系统过程。可见系统调用在本质上是应用程序请求OS内核完成某功能时的一种过程调用,但它是一种特殊的过程调用,它与一般的过程调用有明显的差别。 系统调用与一般过程调用的区别 系统调用方式(INT)与程序中一般的过程调用方式的相同点: 系统调用与一般过程调用的区别 运行在不同的系统状态 一般过程调用,其调用程序和被调用程序都运行在相同状态:系统态(核心态,管态)或用户态(目态) 系统调用:调用程序在用户态,被调用程序在系统态 系统调用与一般过程调用的区别 通过软中断进入 一般的过程调用不涉及系统状态的转换,可直接由调用过程转向被调用过程 运行系统调用时,调用和被调用过程在不同系统状态,不允许由调用过程直接转向被调用过程 通过软中断机制先由用户态转换为核心态 在OS核心分析后,转向相应的系统调用处理子程序 系统调用与一般过程调用的区别 返回问题 抢占式调度的系统中,被调用过程执行完后,系统将对所有要求运行的进程进行优先级分析。如果调用进程仍有最高优先级,则返回到调用进程执行。否则,引起重新调度,让优先级最高的进程优先执行。此时,系统把调用进程放入就绪队列 系统调用与一般过程调用的区别 嵌套调用 系统调用也允许嵌套调用,即在一被调用过程执行期间,可再利用系统调用命令调用另一系统调用 一般每个系统对嵌套调用的深度有限制 系统调用与一般过程调用的区别 7.3.2 系统调用的类型 进程控制 文件操纵 通信管理 系统维护 * * 改变指令流程 重复执行和公用 改变指令流程后需要返回原处

文档评论(0)

yan666888 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档