《计算机操作系统》(孙雅如版)全套PPT电子课件教案-第7章 高级操作系统精选.ppt

《计算机操作系统》(孙雅如版)全套PPT电子课件教案-第7章 高级操作系统精选.ppt

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

该程序体包括一个循环(从源程序读出数据并写到目的文件中),这个循环将不断重复,直到源文件拷贝完成,根据返回码中的0和负数来判断循环是否结束。 循环第一部分是为读操作建立一条消息,并发送到服务器。接收到应答后,进入循环的第二部分,将从服务器取得的数据写到目标文件中。以上程序只是代码的概括,忽略了许多细节问题,例如,do-xxx进程(实际做的工作)没有给出,而且没有错误检查,另外客户和服务器怎样互操作也不明确。感兴趣的读者可进一步阅读有关分布式操作系统设计方面的文献。 7.3.4 分布式操作系统中的进程通信 在单机操作系统中,进程通信十分简单。进程之间可以借助于共享存储器进行直接通信。而在多机条件下,相互合作的进程可能在不同的处理机上运行,进程间的通信涉及处理机的通信问题。在松散耦合系统中,进程间通信还可能要通过较长的通信信道,甚至网络。因此,在多机条件下,广泛采用间接通信方式,即进程间是通过消息传递进行通信的。 1.通信软件 进程通信是操作系统提供的主要功能之一。在分布式系统中,进程通信功能的实现不能采用单机操作系统中的通信方法,这是因为: (1) 各节点机之间没有共享存储器,通信不能借助公共变量存储单元。 (2) 机间信息传递的可靠性大大低于机内信息传递的可靠性,在处理信息传递过程中,必须考虑错误检测和纠正。 (3) 系统中任何两个节点机之间未必互相连接,消息不能从发送方直接到达接收方,往往要经过中转,因此通信延迟时间不定。 (4) 系统中各节点机可能是异种机,通信进程可能处于不同型号的计算机上。 (5) 通信软件的实现与网络系统结构、通信线路以及线路的物理特性等有密切关系。 由此可见,分布式系统中进程通信的实现要比单机系统复杂得多。在分布式系统中,实现进程间通信的这一部分软件称为通信子系统。 ● 迁移(Migration)透明性。迁移透明性是指在不改变资源名字的前提下,资源可以随意从一个计算机(节点)迁移到另一个计算机上。 ● 副本(Replication)透明性。副本透明性是指用户不知道系统拥有多少副本。例如,设想在一个环上有许多服务器,每个服务器上都有一个完整的树型文件目录。在采用客户/服务器模式的系统中,客户方要读一个文件,先要发一个含有完整路径名的消息给一个服务器。该服务器检查自己是否有此文件,若有,则返回所需数据,若没有,就向环上一个服务器提出请求,这个服务器重复以上过程。在该系统中,服务器能够复制任何文件到一些服务器或所有服务器,而所有的用户却不知道这一点。 ● 并发(Concurrency)透明性。分布式系统通常有多个独立的用户。如果两个用户试图在同一时刻修改同一文件,会出现什么情况呢?如果一个分布式系统具有并发透明性,一个用户根本不会注意到其他用户的存在。为此,系统应有一种机制,一旦有一用户修改这一文件,系统就自动加锁,当修改完成后再自动解锁。按这种存取方式,所有资源只能顺序存取,而不能并发存取。 ● 并行(Parallalism))透明性。一个分布式系统在用户面前是以单机的形式出现的。假定一个程序员知道这个系统有100台计算机,他想使用一部分计算机来执行一个具有并行性的程序,结果会怎样呢?理论上说,这可以靠并行编译程序、操作系统以及运行时间库一起来挖掘程序的潜在并行性,而使程序员无需知道。 2.灵活性(Flexibility) 灵活性在建立一个分布式系统时也是很重要的。灵活性涉及到分布式操作系统的结构。分布式操作系统有两种结构形式:一种是单内核(Monolithic Kernel),另一种是微内核(Micro Kernel),如图7-11所示。 图7-11 单内核和微内核 分布式操作系统采用的单内核结构是基于传统的集中式操作系统的内核结构。许多系统调用是通过陷入内核实现的,在内核完成所需要的服务,最后返回结果给用户进程。许多基于UNIX的分布式系统都是采用这种结构,因为UNIX本身就具有一个大的单内核。 微内核结构是一种新的结构,许多新建的分布式系统都采用微内核结构,如Windows NT。微内核是相当灵活的,功能精干,仅仅提供以下四种服务: (1) 进程间通信机制; (2) 某些存储管理; (3) 有限的低级进程管理和调度; (4) 低级I/O。 微内核与单内核不同,它不提供对文件系统、目录系统、整个进程管理,或许多系统调用的处理。许多其它的操作系统服务都作为用户级服务器来实现,如找一个名字、读文件或获得其它服务,用户都是发送消息给适当的服务器,由这个服务器完成相应的工作并返回结果。另外,该系统易于实现、安装和调试新的服务程序,因为增加或改

文档评论(0)

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

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

1亿VIP精品文档

相关文档