操作系统ch3讲述.ppt

  1. 1、本文档共77页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统ch3讲述

UNIX系统调用的处理过程 图太大,见下一页。 图3.6系统调用的处理过程 System Call 用户程序 A0 SUB0 SUB1 SUBi SUBn A1 Ai An … … 系统调用处理子程序 取系统功能号 找入口地址表 相应入口地址 结束处理 恢复现场 A0 A1 … Ai … An 保护CPU 现场 访管指令 系统调用陷入机构 入口 地址表 与系统调用有关的概念 3.3.1 系统调用分类 3.3.2 系统调用、标准库函数和系统程序 3.3.3 系统调用的设计与实现 3.3.4 系统调用的含义 3.3.5 系统调用与一般过程调用的区别 系统调用的含义(1) 系统调用允许用户在程序中调用操作系统所提供的一些子功能,它是一种特殊的功能调用,这种调用通常是由特殊的机器指令实现的 系统调用是通过访管指令或软中断的方式中断现行程序,而转去执行相应的子程序,以完成特定的系统功能,完成后,控制又返回到发出系统调用的下一条指令,被中断的程序将继续执行下去。 ????? 系统调用的含义(2) 在多道程序系统中,同一种系统调用可以在多个进程中“同时”进行,这就要求系统调用程序是可重入的。 系统调用是为扩展机器指令、增加系统的功能,方便用户使用提供的。因此,在一些计算机系统中,把它称为“广义指令”。但“广义指令”是不同于机器指令的。 ??????? 系统调用的含义(3) 在汇编程序中,用户可以直接使用系统调用,若使用高级语言编写程序时,是由编译程序将高级语言中的有关资源操作的语句变换为相应的系统调用。(不严谨) 在有的计算机中不设置访管指令,其系统调用访管指令的功能由一个软中断指令来完成。所以系统调用就是由操作系统代替用户完成某些特定的子过程。 ??????? 系统调用的含义(4) 操作系统中提供了系统调用后,使得用户编程更方便,且系统功能更强了。有了系统调用后,相当于使计算机的指令系统得到了扩充,因为从调用形式上看,执行一条系统调用命令就像执行了一条功能很强的机器指令,所不同的是指令系统中的指令由机器硬件或固件(微程序)解释执行,而系统调用命令必须由操作系统解释执行。 与系统调用有关的概念 3.3.1 系统调用分类 3.3.2 系统调用、标准库函数和系统程序 3.3.3 系统调用的设计与实现 3.3.4 系统调用的含义 3.3.5 系统调用与一般过程调用的区别 系统调用与一般过程调用的区别 在操作系统中实现的系统调用是提供给用户的各种系统功能,它有些类似系统提供的许多过程供用户使用,但它与一般的过程有着本质的区别。主要区别如下: 1. 运行的系统状态不同 2.进入的方式不同 3.调用的方式不同 1.运行的系统状态不同 在程序中的过程一般都是用户程序,或 者都是系统程序,即都是运行在同一系 统状态下(用户态或系统态)。但是,系 统调用的调用过程是用户程序,它运行 在用户态下,而被其调用的过程却是系 统过程,运行在系统态下。 2.进入的方式不同 一般的过程调用可以直接由调用过程转向被调用的过程。而执行系统调用时,由于调用过程与被调用过程是处于不同的系统状态,因而不允许有调用过程直接转向被调用过程,而通常都是通过软中断机制,先进入操作系统,经分析后,才能转向相应的处理程序。 3.2.1 有关作业的基本概念 1.什么是作业(Job)? 2.什么是作业步? 3.什么是作业流? 4.作业的分类 5.作业的控制 6.作业的输入/输出方式 什么是作业(Job)? 把用户要求计算机完成的一个计算过程或者一次事务的处理过程称为一个作业。(用户布置作业,计算机做) 作业是用户向计算机系统提交工作的基本单位。 例如:求解一元二次方程ax2+bx+c=0的根就是一个典型的计算型作业; 例如:在一张CD-ROM盘查找某种信息就是一个典型的事务处理型作业。 什么是作业步? 一个作业通常需要几个加工处理的步骤才能完成。其中的每一个步骤被称为一个作业步。 (回想刚才讲的批处理语言) 一个作业是由一系列有序的作业步组成 一个作业内的作业步总是相互关联的 每个作业步都有一个程序执行 一个作业步程序运行的结果将产生下一个作业步所需要的“文件” 作业,与批处理系统并无必然联系 批处理系统只提供脱机的方式来处理作业 后来的操作系统还提供了联机的方式来做处理作业 作业的例子:高级语言编写一个程序并运行,一般要经历以下几个步骤: 第一步:编辑。从键盘上输入源程序建立新文件或是对原有文件进行修改; 第二步:编译。运行编译程序对源程序进行编译生成目标程序; 第三步:连接。若干个目标程序模块经过连接形成一个可执行程序文件; 第四步:运行。运行可执行的程序代码并输出计算结果。 什么是作业流? 在批处理系统中,通常

文档评论(0)

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

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

1亿VIP精品文档

相关文档