作系统第8章.ppt

  1. 1、本文档共52页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 对象之间的通信方法可以大致上分为两种。一种是远程过程调用(RPC),远程过程调用可完成网络环境下的对象之间的消息传递工作。 下图给出了网络环境下对象之间互通消息时的通信顺序结构。 在图中,netname_look_up和send是送信对象的过程;port_allocate、netname_check_in以及receive是接收对象的过程。 另外,在网络环境下传递消息时,由于通信对象之间没有共同的物理存储器,因此,不依靠参照参数的办法来实现过程调用。而且,由于通信对象双方是并行执行的,因此,必须考虑对象之间的同步因素。 利用网络环境的通信结构 一种最典型的RPC处理流程图 在图中,由于客户对象必须区分所发出的过程调用是否是远程调用,因而设有远程过程区分模块stub,该模块把远程过程调用的有关参数进行组包后作为消息交给消息发送模块发出,并把远程过程调用返回的结果值进行拆包后交给原调用部分。 远程过程调用使得系统可以在网络环境中执行不同的对象。但是,在网络环境中执行的对象的寻址范围必须是在该对象的地址空间内。换句话说,在一个对象的权能中没有描述的过程或对象,不可能依靠远程过程调用得到执行。 第二种方式是共有存储器方式传递消息。这种方式与前面章节中讲述进程通信时所述方法大致相同。 3. 进程和资源的关系 在操作系统中,进程是动态的,而资源是静态的。无论是传统操作系统设计方法,还是使用面向对象设计,都会涉及到如何为进程分配资源的问题。在传统设计方法中,进程获得资源是通过系统调用(例如文件资源等)或过程调用(例如缓冲分配)等方法。 在面向对象设计的操作系统中,进程和资源之间的调用关系是通过对象之间互相发送消息进行消息通信实现的。而这些消息的发送和接收又要依赖于对象中所包含的过程来实现。 下图给出了Windows NT系统中使用的进程对象与资源的关系。 NT进程对象与资源图 如图所示,NT用户必须首先通过访问托肯(Token)对象检验其身份的合法性之后才能有权创建相应的进程对象。进程对象的属性中包含有与它相关联对象指针的对象表,包括线程、文件以及内存分区等。这里,线程、文件以及分区都可以是多于一个的。 虚存空间管理对象将给进程对象分配相应的地址空间结构。进程自身不能修改这些数据结构。 进程对象可以通过对象表访问其他对象。 4. NT进程对象和线程对象 NT的进程对象和线程对象如图所示。 其中,进程号与线程号分别表示进程和线程的识别符,它们在系统中是唯一的。安全性描述则指出是谁创建该进程对象,以及谁可以访问或使用该对象。 进程基本优先级是为进程中不同线程设置的,而线程的动态优先级和静态优先级则分别指线程在执行过程中的优先级和线程动态优先级的下限。 Windows NT进程对象描述图 Windows NT线程对象描述图 线程上下文指相关寄存器中的值和那些定义线程执行状态的数据结构。 默认处理器个数指线程可以同时执行的处理器个数。 最大资源限制指系统内存量、文件空间大小以及用户进程可以使用的处理机时间。 进程的执行时间指该进程中所有线程的已执行时间之和,而线程的执行时间则是线程在用户态和核心态两种执行模式下占有处理机的时间之和。 I/O计数器和虚存操作计数器分别记录进程中各线程对不同类型的I/O设备以及虚存进行操作的变量。 进程的断点则提供不同进程之间进行通信的通道。 线程的异步调用标识指出该线程是否在进行异步过程调用。线程的挂起数表示该线程未被恢复的挂起次数。线程访问控制允许该线程暂时访问其他进程。 线程的结束断点也是为进程间通信预备的通道。进程管理程序可通过该通道控制线程结束。 进程和线程的结束状态则分别给出进程和线程终止的理由。 返回 8.3 面向对象操作系统的分类 面向对象的操作系统首先是为了保护公有资源而开发的。自20世纪80年代初期第一个面向对象的操作系统Hydra开发成功以来,人们开发出了许多不同种类的面向对象的操作系统。这些系统具有一个共同特点,就是无论何种对象,都可被看作是受保护的基本单位。因此,面向对象的系统具有比面向进程的系统更为广泛的意义,因为进程只是一种类型的对象,且面向进程的系统只有在系统执行过程中才对有关资源提供保护。 下面,根据面向对象的操作系统所提供保护的范围来对现有面向对象的操作系统进行一个简单的归类。 面向对象的操作系统可以分为三类,即数据受保护的系统、数据和过程受保护的系统以及数据、过程和处理器受保护的系统。 数据受保护的系统指把执行时必需的状态数据和管理用数据定义为对象加以保护的系统。这些被保护的数据可以是进程控制表、设备控制表、页表等。在数据受保护

文档评论(0)

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

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

1亿VIP精品文档

相关文档