计算机操作系统原理与核心设计剖析.ppt

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
*/19 10.4 系统调用 参数传递 目的:实现用户程序和系统程序间的参数传递 常用实现方法: 由陷入指令自带参数:陷入指令的长度有限的,且还要携带系统调用功能号,只能自带有限的参数 通过有关通用寄存器来传递参数:这些寄存器应是系统程序和用户程序都能访问,由于寄存器长度较短,从法传递较多的参数 更为常见的是在内存中开辟专用堆栈区来传递参数。 */19 10.4 系统调用 系统调用与一般过程调用的区别 相同点: 改变指令流程 重复执行和公用 改变指令流程后需要返回原处 */19 10.4 系统调用 系统调用与一般过程调用的区别(续1) 不同点: 运行在不同的系统状态 一般过程调用,其调用程序和被调用程序都运行在相同状态:核心态或用户态 系统调用:调用程序在用户态,被调用程序在系统态 进入方式不同,状态的转换 通常利用call 或jump 指令进入普通的过程调用,而进行系统调用则需要利用int或trap指令通过软中断进入 一般的过程调用不涉及系统状态的转换,可直接由调用过程转向被调用过程 运行系统调用时,调用和被调用过程在不同系统状态,不允许由调用过程直接转向被调用过程 通过软中断机制先由用户态转换为核心态 在OS核心分析后,转向相应的系统调用处理子程序 */19 10.4 系统调用 系统调用与一般过程调用的区别(续2) 不同点: 返回方式不尽相同 一般过程调用在被调用过程执行完后,返回调用过程 抢占式调度的系统中,被调用过程执行完后,系统将对所有要求运行的进程进行优先级分析。如果调用进程仍有最高优先级,则返回到调用进程执行 否则,引起重新调度,让优先级最高的进程优先执行。此时,系统把调用进程放入就绪队列 被调用代码的位置也有所不同 系统调用是动态调用,其调用位置和返回位置都是不固定的。由于同一程序中不包含被调用代码 一般过程调用属静态调用,被调用代码与调用代码在同一程序之内 注意:系统调用也允许嵌套调用,但每个系统对嵌套调用的深度会有限制 */19 10.4 系统调用 Win32 应用程序接口 在Windows中,定义了一系列程序(应用程序接口Win32 API) ,提供OS服务 该接口(部分)支持Win95 以后的Windows版本Win32 API调用的种类非常多,以千计算 在Windows中不好分辨哪些是系统调用(被内核执行),哪些是用户空间的库调用 事实上,一个Windows版本中的系统调用也许在另一个Windows版本中会在用户空间执行 由于图形子系统在内核中运行(在某些Windows版本中),它们也是系统调用,否则是库调用 */19 回顾 作业接口 (命令接口) 脱机用户接口 联机用户接口 图形用户接口。 通过出现在屏幕上的对象直接进行操作,以控制和操纵程序的运行。 Shell 语言 程序接口(系统调用) 由一组系统调用组成,每一个系统调用都是一个完成特定功能的子程序。 清华大学出版社 操作系统接口概述 目标: 提供一个友好的用户访问操作系统的接口,使得用户能将自己的要求告诉操作系统,同时也要构造一个反向接口使系统能够利用该接口告知用户目前的工作情况 两种主要接口: 作业(或功能)控制一级 脱机用户接口 联机用户接口 程序一级的编程接口: 由一组系统调用和高级语言库函数组成 */19 操作系统接口概述(续) 用户接口示意图 应用程序 操作系统 硬件 系统调用 命令 用户界面 用户 */19 第10章 操作系统接口 作业接口 (命令接口) 脱机用户接口 联机用户接口 图形用户接口。 通过出现在屏幕上的对象直接进行操作,以控制和操纵程序的运行。 Shell 语言 程序接口(系统调用) 由一组系统调用组成,每一个系统调用都是一个完成特定功能的子程序。 */19 10.1 作业级接口 脱机用户接口 由一组具有编程语言特征的作业控制命令,或称作业控制语言(Job Control Language,JCL)组成。 以作业说明书的方式提交给系统(批的方式);执行过程中,用户无法干涉 作业说明书主要包括作业情况和作业资源要求两方面的内容 UNIX/Linux中的Shell语言也可作为JCL使用 效率较高,但缺乏交互能力,不适合初学者 */19 作业级接口 联机用户接口 采用人机对话的方式来控制作业的运行,及时交互 由一组命令及命令解释程序组成,也称命令接口 一般可提供如下的一种或几种方式: 命令行方式 菜单方式 命令文件方式 */19 联机用户接口 (1) 命令行方式 通过控制台终端,打入操作系统提供的命令来控制自己的作业的运行 各操作系统命令从格式到功能都不尽相同 通常的命令格式: COMMAND argl,arg2,…,argn <CR> 命令

文档评论(0)

三四五 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档