版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、的I/O路径 53第3章 图解客户/服务器中从应用到机和膝上型计算机。这些计算机都需要在本地上和恢复文件。尽管无盘客户已经的价格,讨论了许多年,但现在桌面系统却远比它流行,而且由于桌面系统的磁盘驱动器相信它会继续流行下去。用于本地桌面的典型的驱动器有: IDE和SCSI磁盘驱动器、磁带驱动器、CD-ROM驱动器、软盘驱动器以及大容量可移动的磁盘驱动器,如 Iomega ZIP、JAZ驱动器和Superdisk大容量磁盘驱动器。在这些上,用户将各种数据,应用、 e-mail、工作文件等。除了所使用的以外, I/O路径上的其他大部分成分都已经在第 2章中论述,必要时可参见第2章。本书中提供的许多结
2、构图图标表示,这些2章过。为了便于查阅,现将这些图标在汇集3-1中。3.1.2 本地I/O路径详解以一个字处理应用作为例子,通过跟踪它的 I/O操作过程来分析本地I/O路径。数据首先由一个用户产生,或者是直接从键盘键入,或者由其他应用拷贝而来,或者通过诸如语音识别等其他产生。然后,用户的字处理将给原始数据加上适当的文档标识和描述码,由此格式化原始数据。最后产生的结果将作为电子文件形式起来。随着用户工作的进展,新产生的文件被存放到磁盘,这既可以由手工完成,也可以由进程自动完成。字处理程序用一个默认的目录存放文档,端用户不必牵涉进每个操作的细节。尽管端用户和应用开发者正在他们的数据,但他们却不必知
3、道任何的细节,这一点很重要。例如,对用户而言,没有必要知道他们使用的文件系统提供了一个方便的办法,使用它能容易地地址或物理结构。选择及该上的逻辑位置,即它的目录和名字。应用上述操作的完成都依赖于提供给字处理应用并由它使用的所谓文件服务接口。字处理程序正是使用这个接口发出I/O请求,如图3-2所示。文件I/O请求文件服务器接口1. I/O 路径的操成分通常也简称为 OS,负责把I/O请求由应用操送到操驱动程序,驱动程序最终的操作,完成这个过程需要利用几个功能层。虽然本书不讨论影响I/O操作的所有可能的OS进程,但是,整个这一章以图3-2 应用与文件系统的接口及本书的其余部分将使用一个确定的模型,
4、并一直延用这个模型。操 系统环境。 文件系统。 卷管理器。的三个主要成分是:服务接口也是 OS的一部分,它们分别是应用除此之外,文件服务接口和动程序交换I/O请求的编程接口。驱当I/O请求到达操时,它被放在系统环境的队列中。系统环境由操内核和一些进程组成,这些进程为所有的系统功能提供调度,系统功能应用处理、通信及 I/O调度54第一部分本身的性能决定着系统的总体性能,I/O请求的服务。等。争用当的进程数量和满足处理I/O请求的需要时,文件系统将接管这个请求,并首先确定是创建一个文件,还是写入新的数据?这看上去似乎很简单,事实上,需要做的事情很多。例如,是否已经一个同名的文件?有足够的空间来这个
5、文件吗?这个介质是只读 (意味着不可写 ) 的吗?对这个目录、介质或有限制吗?文件名有效吗?等等。在操地把一个文件写入之前,所有这些都必须加以检验。一旦这些检验完毕,文件系统就决定将这个文件放在目标的哪个地方。这个目标既可以是实际,也可以是虚拟;但在文件系统看来,它们是一回事。虽然文件系统不直接与用这个打交道,但它维护磁盘上所有数据的一个完整的,虚拟。文件系统利发现空间以文件。然后,将应用对文件的原请求转化为磁盘块级的 I/O操作。当应用向文件存放新的数据时,文件系统将新数据转化为该文件中特定的一些块。在I/O请求离开文件系统之前,文件系统建立相应的据,用以描述该文件,它确定权限、提供用于系统
6、和管理的信息等。图 3-3显示了对文件系统发出的文件请求,文件的文件系统不仅将应用中的文件请求转变为块 I/O操作,也将位置信息和据加入这个请求中。文件I/O请求文件服务器接口操系统环境文件系统位置信息据块I/O请求数据+位置信息+据图3-3 应用对文件系统的请求注意据是一个很有趣的论题,对工业有着重要的意义。随着数据量的持续增长,其管理将变得越来越。据是精确地描述文件内容的文件,和数据管理系统正是利用它来管理数据的。备份即利用系统提供了极大的方便。在文件系统已经确定文件存放位置以后,操据的一个应用例子,它为管理员管理他们的给卷管理器I/O请求。按照所管理的配置,卷管理器处理文件系统的I/O请
7、求。这过程就像把这个请求给一个那样简单,或许它还涉及到为多个子系统产生多个请求。图 3-4显示了卷管理器由单一的文件系统 I/O请求产生两个请求的例子。2.驱动程序的作用在I/O路径上,驱动程序是I/O路径上最后一片系统。在驱动程序接受来自卷管到主机 I/O总线上的目标主机I/O理器的块I/O请求后,它将管理所请求块的传输,并把它们器。术语“驱动程序”可能会引起误解,因为驱动程序并不管理,而是管理55第3章图解客户/服务器中从应用到的I/O路径主机I/O器,反过来,由主机 I/O的通信。图 3-5给出了器管理对驱动程序的作用,这里它负责将来自于系统栈的请求传送给主机 I/O总线。操文件系统文件
8、系统请求卷管理器卷管理器的特定请求图3-4 由单一的文件系统I/O请求产生两个请求图3-6总结了I/O路径上的成分。位于 I/O路径上两端的分别是应用驱动程序,应用文件的I/O请求,驱动程序负责管理和I/O器。操应用文件I/O请求文件服务器接口系统环境操驱动程序文件系统卷管理器服务器接口主机I/O总线驱动程序到主机I/O总线图3-5驱动程序在I/O路径上的作用图3-6 I/O路径的组成3. 主机I/O总线驱动程序接受I/O请求,并通过系统I/O总线将它到主机I/O器。在这个过程中,主机I/O总线好像是一个动。它也像一个高速的的成分,但事实上它是一个智能器,负责管理时钟周期及其活交换机,负责建立
9、计算机驱动各种外设接口之间的连接。很明显,主机I/O总线在I/O路径上起着关键的作用,并对性能产生巨大的影响。56第一部分4. 主机I/O器像第2章所描述的那样,主机I/O器是计算机及其之间的桥梁。主机器既可以集成在系统板上,也可以安装在系统的插槽中。当主机适配器作为插卡加入主机 I/O总线时,它被称之为主机总线适配器。今天,大多数主机 I/O适配器都使用总线太多地参与I/O处理的细节。技术,避免系统 CPU驱动主机I/O器可以被看成同一过程的两个部分,但被系统主机I/O总线。图3-7显示了这三个成分,以及它们在系统和其之间形成的完整连接。无论对于本地存储还是,系统/连接都是所有I/O传输的极
10、为重要的部分。驱动程序主机I/O总线主机I/O器图3-7 系统与其间的连接主机I/O器从驱动程序接受 I/O请求,并将它传输给特定的。主机 I/O器的作用是:正确地寻址每个并正确而完整地传输 I/O请求命令和数据 。主机I/O器也能像卷管理器一样用于的创建。在这种情况下,它接收来自驱动程序的I/O请求,并为它与之交互的各种实际重新排序该 I/O请求。从这个意义上说,主机I/O器为卷管理提供了一个附加层。分解卷管理功能是I/O的重要概念。对于单一的子系统,可能许多不同的虚拟化层次。图 3-8显示了主机I/O器接收单个的I/O请求,然后,将它分解为两个I/O请求给。磁盘镜像就属于这种情况。主机I/
11、O器主机I/O总线图3-8 主机I/O器的I/O请求重排5.I/O总线在主机I/O器的另一侧是I/O总线,它类似于同轴电缆以太总线。在主机 I/O控制器上有一块电路,术语“菊花链”通常I/O总线就是利用它来维护它的时钟和管理能力的。I/O总线的物理连接。这对总线的物理特性的理解很有帮助,但对总线功能的理解却帮助不大。在功能理解方面,以太总线可能是一个更好的模型。的I/O路径 57第3章 图解客户/服务器中从应用到I/O请求被直接地到每个,而不必从一个到另一个地传送。换言之,在转发包到下一个地址时,其他将不查看该包,因而引起延时。在以太总线和大部分I/O总线之间着如下三个重要的差别: 以太碰撞检
12、测协议很少使用。 在以太I/O总线赋予了优先权策所有的活动。中,所有的系统具有同等的权,而器发起和略,它决定了对总线的。通常,单个的更长的有效数据负载 在I/O总线上,主机I/O器及更快的大块数据传输。在许多基于PC的系统中,主机I/O总线I/O总线由单一的主机I/O到单一主机器管理。图3-9显示了连接两个I/O总线的实例。的争用和使用了更长的数器上的I/O请求由于消除了总线据传输,因而可以获得极高的总线使用率。据估算, I/O总线的使用率大约在可用总线带宽的 80%95%, 相反,在大多数情况下,顶峰状态时的以太总线的使用率大约仅达到30%。I/O总线在后面章节中和拓扑,单个主看到,对于器的
13、概念也不总是合适。技术6. I/O的最终目标:最终将解释I/O请求,并处理这个请求。图3-9 两个挂接到一条I/O总线如果是读/写数据或执行其他的操作,则必须产生一个响应。这个响应可能是很简单的确认,如请求已经收到;或者是更复杂的介质的统计信息等,如图3-10所示。及其假如是一个子系统,如带有智能器I/O总线的RAID机柜,为了处理这个请求,必须将它传送给每一个内部,然后把来自于的响应搜集起来,作为一个单个的响应从 RAID机柜中去。最I/O请求I/O确认常见的I/O请求是读请求。在响应读请求过程中,设指定的数据块,并把它们传送到主机 I/O备器,在I/O主机器中,数据被打包后通过主机 I/O
14、总线传输到到应用程序。驱动程序,再成分传送图3-10 I/O请求和确认 确认I/O请求要确认每一个由主机I/O器令,在将请求转发到连接的之前,提供虚的子系统要对这些 I/O请求进行立即确认。虽然这样可以拟传输,但也可能产生危险,即所请求的操作没有在实际的上真正地执行,出现这种情况的例子之一是回写缓存,第5章将讨论这个。58第一部分一旦接收到来自的确认,主机 I/O器将对其进行解释,在需要的时候,还将沿着 I/O路径一个相应的确认。I/O路径上的任何一个系统成分可能都需要确认。7. I/O路径的硬件成分图3-11显示了I/O路径的硬件成分,从主机I/O总线开始,通过连接主机I/O直到,这就完成了
15、从图3-6开始的各I/O路径成分的连接。器和I/O总线,I/O总线主机I/O总线主机I/O器图3-11 从主机I/O总线到的硬件I/O路径8. 完整的本地I/O路径图示在以上各节中,我们描述了完整的本地 I/O路径,现将它们综合起来,显示在图 3-12中。图中左上角的应用发出I/O请求,这个请求可以右上端的三个执行操作。应用文件I/O请求文件服务器接口系统环境文件系统卷管理器服务器接口驱动程序操I/O总线主机I/O器主机I/O总线图3-12 完整的本地I/O路径的I/O路径 59第3章 图解客户/服务器中从应用到从图中可以看出,整个路径支持通信,因此, I/O的请求和响应可以沿各自的方向传输。
16、本地是一个封闭的系统, I/O请求沿着一个指定的路径到达,然后再沿着原来的路径返回到应用。9. 使用代替I/O总线I/O总线。这个模型当然适用于点对点最简单的模型之一是替换掉。3-13就事实上,对于点对点,总线的概念显得不太确切,它应该由一根缆线代替。图I/O总线的示意图。是在点对点中用缆线代替缆线主机I/O总线主机I/O器图3-13 缆线代替I/O总线的点对点在许多的实现中,同一个上可能要挂接许多和系统。这种情况下,除了用集线器替换掉总线这点变化而外,其他的成分保持不变。图 3-14就给出了同一上挂接多个的示例。集线器主机I/O总线主机I/O器图3-14 挂接多个的60第一部分接口规范是指I
17、/O操作使用的交换格式和顺序,它遵循着一定的规则,和预期的结果。如果的某些成分与规范不一致,则会引起互相不兼容的。在 I/O路径的各成分间都有数据传输和交换的标准。通常它们由以下机构所制订: 标准化组织。 操公司。 I/O技术开发公司。虽然交换标准由这些机构或公司制订,但并不能保证 I/O子系统能正确地运行。对于新开发的技术,经常出现这种情况,目前就处于这种状态。3.1.3服务器的本地I/O服务器本地I/O类似于工作站本地I/O,在客户/服务器中,实际的和 I/O活动是在服务器上执行的。所以,我们不太关注客户端,而把注意力投向服务器我们所关心的服务器有三类: 文件服务器。 数据库服务器。 We
18、b服务器。在桌面机和服务器的本地间着若干差别。首先,在服务器上产生 I/O请求的应用与工作站上的差别很大。桌面系统有许多不同的应用,如字处理、电子表格、 e-mail、制图、CAD、编辑器等等;另一方面,服务器系统则专有性。这些应用的重要组成部分是很多用户运行少量的应用,而这些应用具有很高的服务和 I/O服务。其次,服务器务器。后面能够利用通信与客户融为一起。客户利用协议和连接来服看到客户是如何产生服务器请求的,但现在我们对“电路”的服务器端更感。除了TCP/IP协议栈、以太网适配器、驱动程序以外,服务器还序,该程序负责管理和维护同大量客户的通信。某种客户连接程图3-15给出了对服务器系统的客
19、户I/O的简单模型。图中显示了进入的客户 I/O请求传输过程,它首先由接口卡( NIC)读入,然后从主机I/O总线到相应的驱动程序。设备驱动程序再把它传送到服务器的操1. 文件服务器I/O处理优势,然后,由客户 I/O程序处理该请求。文件服务器的客户I/O处理程序是一个优化的应用或服务,它把客户请求安排到本地存储。虽然这个应用似乎并不显眼,但从文件服务器的角度看,这确实是最重要的应用,服务器 必须能够同时支持大量的用户,这便是服务器和桌面系统间的主要差别。一个桌面 I/O路径可能每次只能管理几个请求,而一个服务器则同时可能要接收几百个请求,且所有这些请求必须得 到正确管理。让我们举一个例子说明
20、,在一个文件服务器上,有 200个正在使用的用户,每一个用户磁盘或子系统上的文件系统可能同时接受 100个或他们拥有的。这就意味着,的访接口规范的I/O路径 61第3章 图解客户/服务器中从应用到问请求。每一个请求必须由服务器的协议处理,首先将这些请求放在一个队列中,当服务器的I/O系统能满足它们的要求时,就处理它们。当然,移动这些请求通过整个的 I/O路径需要花费一些时间。假如你的请求最后一个到达服务器,那么完成它花费的时间可能更明显。以太网主机I/O总线NIC客户I/O处理程序服务器操图3-15 服务器接收客户I/O请求的过程服务器的部分责任是保证请求的正确。当用户登录到一个服务器的时候,
21、通常,首先每一个 I/O请求都得登录,要键入他们的口令,以确认他们的。从这时起,就没有必要这是因为文件系统按照用户的ID、地址和其他特征,负责跟踪每个用户。作为识别用户和系统的,ID和地址能很好地工作,但作为连接进程和消息的内部数据结构,它们并不能很好地工作。这就是说,服务器操必须有一种将这些标识特征转换为内部“柄”的,使请求在通过服务器 I/O路径时容易跟踪。遗憾的是,不是所有的I/O路径成分都使用同样的数据结构。例如, I/O主机器的跟踪I/O请求方式就不同于文件系统的跟踪方式。为了避免错误操作,需要提供充足的内存。提示服务器需要大量的快速内存以保存I/O进程的内部。假如可能的话,应该安装
22、超过最小建议内存的50%100%的内存,以防执行错误并确保可靠性。2. 数据库服务器需求数据库服务器有着十分明确的和 I/O需要,这正反映了它们所支持的商业应用的个性化特征。例如,事务数据库典型地要求小的、阵发性 I/O,而数据挖掘数据库系统则需要长时间的流式I/O。数据库系统已经成为支持各种商业需要的重要工具,为了提供最高的服务质量,它经常根据某类特殊应用的需要提供专门的服务。这就意味着可以I/O成分、配置和数据结构进行调整,以达到最优的性能。某个应用特性,对数据库的有时候,数据库系统也使用原始分区为提供卷管理功能,原始分区的思想是:数据库在磁盘上定义一个块范围,并对I/O过程的成分实行直接
23、的管理,而不通过文件系统来管理。的。在数据库 I/O策略这个具有一定的意义,因为数据库不是面向文件系统,而是面向服务接口驱动程序接口卡(NIC)客户I/O请求62第一部分中,原始分区承担了文件系统的。所以,当数据库应用产生一个 I/O请求时,数据库系统必须安排数据的细节,而不是将其传递给文件系统。换言之,数据库为产生 I/O请求提供了完整的系统机制。当更的数据库操作需要一个I/O请求时,它就将那个请求到一个进程,该进程维护一个类似于文件系统的查找表,由此确定在中的位置。这个级的 I/O请求通过原始分区管理器传送到驱动程序, I/O路径的其余成分同标准的文件服务器一样。图 3-16给出了文件服务
24、器和运行在原始分区上的数据库成分的差别。一般应用数据库应用系统环境文件系统数据库系统卷管理器原始分区管理器文件服务器数据库服务器图3-16 文件服务器和建立在原始分区的数据库成分差异许多数据库的实现建立在文件系统之上,而不是使用原始分区。这样,数据库为了更新记 录必须要打开文件。当周期性地产生 I/O请求以更新文件中的特别块范围时,就使文件一直处于打开状态。事实上,这种类型的操作十分类似于原始分区上的操作,只是操作的文件与许多其他文件一起于服务器的文件系统中。3. Web服务器需求Web服务器是一类相对新的服务器,对和 I/O的需求也随环境变化而不同。对于基本的HMTL,Web服务器的需求相对
25、简单,但对于大型的搜索引擎站点、及电子商务站点,需求就极具性。随着Web站点的流行以及传输量的增加,对 Web服务器的性能要求将变得难以满足。在大的Web服务器上,客户I/O处理程序必须能够在每分钟内处理几千条请求。虽然部分处理能够以分布式实现,但客户请求的巨大数量仍是令人惊讶的。第1 6 章将讨论Internet需求,以及建立可扩展性更强的Web站点的技术的应用。3.1.4 本地I/O路径的讨论及变化现在来扩展对本地I/O路径的分析,使之包含能同时服务于多个请求的多主机 I/O器。1. 多主机I/O多主机I/O和(或)容错的器器很常见。例如,服务器系统可以有两个或多个 SCSI。器,以提供高
26、性能图3-17显示了一个带有三个器的系统,每一个器管理I/O总线上的一个。的I/O路径 63第3章 图解客户/服务器中从应用到是一个 RAID子系统,且带有20个如果总线只连接一个时总线带宽浪费严重,正如假定内部磁盘。注意图中的三个主机I/O器共用一个驱动程序。在上述的例子中,另一个新颖之处在于多 I/O器,因此,可以支持不同类型的。例如,假如一个服务器上连接了三个主机 I/O器,那么一个可以连接软盘驱动器和 CD-ROM,另一个可以连接磁盘,第三个就可以连接磁带。根据器的混合方式及其特性,可能必须将每个主机I/O器的驱动程序。虽然磁盘和磁带可以合并在同一个 I/O总线上,但一个更好的通常是使
27、它们,像第 4章关于镜像的讨论一样。假如磁带和磁盘都使用同样的主机I/O器模型,那么一个驱动程序可以服务于两个 I/O总线。图3-18显示了一个带有三个不同的主机I/O器的I/O路径,这三个器由主机系统中的三个驱动程序分别管理。123请求1文件请求2请求2请求3文件文件请求1I/O请求3I/O总线1总线2I/O总线3系统环境操文件系统卷管理器请求3请求1请求2驱动程序主机I/O总线接口主机I/O总线主机I/O器图3-17 三个请求到三个I/O主机器的I/O路径注意假如使用的主机I/O器共享同样的驱动程序,那么,可以更容易地配置和管理系统。2. 卷管理器创建多个I/O请求像前面几节所讨论的,卷管
28、理器从文件系统取得请求,然后,作为分块或镜像的数据,将它们到一个或多个。卷管理器就如同是多个 I/O请求的发源地一样,这些I/O请求需要多个和主机I/O器的服务。例如,卷管理器中的磁盘镜像器从文件系统取得一个 I/O请求,并为两个不同的产生两的 I/O控个I/O请求。这两条路径可能沿着完全相同的路线到达各自的,假如使用了两个制器,这两个的路径几乎立即。图 3-19比较了这两种方式,卷管理器首先从文件系统接受单个的I/O请求,而后产生多个I/O路径。两个请求在图中标记为R1和R2。64第一部分文件请求2文件请求1文件请求3系统环境文件系统卷管理器服务接口操请求1请求2请求3驱主机I/O总线驱 动
29、程序驱 动程序主机I/O器3动程序主机I/O器2主机I/O器1图3-18要求三个驱动程序的三个不同主机I/O器I/O总线驱动程序主机I/O总线卷管理器文件系统I/O请求主机I/O器镜像请求驱动程序I/O总线卷管理器主机I/O总线文件系统I/O请求主机I/O器驱动程序图3-19卷管理器的镜像实现的路径差异的I/O路径 65第3章 图解客户/服务器中从应用到从图中可以看出,在上面的路径中,请求通过完全相同的路径到达不同的。镜像的请求以串行的方式沿着同一路径传输,即路径上的每一个成分都必须为每个请求重复执行操作,这两个请求分别表示为R1和R2。在下面的路径中,使用了两个不同的 I/O器。镜像的请求在
30、两个不同的路径上并行地传输。注意,两种情况都仅使用一个主机 I/O总线,以实现在驱动主机I/O器之间传输请求。3.2 客户/服务器I/O在讨论了卷管理器为一个 I/O请求产生多个路径后,再探索通过实现客户 /服务器I/O就很顺理成章了。正像卷管理器可以沿着 使用一个交替的路径,将I/O请求传输到数据的术语称为重定向I/O。的路径产生多个交替的 I/O一样,客户/服务器I/O也,即。常客户如何服务器上3.2.1 I/O重定向有关I/O操作的必要信息传输到驱动程序。从应用的角度看,只要它的,应用通常需要依靠文件系统、卷管理器以I/O操作未变,它并不关心及是发生在上,还是发生在本地I/O路径上。在这
31、个方面,几种潜在的设计方案,这些方案都能实现设备虚拟化,使的服务器和文件系统如同本地的一样。提供这种功能的几个几年前就已经面世,特别是文件服务器操,如 Novell NetWare、Banyan Vines、WindowsNT Server和Sun NFS。这些都依赖于客户端的,由此提供法是客户端的虚拟化和通信服务,使它们的服务器文件系统就像本地的一样。另提供对也可以使的透文件系明。因此,虚拟化并不是实现透明惟一的技术,客户端统像本地的目录或文件夹一样。的客户称为 I/O重定向器。它在I/O路径上紧靠文件系统之前的位置,实现透明实现于文件系统的上层,将服务器的文件系统而为一。与客户系统的本地文
32、件系统视图合I/O重定向器不必保存任何数据的据,但它必须提供对服务器上的数据及据的。从用户或应用的观点看, I/O重定向给它们的客户系统添加了另外的。,的表现可能并全像本地一样。例如,服务器可能使用区分大小写字母令,而客户则不是这样。在 UNIX系统中,由I/O重定向器表示的虚拟特别称为安装点,而在PC机上,则称为驱动器。 Office 2000中引入的Web文件夹实现了另一种I/O重定向。当一个用户或应用试图由I/O重定向器表示的文件时,重定向器解释文件 I/O请求,并将它从文件系统的本地I/O路径重定向到另一路径,该路径使用的是。因为工作站无法知道服务器使用的类型,因此,由客户 I/O重定
33、向器起动的所有I/O操作和交换都在文件级或字节范围级,即I/O重定向器的I/O操作通常不在数据块级。重定向信息最终由通常的进行传输,如以太网或 FDDI,即重定向的I/O必须从重定向器传输到接口卡( NIC)协议驱动程序,它由文件协议完成。文件协议指定操作和交66第一部分换的类型,使它们能够通过底层的协议进行传输。按照所使用的不同环境,可以分为多个协议层加以实现,通常可以看成是一系列有序的驱动程序。图3-20显示了个或多个虚拟I/O操作的重定向I/O路径,这个I/O重定向器为应用和/或用户提供一。沿着I/O路径往下看,重定向I/O操作首先通过文件协议驱动器,然后通过系统的底层协议,最后通过接口
34、卡到达应用。系统环境I/O重定向器文件系统卷管理器文件协议驱动程序主机I/O总线接口卡接口卡驱动程序到数据图3-20文件重定向一般来说,文件协议位于现有的低层的通信协议之上,如 TCP和IP等。当文件协议时,用户数据报协议( UDP)提供了IP之上的传输功能。文件系统(NFS)作为I/O重定向可以借助协议栈的方式加以分析,它与通信的分析方式一样。建立在 TCP/IP协议之上的文件协议可以位于几个不同的位置,一些文件协议可以直接位于 TCP/IP之上,也可以使用UDP/IP协议栈,如NFS。用于传输文件I/O的常见协议: 通用Internet文件系统( CIFS),用于微软的Windows。文件
35、系统( NFS),差不多用于所有的系统,特别是 UNIX系统。 文件传输协议( FTP),差不多用于所有的系统,提供通过 Internet进行的文件。CIFS使用TCP/IP协议栈,但需要另外一层NetBIOS的支持。希望Windows 2000以后的版本逐渐摆脱对NetBIOS的依赖。NFS最初使用无态的UDP,但现在的大部分实现中,它也使用 TCP 协议。尽管TCP是一个有态的协议,但NFS却仍然是无态的。FTP已经成为Internet传输的主要协议,它运行在广域环境中的TCP协议之上。目前,最常用的 MAC层遵从标准的802.3规范,即碰撞。图3-21总结了这些常见的协议栈。图3-22显
36、示了本地和重定向的两种I/O路径。应用发出了两个I/O请求:一个是本地,另一个是。本地I/O请求沿着本章曾经的路径进行,从卷管理器,经过 I/O器驱动程序、主机I/O总线、主机I/O器、总线,最后到达。的I/O路径 67第3章 图解客户/服务器中从应用到文件协议Netbios无态传输协议有态传输协议层-IP介质层(MAC)-802.3物理层 布线+连接图3-21 通用文件协议栈重定向I/O请求采取另一种途径,从I/O重定向器开始,经过文件协议驱动程序,进入TCP/IP协议栈,再由I/O总线到达接口卡。从这里开始,请求开始通过传送到服务器。文件请求本地文件请求系统环境I/O重定向器文件系统文件协
37、议驱动程序卷管理器驱动程序接口I/ONIC驱动程序器驱动程序主机I/O总线接口卡主机I/O器局域网服务器I/O总线(到)图3-22本地和文件比较3.2.2 服务器端的I/O在的另一端,服务器的NIC接受从工作站来的重定向I/O请求。这个NIC通常具有专门的驱动程序,使之能够在很重的负担情况下仍然可以正常工作。当客户请求进入服务器时,68第一部分它们被服务器通信协议驱动程序“解包”,并被传送给服务器文件协议处理程序。为了处理重定向I/O请求,它将被到服务器的文件系统,在这里重定向 I/O请求将接受服或子系统的处理,且处理方式或多或少地与本地 I/O请求类似。图3-23显示了客户务器上的请求通过的
38、服务器成分和I/O路径。服务器操文件系统卷管理器文件协议处理程序NIC主机I/O器驱动程序驱动程序到NIC驱动程序到主机I/O器服务器主机I/O器图3-23 客户请求通过服务器成分和I/O路径当数据从NIC传送到服务器的主机I/O器时,要经历五步成分的处理,它们是:(1) 当请求到达NIC时,文件协议处理程序。通信协议驱动程序(典型地是 TCP/IP)将它分解,并传送到(2)协议处理程序产生所有必要的连接,以跟踪与客户交换数据所必需的信息。(3) 当客户I/O请求被传送到服务器文件系统时,可以执行几种类型的进程和客户管理操作,进程调度、安全、日志和进程路由。(4) 这个请求然后被传送到服务器文
39、件系统,文件系统将在本地生数据块级的I/O操作。(5) 最后这个请求被传送给卷管理器,由卷管理器将文件系统的请求寻找文件和目录,并产到数据块级的,从这里将I/O请求传送给主机I/O器,以及在服务器中实现的硬件I/O路径。图3-24显示了典型的服务器中I/O过程的细节,并标明了上述所列的每一步位置。图3-25显示出客户重定向I/O的整个服务器端的细节,也显示了主机 I/O总线性能的重要性。重定向客户I/O请求通过NIC进入服务器,然后再通过主机I/O总线到达它相应的协议驱动程序,在请求通过服务器操后,它可能由卷管理器产生一个或多个 I/O操作,这些I/O操作也的路径到达主机 I/O各自通过备。器
40、。最后,请求通过总线或被定向到服务器设请求响应将沿着与进入时相反的路径返回,这说明了主机 I/O总线必须能够支持下述成分间的I/O操作: NIC 到NIC的驱动程序的进入路径。 主机I/O器驱动程序到主机I/O驱动程序进入路径。的I/O路径 69第3章 图解客户/服务器中从应用到服务器操进程和客户管理文件I/O请求被产生服务器卷管理器客户I/O请求处理请求被服务器的主机I/O服务器的NIC设备驱动程序到主机I/O总线和NIC到主机I/O总线和主机I/O图3-24服务器I/O处理细节 主机I/O NIC器到主机I/O器驱动程序的输出路径。驱动程序到NIC的输出路径。服务器服务器操卷管理器NIC驱
41、动程序主机I/O器驱动程序主机I/ONIC主机I/O总线到LAN图3-25I/O的完整的服务器端器文件协议处理程序文件系统I/O总线器协议栈处理器驱动程序到物理文件协议处理器服务器的操70第一部分集线器应用主机I/O控制器客户操主机I/O器服务器卷管理器服务器文件系统驱动程序I/O重定向器文件系统卷管理器主机I/O 总线文件协议处理程序主机I/O 总线服务器操NIC驱动程序文件协议处理程序服务器NICNIC驱动程序客户端服务器端图3-26集成的客户/服务器I/O同服务器后端现在,假如我们使用4条路径成分,并在它们之间均匀地分配主机 I/O总线的带宽,就可以确定主机I/O总线上是否瓶颈。假如主机
42、I/O总线是一个PCI总线,正像现有的大部分基于 PC的服务器一样,它是有32位数据线的33MHz的总线,最大吞吐量是132MB,将它除以成分数4,并忽略少量的额外开销,上述的每一条路径近似拥有 30MB的主机I/O总线带宽。因为服务器经常使用多个NIC和多个主机I/O器,所以主机I/O总线很容易过载。提示 为了使服务器能获得最快的速度,建议使用智能总线NIC和主机I/O适配器,这种主机I/O适配器支持直接器存取(DMA)传输,使CPU不参与总线数据传输。同时,不要将慢速的适配器与高速适配器混合使用,慢速适配器所有的ISA总线适配器。加入和完成整体设计I/O总现在,为了更饶有地完成设计,用代替
43、代替服务器上的线。为了本章的讨论需要,使用服务器端的I/O总线,在以后的章节中,将讨论这种替换的所有可能的变化。图 3-26显示了使用I/O重定向文件的客户系统,所。的文件存放在服务器上,该服务器实现了数据在上的3.3 在I/O路径中实现当市场上引入新的虚拟化技术时,必须要与现有的兼容。其基本的想法很简单。假如 I/O路径的接口和管理改变很多,不仅技术本身的实现难度很大,而且也很难在市场上立足。其实差不多所有的计算机都遵从这个规律,而不仅仅是。事实上,无论是文件服务器的NAS类型的,还是更新的SAN类型,无一不是这样。和过程的兼容性技术。虚拟化通过建立一种表现虚拟化是一种最常见的提供、 I/O
44、和响应命令方式同另一种技术一样的环境,以达到使用另一种技术来代替这种技术的目的。简的I/O路径 71第3章 图解客户/服务器中从应用到单地说,虚拟化就是一个“冒充”接口的技术,使之以某个别的形式出现。另一个解释是虚拟化使某些新的、惊人的东西变成过时和令人心烦的东西,只是性能更好罢了。虚拟化能够以许多不同的形式实现,但就而论,基本上有三种形式: 组合多个成为一个可寻址的实体的虚拟化。 将一个分解成为多个可寻址的实体的虚拟化。 模拟另一个或功能的虚拟化。虚拟化多个实体单个可寻址实体虚拟化多个可寻址实体单个可寻址实体模拟某个其他实体一个实体图3-27 虚拟化类型第一种情况可以组合多个单独的成分产生一个大的、可寻址实体,如磁盘子系统,它由多 个更小的磁盘组合而成大的虚拟磁盘。第二种情况与第一种情况相反,它使一个大的实体看上 去就像许多更小的可寻址实体,如一个磁盘驱动器被分成多个更小的驱动器镜像。事实上,有 时也可以同时使用这两种虚拟化技术,如几个磁盘驱动器首先组合在磁盘子系统中,形成一个大的虚拟磁盘,然后又被分成更小的虚拟
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教学质量监控制度
- 幼儿园小朋友评估制度
- 二维码生成与识别系统方案设计课程设计
- c语言课程设计实例
- 2026广西防城港市文旅集团有限公司(第1期)招聘5人考试备考题库及答案解析
- 2026云南玉溪市峨山县国有资本投资运营有限责任公司招聘补充笔试备考题库及答案解析
- 行业分析报告撰写指南
- 教育领域教育培训服务承诺书4篇
- 2026年度日照经济技术开发区事业单位公开招聘初级综合类岗位人员(2人)笔试参考题库及答案解析
- 2026山东济南市历下区所属事业单位招聘初级综合类岗位人员笔试参考题库及答案解析
- 产品供货方案、售后服务方案
- 十八而志梦想以行+活动设计 高三下学期成人礼主题班会
- 2023年上海华东理工大学机械与动力工程学院教师岗位招聘笔试试题及答案
- TOC供应链物流管理精益化培训教材PPT课件讲义
- 医院18类常用急救药品规格清单
- 放弃公开遴选公务员面试资格声明
- 2023-2024学年江苏省海门市小学语文五年级期末点睛提升提分卷
- GB/T 1685-2008硫化橡胶或热塑性橡胶在常温和高温下压缩应力松弛的测定
- 北京城市旅游故宫红色中国风PPT模板
- DB42T1319-2021绿色建筑设计与工程验收标准
- 经济学原理 第一章课件
评论
0/150
提交评论