当前位置:文档之家› 分布式系统原理与泛型考博整理

分布式系统原理与泛型考博整理

分布式系统原理与泛型考博整理
分布式系统原理与泛型考博整理

第1章概述

1.分布式系统的另一个定义,它是各自独立的计算机的集合,这些计算机看起来像是一个单的系统,就是说,它对用户是完全隐藏的,即使他有多个计算机也是如此。请给出一个实例。

答:并行计算。一个程序在一个分布式的系统中运行,但看起来是在单个系统中运行的。

2.中间件在分布式系统中扮演什么角色?

答:中间件主要是为了增强分布式系统的透明性(这正是网络操作系统所缺乏的),换言之,中间件的目标是分布式系统的单系统视图,即使种类各异的计算机和网络都呈现为单个系统。

3.很多网络系统组织成后端办公系统和前端办公系统。这种组织方式是如何满足分布式系统要求的?

答:一个比较容易犯错的地方就是假设运行在一个组织下的分布式系统,应该运行在系统的整个组织框架下。实际上,分布式系统被安装在一个分离的组织中。从这层意义上讲,我们的分布式系统可以支持独立的后端处理和前端处理。当然,这两部分可能是耦合的,并不需要要求这个耦合的部分完全透明。

4.解释(分布)透明性的含义,并且给出各种类型透明性的例子。

答:分布透明性是一种现象,即一个系统的分布情况对于用户和应用来说是隐藏的。

包括:

访问透明:分布式系统中的多个计算机系统运行可能是不同的操作系统,这些操作系统的文件命名方式不同,命名方式的差异以及由此引发的文件操作方式的差异应该对用户和应用程序隐藏起来。

位置透明:从https://www.doczj.com/doc/c65771274.html,/index.htm这个url看不出parentice hall的主web服务器所在的位置,同时也看不出index.html的位置情况。移植透明:分布式系统中的资源移动不会影响该资源的访问方式。

重定位透明:资源可以在接受访问的同时进行重新定位,而不引起用户和应用系统的注意。移动通信用户从一个点到另一个点,可以一直使用移动设备,而无中断连接。

复制透明:对同一个资源存在多个副本这样一个事实的隐藏。所有的副本同名。

并发透明:访问位于同一个共享数据库中的一批表。

故障透明:用户不会注意到某个资源无法正常工作,以及系统随后的恢复过程。

持久性透明:指对转位于易失性的存储器还是在磁盘上的隐藏。许多面向对象的数据库提供直接调用存储对象的方法的功能。

5.在分布式系统中,为什么有时难以隐藏故障的发生以及故障恢复过程?

答:通常,要探测一个服务器是停止服务还是该服务器的反应变慢这些情况是不可能的。因此,一个系统可能在服务响应变慢的时候报告该服务已经停止了。例如,连接一台繁忙的web服务器,浏览器超时,报告该web页不可用,这种情况下,用户无法判断该服务器是否真的崩溃了。

6.为什么有时候要求最大程度地实现透明性并不好?

答:最大程度地实现透明性可能导致相当大的性能损失,从而导致用户无法接受。

例如,许多web程序会不断尝试连接某台服务器,多次失败后才放弃。这种在用户转向另一台服务器之前竭力隐藏服务器短暂故障的企图会导致整个系统变慢。

7.什么是开放的分布式系统?开放性带来哪些好处?

答:开放的分布式系统根据明确定义的规则来提供服务。开放系统能够很容易地与其它系统协作,同时也允许应用移植到同一个系统的不同实现中。

8.请对可扩展系统的含义做出准确描述

答:一个系统的可扩展包含下面几个方面:组件的数量、几何尺寸、管理域的数量与尺寸,前提是这个系统可以在上面几个方面进行增加而不会导致不可接受的性能损失。系统要能在规模上可扩展,即方便的把更多的用户和资源加入到系统中。地域上可扩展,系统中的用户和资源相隔极远,但仍可访问和使用。管理上可扩展,分布式系统跨越多个独立的管理机构,仍可方便对其进行管理。

9.可以通过应用多种技术来取得可扩展性。请说出这些技术。

答:可扩展性可以通过隐藏通信等待时间,分布式技术、复制和缓存来获得。

10.请解释一下什么是虚拟组织,并给出如何实现这种组织的提示。

答:属于同一虚拟组织的人或应用,具有访问提供给该组织的资源的权限。这些资源可能分布在不同的计算机、服务器、数据工具和数据库中。虚拟组织定义了谁能访问什么。资源应该保持一个账户用户和访问权限,这通常使用了标准的访问控制机制(类似UNIX 中的rwx)。

11.当一个事务处理被异常中断,将会恢复到它以前的状态,就像这个事务处理从没有发生过一样。我们这么说其实是不对的。请给出一个无法恢复以前状态的示例。

答:任何情况下,物理端的I/O中断,不能重置。例如,如果一个进程是来打印文件,文件中的墨汁不能从纸中移除。

12.运行嵌套式事务处理需要某种形式的协作,请解释一下协作者真正应该做什么事情?

答:协作者只需要保证嵌套式的事务中止后,所有的子事务都要被中止。同样,如果事务都能够被提交,那么就应该协调他们全部都提交。当协调者告诉嵌套的事务该提交时,事务理解进行提交操作。

13.我们讨论过,对普适系统来说,分布式透明性可能并不存在。这句话并不是对所有的透明性都正确,请给出一个示例。

答:考虑迁移透明性。在普适系统中,组件是可移动的,当从一个接入点移动到另一个接入点时,它可被重新连接。这样的处理应该对用户完全透明。同样,许多其他类型的透明性也会被支持,然后不该隐藏的是用户可能访问的资源与用户本身所处的环境是耦合的。

14.我们已经给出了一些分布式普适系统的示例:家庭系统、电子健保系统和传感器网络,请再给出这样的一个示例。

答:考虑在城市或社区中提供大规模的无线网状网络服务的普适系统,它提供无线上网服务,当然这个也为其他服务,比如新闻系统提供了通信基础。栖息地的监控系统、监狱中的电子监控系统、大型综合体育系统、了解员工状态的办公激励系统等。

普适计算是指在普适环境下使人们能够使用任意设备、通过任意网络、在任意时间都可以获得一定质量的网络服务的技术。普适计算是在网络技术和移动计算的基础上发展起来的,其重点在于提供面向客户的、统一的、自适应的网络服务。普适环境主要包括网络、设备和服务:网络环境包括Internet、移动网络、电话网、电视网和各种无线网络等。普适计算设备更是多种多样,包括计算机、手机、汽车、家电等能够通过任意网络上网的设备;服务内容包括计算、管理、控制、资源浏览等。普适计算具有以下环境特点:在任何时间、任何地点、任何方式的方便服务,不同的网络(不同协议、不同带宽)、不同的设备(屏幕、平台、资源)、不同的个人偏好等。

第2章体系结构

1.如果客户和服务器相隔很远,我们可以看到,网络延时将主导整个性能。我们如何处理这个问题?

答:这实际上取决于客户端是如何组织起来的。首先,将客户端的代码切割成更小的部分,这样它们可以单独运行。这种情况下,当一部分正在等待服务器的响应时,我们可以安排另一部分去做其他的事。或者,我们可以重新安排客户端的处理过程,让他们在向服务器发送客户请求之后去做其他的事情。

最后有效的解决方案是用单程异步通信取代了客户端-服务器的同步通信。

2.什么是三层客户-服务器体系结构?

答:三层客户——服务器体系结构包括三个逻辑层:用户接口层、处理层和数据层,每一层在理论上来说都在一台单独的机器上实现。最高层包括了客户的用户界面,中间层包括实际的应用程序,最底层包含了被使用的数据。

3.纵向分布与横向分布有什么不同?

答:纵向分布指的是多台机器组成的多层架构中各个层的分布,通过按逻辑把不同组件放在不同的机器上来获得。从理论上说,每一层都在一台不同的机器上实现。横向分布则处理多台机器上的一个层的分布,客户或者服务器可能在物理上被分隔成逻辑上相对的几个部分,每个部分都操作在整个数据集中自己共享的部分。例如一个数据库的分布。

4.考虑一个进程链,该进程链由进程P1,P2,…,Pn构成,实现了一个多层客户-服务器体系结构。进程Pi是进程Pi+1的客户,Pi只有得到Pi+1的应答之后才能向Pi-1发出应答。如果考虑到进程P1的请求-应答性能,这种组织结构主要存在什么问题?答:如果n很大的话性能会很差。从理论上来说,两个邻接层之间的通信应该在两台不同的机器之间发生。因此,P1和P2之间的性能由n-2次其它层之间的请求——应答过程决定。另一个问题是如果链中的一台机器性能很差甚至临时不可达,这会立刻使最高层的性能降低。

5.在结构化的覆盖网络中,消息是根据覆盖的拓扑结构来路由的,这种方法的主要缺点是什么?

答:问题是我们处理的是逻辑路径。很有可能出现的情况是,在覆盖网络中的两个邻居节点A和B,在物理距离上是相距很远的。因此,A和B之间的逻辑最短路径实际上在底层物理网络上是很长的一条路径。

6.图2.8中的CAN网络,如何把坐标(0.2,0.3)的节点的消息路由到坐标为(0.9,0.6)的节点?

答:有几种可能性。如果我们想要根据欧几里得距离得到一条最短路径需要进过的路径是:(0.2,0.3)----(0.6,0.7)----(0.9,0.6),距离是0.882.另一条路径:(0.2,0.3)---(0.7,0.2)----(0.9,0.6),距离是0.957

7.假设CAN中的一个节点知道其紧邻节点的坐标,一个合理的路由策略是把消息路由给离目的地最近的节点,这样的策略的好处是什么?

答:从先前的问题可以看出,它不需要去寻找整体最优的路径。如果节点(0.2,0.3)按照题目要求的策略进行,传送到(0.9,06),它先会将节点发送给(0.7,0.2)。

8.在非结构化的覆盖网络中,每个节点随机选择c个邻接节点。如果P和Q都是R的邻接节点,那么P和Q互为邻接节点的概率是多少?

答:如果网路中有N个节点,如果每个节点随机选择c个邻居,那么P选择Q或Q选择p的概率就是2c/(N-1)。(P从N-1个节点中选择到Q的概率为c/(N-1) ,同理Q从N-1个节点中选择到p的概率也为c/(N-1),因此总的概率为 2c/(N-1) )

9.在非结构化的覆盖网络中,每个节点随机的选择c个邻节点。要查找一个文件,节点将泛洪一个请求给他的邻接点,这些请求又将再次泛洪,该请求将到达多少个节点?

答:可到达节点的上界是c*(c-1)(因为,每个节点随机选择c个邻居,只有第一个节

点a可以选择c个,第二次洪泛时,每个节点只需要随机选择c-1个,因为a也是他们的邻居,但a已经在洪泛到达的范围内了,因此上限是c(c-1)),但是这我们忽略了节点p同样可以成为其他邻居节点的邻居。P的一个邻居泛洪信息给不是P邻居节点的概率是1减去发送给至少P的一个邻居节点的概率。

这个情况下,泛洪策略将会到达c*q *(c-1)个节点。例如,c=20,N=10000,那么一次

查询将会到达的节点数是365.817个节点。

基于概率论中的二项分布原理,在n重伯努利试验中,事件A恰好发生k次的概率为:

,因为p已经选择了Q,所以p最多可以选择Q的c-1个邻居节点作为洪泛的目标节点。

10.在点对点的网络中,并不是每个节点都能成为超级对等体。满足超级对等体的合理要求是什么?

答:首先,节点是高度可用的,因为其他节点需要依赖该节点。并且,它应该有足够的能力处理各种请求。最重要的是依靠它能够高效快速的处理任务。

11.在Bitgtorren系统中,每个节点具有一个带宽为Bout的输出链接,以及一个带宽为Bin的输入链接。这些节点(称为种子节点)中的一些可以自愿的为其他节点提供下载文件。如果假设在某个时候,一个BitTorrent的系统最多只有一个种子节点,那么他的最大下载带宽是多少?

答:这里需要考虑种子节点的输出带宽需要在客户端间共享。假设有s个种子,N个客户端,每个客户端随机的选择种子。种子节点结合的输出带宽就是S*Bout,每个客户端有S*Bout/N的直接下载带宽。另外,如果这些客户端互相协作,每个能够在下载数

据块时达到Bout,假定Bin>Bout。因为tit-for-tat策略,一个BitTorrent客户端

的下载带宽主要取决于他的输出带宽。所以说,整体的下载带宽能够达到

S*Bout/N+Bout. (S*Bout/N 是从种子节点上直接下载的带宽,Bout 是从协作节点上下载的带宽,因为Bin>Bout 成立,所以S*Bout/N+Bout 是可以达到的)

12.请从技术的角度来解释,为什么BitTorrent中的tit-for-tat策略比因特网中的

文件共享要好得多?

答:大多数的BitTorrent客户端是被例如ADSL或调制解调器所提供的不对称链接所处理的。一般来说,BitTorrent会提供给客户端比较高的进入带宽,但是并不希望客户端可以提供服务。BitTorrent不会使用这种假设,把客户端变成协作服务器。对称连接会比tit-for-tat策略提供更好的匹配。

Bit Torrent的工作原理是什么?

BT首先在上传者端把一个文件分成了Z个部分,甲在伺服器随机下载了第N各部分,乙在伺服器随机下载了第M个部分,这样甲的BT就会根据情况到乙的电脑上去拿乙已经下载好的M部分,乙的BT就会根据情况去到甲的电脑上去拿甲已经下载好的N部分,这样就不但减轻了伺服器端的负荷,也加快了用户方(甲乙)的下载速度,效率也提高了,更同样减少了地域之间的限制。比如说丙要连到伺服器去下载的话可能才几K,但是要是到甲和乙的电脑上去拿就快的多了。所以说用的人越多,下载的人越多,大家也就越快,BT的优越性就在这里。而且,在你下载的同时,你也在上传(别人从你的电脑上拿那个文件的某个部分),所以说在享受别人提供的下载的同时,你也在贡献。

13.我们给出了在自适应中间件中使用中断器的示例,请问还有其他什么示例?

答:我们利用拦截器来支持移动性。这种情况下,一个request-level拦截器在转发请求前,首先将查看它所引用的对象的当前位置。同样,当安全出现问题时,一个拦截器可以用来透明的加密消息。另一个例子,如果记录日志是必须的,我们可以简单的插入一个method-specic拦截器在将消息传递给引用对象前,记录该事件。(中断器类似于struct的拦截器,只是应用在分布式系统场景中而已)

14.中断器与其部署所在的中间件的依赖程度如何?

答:一般来说,它们之间是高度依赖的。客户端很有可能被中间件所提供的下层接口所约束,正如消息级中断器,它高度依赖中间件和本地操作系统的相互作用。然后,这些接口也可以标准化,便于开发可移植的拦截器,虽然它作为一种特殊类型的中间件。这些中间件需要满足CORBA的体系结构。

15.现代的汽车都装备有电子设备,请给出在汽车中的一些反馈控制系统的示例。

答:巡航控制系统。一方面,巡航控制的子系统掌控着当前的速度,当它达到设定要求时,汽车就会加速或减速。巡航控制系统的设置使驾驶员可以将车速设定在一个固定的速度上,车辆准确地按照所设定的速度行驶。驾驶员可以不必踩加速踏板,从而大大减轻长途驾车的疲劳,同时匀速行驶也可以减少燃油的消耗。防抱死制动系统(ABS),当刹车时,它是利用阀体内的一个橡胶气囊,在踩下刹车时,给予刹车油压力,充斥到ABS的阀体中,此时气囊利用中间的空气隔层将压力返回,使车轮避过锁死点。防抱死刹车系统可以提高行车时,车辆紧急制动的安全系数。换句话说,没有ABS的车,汽车在遇紧急情况采取紧急刹车时,容易出现轮胎暴死,也就是方向盘不能转动,这样危险系数就会随之增加,很容易造成严重后果。车用传感器是汽车计算机系统的输入装置,它把汽车运行中各种工况信息,如车速、各种介质的温度、发动机运转工况等,转化成电讯号输给计算机,以便发动机处于最佳工作状态。

16.请给出自我管理系统的一个示例,其中的分析组件为完全分布式或隐藏的。

答:我们已经遇到很多这种类型的系统,在非结构化的点对点系统中,节点间在进行信息交换,如何生成一个拓扑结构。其分析组件包含放弃那些不会帮助目标拓扑结构收敛的链接。(无线传感器网络中,自动更新和寻找路由,传递数据)

17.请描述一个解决办法,为Globule中的预测复制自动确定最佳跟踪路径长度。

答:源服务器需要利用Ti到Ti+1的迹线来定期评价策略的预测。判断该策略是否是实际访问模式所选择的在Ti-1到Ti阶段所使用的策略。这样可以帮助服务器计算预测误差。通过改变迹线长度,源服务器能够自动找到预测长度最小的迹线。这样,就可以自动的确定最佳跟踪路径长度。

第3章进程

1. 比较使用单线程文件服务器读取文件和使用多线程服务器读取文件有什么不同。花费15ms来接收请求、调度该请求并且完成其它必须的处理工作,假定需要的数据存放在主存储器的缓存中。如果需要磁盘操作,就需要额外多花75ms在磁盘操作的过程中线程处于睡眠状态。如果服务器采用单线程的话,它每秒能处理多少个请求?如果采用多线程呢?

答:在单线程情况下,命中cache花了15ms,未命中cache花了90ms。加权平均值为2/3X15+1/3X90。这意味着请求花了40ms,服务器没秒可以完成25次。对于多线程,所有磁盘等待都是交迭的,所以每个请求花了15ms,服务器每秒可以处理66个请求。

2.对服务器进程中的线程数目进行限制有意义吗?

答:有。原因有两个:

(1)线程需要内存来设置他们的私有堆栈。因此,线程太多可能导致消耗过多的存储器。(2)更严重的情况是,对于一个操作系统,独立的线程是以无序的方式在运行。在虚拟存储器系统中,构建一个相对稳定的工作环境可能比较困难,从而导致许多的页错误和过多的I/O操作,结果可能导致系统性能的下降。

3.在文中我们描述了一个多线程的文件服务器,说明了为什么它比单线程服务器和有限状态服务器更好。有没有这样的环境,在其中使用单线程服务器会更好?给出这种环境的例子。

答:有。如果服务器完全是CPU绑定的,就没有必要使用多线程了。多线程可能只是增加了不必要的复杂性。例如,某个地区拥有1百万人口,现要建立一个数据库来保存每个人的一些信息,如(名字,电话号码),假定每个人的信息大小为64字节,则数据库的总大小为64M字节,为了快速查找,应该把这些数据保存在服务器的存储器中。

4.将轻量级进程与单个线程静态关联起来并不好,为什么?

答:这样的关联将在很大程度上迫使只有一个内核级的线程,这就意味着多线程的性能优势将会被损失掉。

5.如果每个进程只使用单个轻量级进程也不好,为什么?

答:在这种模式下,我们只能拥有用户级的线程,这意味着任何阻塞系统调用都将阻塞整个进程。

6.描述一种使用与可运行线程数目相等的轻量级进程的方法。

答:开始只有单个轻量级进程并让它选择一个可运行的线程。当发现一个可运行的线程后,轻量级进程创建另一个轻量级进程来寻找下一个线程来执行。如果没有找到可运行的线程,轻量级进程就销毁它本身。

7. X指定用户终端作为服务器,而把应用程序称为客户,这样做可以吗?

答:可以,尽管看起来有点混乱,思想是服务控制硬件,应用程序发送请求操作硬件。

8.协议X的可扩展性不怎么好,如何处理这个问题?

答:可以使用分布式技术,缓存、复制等解决此问题(详细需要站看)

9.代理可以通过调用所有副本来支持引用透明性,能否对(服务器端的)对象的副本进行调用?

答:可以。假设一个副本对象A调用另一个对象副本B(非副本),如果A包含K个副本,一个B的调用将会被A的每个副本执行,然而,B应该只被调用一次。这种复制应该采取一些特殊的措施。

10.通过生成进程来构建并发服务器与使用多线程服务器相比有有点也有缺点。给出部分优点和缺点

答:一个重要的优点是每个进程都被保护。在超级服务器处理完全独立的服务的时候是非常有必要的。另一方面,创建进程的代价也较高,同时,如果进程需要通信,则使用线程在很多情况下将更为简单,因为它避免了用内核来实现通信。

11.粗略地设想一种多线程服务器的设计,该服务器必须使用套接字作为面对底层操作系统的传输级接口,以支持多种协议。

答:一个相对简单的设计是,使一个单一的线程T等待接收传输层消息(TPDU)。如果我们假定每个TPDU的报头包含一个数字来识别更高层的协议,这个线程可以把它传递给处理特定协议的模块。每个这样的模块都有一个专门的线程来处理消息,这些模块把消息看作是一个输入请求。当处理完这个请求后,一个应答消息被传递给T,这时T将把这个应答封装成一个传输层消息并把它传递给适当的目的地。

12.如何防止应用程序绕过窗口管理器破坏屏幕显示。

答:使用微内核方法,一个包含窗口管理器的窗口系统通过这个方法运行,因此所有的窗口操作都需要通过这个微内核。从效果上看,这正是第一章中所讲的把客户端——服务器端模式转换为单计算机的本质。

13.维护到客户的TCP/IP连接的服务器是状态相关的还是状态无关的。

答:假设服务器没有在客户端上保存其它消息,就可能认为服务器是状态无关的。问题在于不是服务器,而是服务器的传输层在客户端上保存了状态。本地操作系统所跟踪的与服务器无关。

14.想象一下,某个web服务器维护一个列表,该列表中的内容是IP地址与该地址最近访问过的web页的映射关系。当一个客户连接到该服务器的时候,该服务器在列表中查找该客户,如果找到的话就返回注册过的页面。这个服务器是状态相关还是状态无关的?

答:是状态无关的。状态无关设计的主要问题不是服务器是否保存了客户端的任何信息,而是所保存信息的准确度。在本例中,如果表丢失了,客户端与服务器还能正常的进行交互,就象什么事都没有发生一样。在一个状态相关设计中,这种交互只有在服务器从错误中恢复过来以后才能进行。

15.在UNIX系统中,可以通过让进程在远程机器上派生出一个子进程来支持强可移植性。请说明这种机制的工作机理。

答:UNIX中派生的意思是把父进程的完整镜像拷贝给子进程,这意味着在调用完fork 后,子进程继续运行。一个相似的方法可以用来做远端克隆,这里假定了目标平台与父进程的平台是一样的。第一步是让目标操作系统为新建的子进程保存资源并创建相应的进程和存储器映射。这一步完成之后,父进程的镜像可以被拷贝了,子进程也可以被激活了。

(fork:一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调

用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。)

16.图3.13指出,强可移植性不能与在目标进程中已迁移代码的执行结合在一起。请举出一个反例。

答:如果强可移植通过线程迁移发生的话,它就应该能使一个迁移的线程在目标进程的环境中执行。

17.考虑某个进程P,它请求访问与自己位于同一台机器上的本地文件F。在P迁移到另一台机器上以后,它还需要访问F。如果文件对机器的绑定是紧固的,如何实现对F的系统级引用?

答:一个简单的解决方案是,创建一个单独的进程Q,用Q来处理对F的远端请求。提供给进程P与以前一样的接口。例如以代理的形式。从效果上讲,进程Q是作为文件服务器来工作的。

第4章通信

1.在许多分层协议中,每一层都有自己的报头。如果每个消息前部都只有单个报头,其中包含了所有控制信息,无疑会比使用单独的多个报头具有更高的效率。为什么不这么做?

答:协议的每一层都必须和其它层相独立。从第k+1层传送至第k层的数据同时包含了报头和数据,但是第k层协议不能对它们进行辨别。如果使用单个大的报头来包含所有信息的话将会破坏透明性,使得一个协议层的变动会影响到其它层,这显然不是我们所希望的。

2.为什么传输层通信服务常常不适于构建分布式应用程序?

答:它们通常不提供分布透明性,这意味着应用程序开发人员需要注意通信的实现,从而导致解决方案的可扩展性很差。分布式应用程序,例如基于套接字构建的分布式应用程序,将很难移植或者和其它应用程序交互。

3.一种可靠的多播服务允许发送者向一组接收者可靠地传递消息。这种服务是属于中间件层还是更低层的一部分?

答:从理论上来说,一种可靠的多播服务可以很容易的成为传输层,甚至是网络层的一部分。例如,不可靠的IP多播服务是在网络层实现的。但是,由于这些服务目前尚无法应用,它们通常使用传输层的服务来实现,传输层的服务将它们放在中间件中。如果把可扩展性加以考虑的话,只有充分考虑应用程序的需求时可靠性才能得到保证。用更高、更特殊的网络层来实现这些服务存在一个很大的争议。

4.考虑一个带有两个整型参数的过程incr。该过程将两个参数的值分别增加1.现在假定调用它时使用的两个参数是同一个变量,比如incr(i,i)。如果i的初始值是0,在执行引用调用之后i将变为什么值?如果使用复制——还原调用呢?

答:如果执行引用调用,指向i的指针被传入incr。i将会被增加两次,因此最终的结果是2。而使用复制——还原调用时,i会被两次传值,每次的初始值均为0。两次都会增加1,因此结果均为1。最后都复制到i,第二次的复制会覆盖第一次的,因此最终i 的值为1,而不是2。

5.C语言中有一种称为联合(union)的构造,其中的记录(在C语言中称作结构)的字段可以用来保存几种可能值中的一个。在运行时,没有可靠的办法来分辨其中保存的是那一个值。C的这种特性是否与远程过程调用有某些相似之处?请说明理由。

答:如果运行时系统不能分辨一个字段的值类型,它就不能对该字段进行正确的封送处理。除非有一个标签字段用来清楚的表明一个字段的值类型,联合不能在远程过程调用中使用。这个标签字段不能被用户所控制。

(结构和联合有下列区别: 1) 结构和联合都是由多个不同的数据类型成员组成,但在任何同一时刻,联合转只存放了一个被选中的成员,而结构的所有成员都存在。2)对于联合的不同成员赋值,将会对其它成员重写,原来成员的值就不存在了,而对于结构的不同成员赋值是互不影响的。)

6.处理RPC系统中参数转换的一种方法是,每台机器以自己系统使用的表示方式来发送参数,由另一方在必要的情况下进行转换。可以通过首字节中的代码来表示发送消息机器所用的系统。然而,由于要在首个字中找到开头的字节这本身也是一个问题,这种方法能行得通吗?

答:首先,当一台机器发送字节0时,消息肯定已经送到。因此目标机器可以访问字节0,而代码就在消息里面。这种方法不考虑字节是高位优先还是低位优先的字节。另一个方法是将代码放在第一个单词的所有字节中。因此不管检查的是哪一个字节,代码都能被找到。

7.假定客户通过异步RPC对服务器进行调用,随后等待服务器使用另一异步RPC返回结果。这种方法与客户端执行常规的RPC有没有什么不同?如果使用的是同步RPC而不是异步RPC,情况又如何呢?

答:二者并不相同。异步RPC向调用者返回一个通知,这意味着客户第一次调用之后,有一个额外的消息会被发送。类似地,服务端接收到它的响应消息已经发送到客户端的通知。如果保证通信可靠的话,两次异步RPC调用是一样的。

8.在DCE中,服务器在守护程序中注册自身。如果换一种方法,也可以总是为它分配一个固定的端点,然后再指向服务器地址空间中对象的引用中就可以使用该端点。这种方法的缺陷在哪里?

答:这种方法的主要缺陷是向服务器分配对象变得很难。另外,许多端点而不止一个需要被修复。如果机器中很多都是服务器,分配固定端点不是一个好办法。

9.给出一种用来让客户端绑定到暂时远程对象的对象应用的实现示例。

答:使用Java实现的类如下:

public class Object_reference{

InetAddress server3address;//network address of object’s server

int server3endpoint;//endpoint to which server is listening

int object3identifier;//identifier for this object

URL client3code;//(remote)file containing client-side stub

byte[]init3data;//possible additional initialization data

}

Object_reference类至少需要包含对象所属的服务器的传输层地址。在具体实现中,使用了一个URL来标识包含了所有必需的客户端代码文件,用一个字节数组来保存进一步初始化后的代码。另一种实现可以直接保存客户端代码而不是一个URL。这种方法将代理对象作为引用传递,Java RMI采用了这种做法。

10.Java和其他语言支持异常处理,当错误发生时会引发异常。如何在RPC和RMI中实现异常处理?

答:由于异常通常在服务端发生,服务器存根只能捕获这个异常并把它作为一个特殊的错误响应传送给客户端。另一方面,客户端接收这个消息并抛出这个异常以保持对服务器访问的透明性。因此,接口定义语言中也需要有对异常的描述。

10.描述一下客户端和服务器端之间使用套接字的无连接通信是如何进行的。

答:客户端和服务端都需要创建一个套接字,但是只有服务器把套接字绑定到本地的端点上。然后,服务器可以执行一个阻塞的read调用以等待从客户端发送的数据。类似地,在创建套接字之后,客户端仅仅执行一个阻塞调用以向服务端写数据。关闭连接是没有必要的。

(套接字:源IP地址和目的IP地址以及源端口号和目的端口号的组合称为套接字。其用于标识客户端请求的服务器和服务。)

基于 TCP (面向连接)协议的 socket 套接字编程

服务器端程序:

1. 创建套接字(socket);

2. 将套接字绑定到一个本地地址和端口上(bind);

3. 将套接字设为监听模式,准备接收客户端请求(listen);

4. 等待客户端请求,当请求到达后,接受连接请求,返回一个新的对应于此次连接的套接字(accept);

5. 用返回的套接字和客户端进行通信(send/recv);

6. 返回,等待另一客户请求;

7. 关闭套接字;

客户端程序:

1. 创建套接字(socket);

2. 向服务器端发出连接请求(connect);

3. 和服务器端进行通信(send/recv);

4. 关闭套接字;

--------------------------------------------------

基于 UDP (面向无连接)的 socket 编程

服务器端(接收端)程序:

1. 创建套接字(socket);

2. 将套接字绑定到一个本地地址和端口上(bind);

3. 等待接收数据(recvfrom);

4. 关闭套接字;

客户端(发送端)程序:

1. 创建套接字(socket);

2. 向服务器端发送数据(sendto);

3. 关闭套接字;

11.说明MPI中mp_based原语和mp_isend原语之间的区别。

答:mpi_based原语使用有缓冲的通信,调用者将包含了信息的整个缓冲传送到本地的MPI运行时系统。当调用完成时,这些信息要么被已被发送,要么被拷贝到一个本地的缓冲区。如果使用mpi_isend,调用者仅仅将指向信息的指针传送给本地的MPI运行时系统,然后继续往下执行。调用者需要保证在消息被拷贝或被传送之前不能覆盖

它。p103-104

MPI(message -passing interface,消息传递接口:)

12.假定只能使用暂时异步通信原语,再加上异步receive原语,如何实现用于暂时同步通信的原语?

答:考虑一个同步的send原语。一个简单的实现是使用异步通信向服务器发送一个消息,然后让调用者不停地查询接收到的来自服务器的通知或响应。另一种实现方案是,

如果假设本地操作系统将接收的消息保存在一个本地缓冲区中,那么阻塞调用程序直到接收到系统的消息到达信号,之后调用程序执行异步receive。

13.假定只能使用暂时同步通信原语,如何实现用于暂时异步通信的原语?

答:异步send可以通过如下方式实现:调用者将它的消息拷贝到一个缓冲区,实际处

理消息发送的进程共享该缓冲区。每当客户端将消息拷贝到缓冲区,消息发送线程被唤醒,它将该消息从缓冲区中删除并使用一个阻塞的send原语将其发送到目标机器。接

收方的实现与此类似,它提供缓冲区,一个应用程序可以检查该缓冲区以确定是否有消息。

14.通过RPC实现持久化异步通信有意义吗?

答:仅仅在管理了一个队列的进程通过RPC将消息发送给下一个队列管理器时有意义。一个队列管理器为另一个管理器提供的服务是保存消息,调用的队列管理器可以获得远程队列的一个代理对象,并可能接收到每一个操作成功或失败的状态。使用这种方法时,队列管理器看到的仅仅是队列,而不会发生通信。

15.在本章中我们讲过,为了自动启动一个进程以从输入队列中获取消息,常常要使用守护程序来监视输入队列。请给出一种不使用守护程序的实现方法。

答:一个简单的实现方案是,每当接收端的进程将一条消息放进它的一个队列时,同时检查一下是否接收到了消息。 (捎带确认)

16.IBM MQSeries以及许多其他消息队列系统中的路由表是人工配置的。描述一种自动完成配置工作的简单方法。

答:最简单的是现实使用一个集中的组件,该组件维护消息队列系统的拓扑结构。它使用一种已知的路由算法来计算各个队列管理器之间的最佳路由,然后为每一个队列管理器生成路由表,这些表可以由各个管理器分别下载。这种方法适合于队列管理器相对较少但是特别分散的消息队列系统。

17.在持久通信中,接收者一般拥有自己的本地缓冲区,如果接收者不在运行状态,可以将消息放入该缓冲区中去。为了创建这种缓冲区,必须指定它们的大小。分成两方进行辩论:一方认为这种指定缓冲区大小的行为是可取的,而另一方反对这种指定大小的行为。

答:用户指定缓冲区大小使得实现更加容易。系统创建一个固定大小的缓冲区,之后缓冲区管理会十分容易。但是,如果缓冲区已满,消息可能会丢失。另一种方案是由通信系统来管理缓冲区大小,首先先制定一个默认大小,然后视情况需要扩充或者压缩缓冲区。这种方法减少了由于缺少空间而导致丢失消息的机率,但是需要系统做更多的工作。

18.请说明为什么暂时同步通信在可扩展性方面存在固有的问题,以及如何解决这些问题。

答:问题在于地理上的可扩展性受到了限制。由于同步通信需要调用者被阻塞直到消息被接收,因此,如果接收方相隔较远的话调用者可能需要阻塞很长的时间才能继续运行。解决这个问题的惟一办法是设计调用程序,使得它在发生通信时可以做其它有用的工作,以有效地实现一种异步通信。

19.给出一个将多播应用于离散数据流的例子。

答:将一个大文件传送给许多用户就是一个例子。例如,更新Web服务或软件发布的镜像站点

21.当一组计算机组成一个逻辑上或物理上的环时,如何确保传输延迟不超过允许的最大端到端延迟时间?

答:用一个令牌在环上循环,只有当计算机获取到该令牌的时候,它才能通过环发送数据。另外,计算机持有环的时间不能超过T秒。因此,如果假设两台邻接电脑之间的通信是有限制的,那么可以得到令牌循环的最大时间,这个时间就是发送一个包的最大端到端延迟时间。

22.当一组计算机组成一个(逻辑上或者物理上的)环时,如何确保传输延迟不小于允许的最小端到端延迟时间?

答:奇怪的是,这要比确保最大化延迟难得多。问题在于,原则上来说,接收方计算机不应该在已播时间之前接收数据。唯一的问题在于需要尽可能长时间地缓存数据包。缓存可以在发送方、接收方、或者两者之间的位置,比如说中间站。暂存数据的最好的位置应该是在接收方,因为在这个点上没有其他的不可预知的阻塞数据传输的情况发生。接收方需要做的仅仅是将数据从缓冲区中移除,并且根据一个简单的时间机制来将它传递给应用。不足之处在于需要提供足够的缓存空间。

23.尽管多播在技术上是可行的,但在因特网中对它的部署支持却很少,这个问题的答案可以在实际的商业模型中找到,没有人真的明白如何利用多播来获利。你能创造什么方案吗?

答:这个问题主要是由ISP(即网络服务提供商)造成的,因为他们没有理由去节省带宽(反正他们的用户已经为此付费)。不过,在下述场景中情况肯能会有所改变。网络多播服务为ISP所承诺的服务质量而付费。如果ISP无法满足质量服务的要求,那么他们的收益就会减少。这样的话,他们就有动力提供多播服务,来满足用户的需求。

24.通常,应用层多播树可以用关系图来优化,其中,关系图是根据延时或跳数度量的。请给出一个示例,说明这种度量方法会导致很糟糕的树。

答:使用关系图的根本假设是通信延迟是影响性能的最大因素。不过在视频多播的例子中,可用性才是占主导的因素。在这种情况下,我们会构建成本最大化的树(通过带宽来衡量)。

25.当在非结构化的点对点系统中查找文件时,限制查找与你有类似文件的节点可能会有用,请解释如何gossiping能有助于找到这些节点。

答:在gossiping中,节点之间相互交换信息,每一个节点最终都将获取其他节点的信息。每当发现了一个新的节点,都可以用与它在语义上的邻接点来评估,比如,通过计算共有的文件数目。那些语义上最邻近的节点将被用来提交查询请求。

第5章命名系统

1.举出一个例子,在这个例子中,为了真正访问实体E,需要把它的地址进一步解析成为另一个地址。

答:IP地址被用来定位主机。不过访问一个主机,它的IP地址需要被解析成,比如说,一个以太网地址。

2.你认为像https://www.doczj.com/doc/c65771274.html,.index.html这样的URL是不是与位置无关的?

答:两个名字都是位置独立的,虽然第一个给出了关于位置的些许暗示。位置独立意味着实体的名称是独立于它的地址的,仅仅考虑一个名称,无法得到关联实体的地址信息。

3.请给出一些正确的标示符的一个有效实现。

答:比如:书籍的ISBN码,软硬件产品的标识符,单个组织内的员工号,以太网地址(虽然一些地址是用来标识一台机器而不仅仅是以太网站点)。

4.是否允许标识符包含有关它所引用的实体的信息?

答:是的,但信息不允许修改,因为那将导致标识符的改变。旧的标识符需要保持有效,这样改变它将导致一个实体有两个标识符,违反了标识符的第二个属性。

5.需要描绘一个全局唯一标识符的一个有效实现。

答:将机器的网络地址加上当地时间,产生一个伪随机数。尽管理论上来说,仍然有可能存在着拥有相同数字的机器,但这几率可以忽略不计。

6.考虑图5.4所示的Chord系统,假设节点7刚刚加入该网络中,其指状表会是什么样子?其他指状表需要做什么修改?

答:节点7:【9,9,11,18,28】。比如,节点7的2号入口是这样计

算:succ(7+22-1)=succ(9)=9。更多的指状表需要进行改变,节点4:【7,7,9,14,28】,节点21:【28,28,28,1,7】,节点1:【4,4,7,9,18】。

解析:指状表更新时,如果通过succ(p+2i-1)计算出来的值对应的节点不存在(无效节点虚线表示的节点),则依次向后查,直到找到一个最近的有效节点(实线表示的节点),此节点就是当前入口对应的最新值。

7.考虑一个基于DHT的Chord系统,其中,m位标识符空间的k位保留给了超级节点。如果标识符是随机赋值的,再有N个节点的系统中,可能有多少个超级体?

答:在N个节点的系统中,超级体的个数等于min{2k-m N,2k}。

解析:2k/2m表示超级节点占总结点的百分比,(2k/2m)*N表示,根据比例计算的可能的超级体数量。2k为假设k位的组合都被占满的情况下,最多2k个超级节点。因为2k-m N 有可能小于或者等于2k,如果2k-m N 2k则取最小值即为所求结果。

8.如果往Chord系统中插入了一个节点,是否需要立即更新所有指状表?

答:不需要。考虑前一个问题,假定只有节点7的指状表,而余下的保持原状。最坏的情况是,一个查询节点7的请求被导向了节点9。不过,节点9知道节点7已经加入了系统,所以可以采取正确的动作。

解析:因为节点7的插入时,会更新前驱和后继节点,所以节点9作为节点7的后继节点知道节点7的位置。因此不需要立即更新所有的指状表。

9.当要在基于DHT的系统中解析一个键值时,递归查询的主要缺点是什么?

答:问题在于,如果没有结果返回,那么请求客户端将无法发现问题出在哪里。在解析键值的过程中,可能发生消息丢失或者节点失败的情况。因此动态查询有时更受欢迎,这样客户端将知道查询的哪部分出了问题,并可能求助另一个可用的节点。

10.有一种定位实体的特殊方式,称为anycasting,通过这种方式,可以使用IP地址来标识服务(请参见RFC1546)。向anycast地址发送请求时,实现了该anycast地址所标识服务的服务器会返回一条响应消息。简要说明如何实现基于分层定位服务(在5.2.4节介绍)的anycast服务。

答:每一个服务都有一个唯一的标识符。任何执行这一服务的服务器,都将把自己的网络地址插入到它所属的子区域的目录节点的位置服务列表中。查询请求使用服务的标识符,并且将会自动返回执行这一服务的最近服务器。

解析:对服务标识编码时,可以采用一定的规则,例如服务号+ 服务器地址,服务器将其地址插入到它所属的子区域的目录节点的位置服务列表中,当服务请求来临时,查询请求使用服务的标识符向子区域的目录节点询问,子区域的目录节点根据标识符返回执行这一服务的最近服务器。

11.两层的基于宿主的方法是分层定位服务的一种特殊形式,请问根在哪里?

答:所有的主地址组合在一起,形成了根,并且按照相应的方法分离,即每一个移动的实体都有它自己的根服务器。

12.假设已知某个移动实体几乎从不会离开域D,即使真的离开了,它也会很快返回。如何使用这条信息在分层定位服务中加快查询操作的速度?

答:对由实体标识符组成的域D进行简单编码,用于查询操作。操作可以快速定位到目录节点dir(D),从此处开始搜索。

13.在深度为k的分层定位服务中,当移动实体改变它的位置时,最多需要更新多少条位置记录?

答:改变位置其实就是插入操作以及删除操作的结合。一次插入操作最坏情况下需要改变k+1条位置记录。同样的,一次删除操作也需要改变K+1条记录,并且根记录被两种操作共享。这导致2K+1条记录的改变。(因为叶节点中存储的是当前页节点在页域中的位置,所以深度为k时,需要执行K+1次更新)。

14.假设一个实体从位置A转移到位置B,期间经过了几个中间位置,在每个中间位置都只停留相对较短的时间,到达B后,它停留了一段时间。在分层定位服务中更改地址可能还需要相对较长的时间,因此在访问中间位置时应该避免更改地址,那么当实体位于中间位置时应该如何查找它?

答:将分层的位置服务和前置指针结合起来。当实体移动的时候,它在A点留下了前置指针指向下一个(中间)位置。每次它移动,一个前置指针就留了下来。到达B点之后,实体将它的新地址插入分层位置服务中。指针链随后就被清除,并且A点的指针也被删除。

15.分层定位服务中的根节点可能是一个潜在的瓶颈。如何能有效地避免这个问题?答:一个重要的前提是我们仅仅使用随机的比特字符串来作为标识符。结果是,我们可以轻松地分割标识符空间,并且为每一部分分别生成相应的根节点。此外,分离的根节点需要跨越不同的网络,这样就可以分别访问根节点。

16.请举例说明URL闭合机制的工作方式。

答:假设已知一个过程是处理URL的,那么它会首先从URL中提取协议标识符,比如ftp:。它随后在表中查找这个字符串,进而找到在本地执行FTP协议的接口。此闭合机制的另一工作就是从URL中提取主机名,比如www.cs.vu.nl,并且将主机名传给本地的DNS

名字服务器。了解从何处以及如何与DNS服务器通信也是此闭合机制的重要部分。这通常硬编码进URL名字解析器,解析器执行整个解析过程。最后,URL的最后一部分,指向着查找的文件,被传给标识符主机。后者通过自己的本地闭合机制来开始文件名的名字解析。

17.请说明UNIX系统中硬链接与软链接之间的区别。是否有某些事情硬链接能做而软链接不能?反过来呢?

答:硬链接是目录文件的一个条目,指向了同样的文件描述器(共享inode),并成为另一个条目(可能是在不同的目录上)。符号链接(软链接)是包含了另一个文件名的文件(不共享inode)。而通过软链接,则可以链接到不同的磁盘分区甚至不同的机器。硬链接:新建的文件是已经存在的文件的一个别名,当原文件删除时,新建的文件仍然可以使用(因为即使原文件删除了,只要硬链接个数不为0,文件在物理位置就不会被删掉,这样通过硬链接仍然能够访问到物理号inode对应的内容,除非硬链接数为0了,物理位置上的内容才回被删除).软链接:新建的文件以“路径”的形式来表示另一个

文件,和Windows的快捷方式十分相似,新建的软链接可以指向不存在的文件.

下面详细介绍一下硬链接和软连接之间的区别.

1.硬链接和原来的文件没有什么区别,而且共享一个 inode 号(文件在文件系统上的

唯一标识);而软链接不共享 inode,也可以说是个特殊的 inode,所以和原来的 inode 有区别。

2.若原文件删除了,则该软连接则不可以访问,而硬连接则是可以的。

3.由于软链接的特性,导致其可以跨越磁盘分区,但硬链接不具备这个特性.另外在转

载一下网上的介绍.

硬链接(hard link) ln

UNIX文件系统提供了一种将不同文件链接至同一个文件的机制,称这种机制为链接。它可以使得单个程序对同一文件使用不同的名字。这样的好处是文件系统只存在一个文件的副本。系统简单地通过在目录中建立一个新的登记项来实现这种连接。该登记项具有一个新的文件名和要连接文件的inode号(inode与原文件相同)。不论一个文件有多少硬链接,在磁盘上只有一个描述它的inode,只要该文件的链接数不为0,该文件就保

持存在。硬链接不能对目录建立硬链接!

硬连接是直接建立在节点表上的(inode),建立硬连接指向一个文件的时候,会更新

节点表上面的计数值。举个例子,一个文件被连接了两次(硬连接),这个文件的计数值是3,而无论通过3个文件名中的任何一个访问,效果都是完全一样的,但是如果删除其中任意一个,都只是把计数值减1,不会删除实际的内容的,(任何存在的文件本身就算是一个硬连接)只有计数值变成0也就是没有任何硬连接指向的时候才会真实的删除内容。

软链接(symbolic link) ln-s

把符号链接称为软链接,它是指向另一个文件的特殊文件,这种文件的数据部分仅包含它所要链接文件的路径名。软链接是为了克服硬链接的不足而引入的,软链接不直接使用inode号作为文件指针,而是使用文件路径名作为指针(软链接:文件名 + 数

据部分-->目标文件的路径名)。软件有自己的inode,并在磁盘上有一小片空间存放路径名。因此,软链接能够跨文件系统,也可以和目录链接!其二,软链接可以对一个不存在的文件名进行链接,但直到这个名字对应的文件被创建后,才能打开其链接。

一、inode是什么?

理解inode,要从文件储存说起。

文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。

操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。这种由多个扇区组成的"块",是

文件存取的最小单位。"块"的大小,最常见的是4KB,即连续八个 sector组成一个 block。

文件数据都储存在"块"中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,中文译名为"索引节点"。

二、inode的内容

inode包含文件的元信息,具体来说有以下内容:

* 文件的字节数

* 文件拥有者的User ID

* 文件的Group ID

* 文件的读、写、执行权限

* 文件的时间戳,共有三个:ctime指inode创建时间,mtime指文件内容上一次修改的时间,atime指文件最后一次访问的时间。

* 链接数,即有多少文件名指向这个inode

* 文件数据block的位置

18.DNS中的高层名称服务器(就是那些在DNS名称空间中接近根的、实现了节点的名称服务器)一般不支持递归名称解析。如果让他们支持递归名称解析,那么是否有大幅度的性能改善?

答:可能不会。由于高层名称服务器构建了DNS名称空间的全局层级,可以认为对这一名称空间的改变很少发生。结果是,从高层名称服务器获取信息非常高效,并且可以避免很多耗时的通信。注意对低层名称服务器来说,递归名称解析是很重要的,因为在这种情况下,在较低层次的服务器域中,名字解析是在本地进行的。

19.请解释如何使用DNS来实现基于宿主位置的方法以定位移动主机。

答:移动主机的DNS名字将被用作标识符(虽然不是很好)。每当解析名称的时候,它将返回主机的当前IP地址。这意味着负责提供IP地址的DNS服务器将作为主机的名称服务器。每当主机移动,它就与主服务器通信,将自己的当前地址发送出去。注意需要设置一个避免抓取地址的机制,换句话说,其他的名称服务器不应该获取查找到的地址。

20.在大多数的UNIX中是如何查找挂载点的?

答:使用挂载表,它包含了一个指向挂载点的入口。这意味着当查找一个挂载点的时候,我们需要遍历挂载表来找到与挂载点相匹配的入口。

(存储节点标识符的目录结点称为挂接点,外部名称空间中的目录结点称为挂载点,通常挂载点是名称空间的根,在名称解析的过程中,挂载点被查询,并通过访问目录表来完成解析。)

21.考虑一个使用了用户名空间的分布式系统,每个用户都有自己私有的名称空间。来自这种名称空间的名称是否可用于在两个不同用户之间共享资源?

答:是的,单用户名称空间所提供的名称可以解析为共享的全局名称空间的名称。比如,原则上来说,来自不同名称空间的两个相同的名称是完全独立的,并且可能指代不同的实体。为了共享实体,有必要使用共享名称空间的名称来访问它们。比如,jade依赖于DNS名称和IP地址来访问共享实体(比如FTP站点)。

22.考虑一下DNS。要引用子域(该域实现为一个不同的区而不是当前域)中的节点N,需要为该区指定一个名称服务器,这个服务器地址是否总是需要包含一个资源记录,还是有时候只提供其域名即可?

数据库系统原理及应用教程第四版课后答案

第一章 1、(1)数据:数据用于载荷信息的物理符号。 (2)数据的特征;○1数据有“型”与“值”之分;○2数据受数据类型与取值范围的约束;○3数据有定性表示与定量之分;○4数据应具有载体与多种表现形式。 3、(1)数据管理的功能: ○1组织与保存数据功能,即将收集到的数据合理地分类组织,将其存储在物理载体上,使数据能够长期的被保存; ○2数据维护功能,即根据需要随时进行插入新数据,修改原数据与删除失效数据的操作; ○3数据查询与数据统计功能,即快速的得到需要的正确数据,满足各种使用要求;○4数据的安全与完整性控制功能,即能保护数据的安全与完整性。 (2)数据管理的目标:收集完整的信息,将信息用数据表示,按数据结构合理科学的组织并保存数据;为各种使用快速地提供需要的数据,并保护数据的安全与完整性。 4、(1)数据库:就是数据管理的新方法与技术,她就是一个按数据结构来存储与管理数据的计算机软件系统。 (2)数据库中的数据具有的特点:○1数据库中的数据具有整体性,即数据库中的数据要保持自身完整的数据结构;○2数据库中的数据具有数据共享性,不同的用户可以按各自的用法使用数据库中的数据,多个用户可以同时共享数据库中的数据资源。 5、(1)数据库管理系统:它就是专门用于管理数据库的计算机管理软件。数据库管理系统能够为数据库提供数据的定义、建立、维护、查询与统计等操作功能,并完成对数据完整性、安全性进行操作的功能。 (2)数据库管理系统主要功能:就是数据存储、数据操作与数据控制功能。其数据存储与数据操作就是:数据库的定义功能,指未说明库中的数据情况而进行的建立数据库结构的操作;数据库建立功能,指大批数据录入到数据库的操作,它使得库中含有需要保护的数据记录;数据库维护功能,指对数据的插入、删除与修改操纵,其操作做能满足库中信息变化或更新的需求;数据库查询与统计功能,指通过对数据库的访问,为实际应用提供需要的数据。数据库管理系统的数据控制功能为:数据安全性控制功能,即为了保证数据库的数据安全可靠,防止不合法的使用造成数据库泄露与破坏,也就就是避免数据被人偷瞧、篡改或破坏;数据库完整性控制功能,指为了保证数据库中的数据的正确、有效与相容,防止不合语意的错误数据被输入或输出。 14、(1)数据库系统的软件由几部分组成?数据库系统的软件中包括操作系统(OS)、数据库管理系统(DBMS)、主语言系统、应用程序软件与用户数据库。 (2)作用:①操作系统或汉字操作系统:操作系统就是所有计算机软件的基础,在数据库系统中它起着支持DBMS及主语言系统工作的作用。如果管理的信息中有汉字,则需要中文操作系统的支持,以提供汉字的输入、输出方法与汉字信息的处理方法。②数据库管理系统与主语言系统:数据库管理系统就是为定义、建立、维护、使用及控制数据库而提供的有关数据管理的系统软件。主语言系统就是为应用程序提供的诸如程序控制、数据输入输出、功能函数、图形处理、计算方法等数据处理功能的系统软件。③应用开发工具软件:应用开发工具就是DBMS系统为应用开发人员与最终用户提供的高效率、多功能的应用生成器、第四代计算机语言等各种软件工具.如报表生成器、表单生成器、查询与视图设计器等,它们为数据库系统的开发与使用提供了良好的环境与帮助。④应用系统及数据库:数据库应用系统包括为特定的应用环境建立的数据库、开发的各类应用程序及编写的文档资料,它们就是一个有机整体。通过运行数据库应用系统,可以实现对数据库中数据的维护、查询、管理与处理操作。(3)关系:

分布式存储系统的一些理解和实践

分布式存储系统的一些理解和实践 张建伟 一、分布式存储系统介绍 1.简介 互联网数据规模越来越大,并发请求越来越高,传统的关系数据库,在很多使用场景下并不能很好的满足需求。分布式存储系统应运而生。它有良好的扩展性,弱化关系数据模型,甚至弱化一致性要求,以得到高并发和高性能。按功能分类,主要有以下几种: ?分布式文件系统 hdfs ceph glusterfs tfs ?分布式对象存储 s3(dynamo) ceph bcs(mola) ?分布式表格存储 hbase cassandra oceanbase ?块存储 ceph ebs(amazon) 分布式存储系统,包括分布式系统和单机存储两部分;不同的系统,虽在功能支持、实现机制、实现语言等方面是有差异的,但其设计时,关注的关键问题是基本相同的。单机存储的主流实现方式,有hash引擎、B+树引擎和LSM树(Log Structured Merge Tree)三种,不展开介绍。本文第二章节,主要结合hbase、cassandra和ceph,讲下分布式系统设计部分,需要关注的关键问题。 2.适用场景 各分布式存储系统功能定位不尽相同,但其适用和不适用的场景,在一定程度上是相同的,如下。

1)适用 大数据量(大于100T,乃至几十PB) key/value或者半结构化数据 高吞吐 高性能 高扩展 2)不适用 Sql查询 复杂查询,如联表查询 复杂事务 二、分布式存储系统设计要点 1.数据分布 分布式存储,可以由成千甚至上万台机器组成,以实现海量数据存储和高并发。那它最先要解决的就是数据分布问题,即哪些数据存储在哪些机器(节点)上。常用的有hash类算法和用meta表映射两种方式。一般完全分布式的设计(无master节点),会用hash类算法;而集中式的设计(有master节点)用meta表映射的方式。两者各有优缺点,后面讲到具体问题时再做比较。 1)一致性hash 将存储节点和操作的key(key唯一标识存储的object,有时也叫object name)都hash到0~2的32次方区间。映射到如下环中的某个位置。沿操作key的位置顺时针找到的第一个节点即为此key的primary存储节点。如下图所示:

数据库系统原理与设计(第2版)-万常选版-第2章-关系模型与关系代数--课后答案

3.简述如下概念,并说明它们之间的联系与区别:。 (1)域,笛卡尔积,关系,元组,属性 答:域:域是一组具有相同数据类型的值的集合。 笛卡尔积:给定一组域D1,D2,…,Dn,这些域中可以有相同的。这组域的笛卡尔积为:D1×D2×…×Dn={(d1,d2,…,dn)|di?Di,i=1,2,…,n }其中每一个元素(d1,d2,…,dn)叫作一个n元组(n-tuple)或简称元组(Tuple)。元素中的每一个值di叫作一个分量(Component)。 关系:在域D1,D2,…,Dn上笛卡尔积D1×D2×…×Dn的子集称为关系,表示为 R(D1,D2,…,Dn) 元组:关系中的每个元素是关系中的元组。 属性:关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。由于域可以相同,为了加以区分,必须对每列起一个名字,称为属性(Attribute)。 (2)超码,主码,候选码,外码 答:超码:对于关系r的一个或多个属性的集合A,如果属性集A可以唯一地标识关系r中的一个元组,则称属性集A为关系r的一个超码 (superkey) 。 候选码:若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码(Candidate key)。 主码:若一个关系有多个候选码,则选定其中一个为主码(Primary key)。 外码:设F是基本关系R的一个或一组属性,但不是关系R的码,如果F与基本关系S 的主码Ks相对应,则称F是基本关系R的外码(Foreign key),简称外码。 基本关系R称为参照关系(Referencing relation),基本关系S称为被参照关系(Referenced relation)或目标关系(Target relation)。关系R和S可以是相同的关系。 (3)关系模式,关系,关系数据库 答:关系模式:关系的描述称为关系模式(Relation Schema)。它可以形式化地表示为:R(U,D,dom,F) 其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,dom 为属性向域的映象集合,F为属性间数据的依赖关系集合。 关系:在域D1,D2,…,Dn上笛卡尔积D1×D2×…×Dn的子集称为关系,表示为 R(D1,D2,…,Dn) 关系是关系模式在某一时刻的状态或内容。关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系操作在不断地更新着数据库中的数据。 关系数据库:关系数据库也有型和值之分。关系数据库的型也称为关系数据库模式,是对关系数据库的描述,它包括若干域的定义以及在这些域上定义的若干关系模式。关系数据库的值是这些关系模式在某一时刻对应的关系的集合,通常就称为关系数据库。 2.3.为什么需要空值null? 答:引入空值,可以方便于数据库的维护和建立,数字或者字符有时并不能解决想要解决的问题,毕竟它们是真实的存在,有了空值,那么有些操作,比如查询,插入,删除都可以更加方便,比如公司的部门,新增的部门,信息是不存在的,是之后数据库人员进行添加之后才有的,所以让它为空,比给它0更加贴近实际。空值是所有可能的域的一个取值,表明值未知或不存在。 2.3.关系模型的完整性规则有哪些? 答:关系模型的完整性规则是对关系的某种约束条件。关系模型中可以有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。 其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的

数据库系统原理与设计(第二版)实验一至实验三

实验一 1-1.查询员工的姓名、职务和薪水 select employeeName,headShip,salary from employee 图1-1 2.查询名字中含有“有限”的客户姓名和所在地 select CustomerName,address from Customer where CustomerName like '%有限%'

3. 查询出姓“张”并且姓名的最后一个字为“梅”的员工。 select * from employee where employeeName like '张%梅' 图1-3 4. 查询住址中含有上海或南昌的女员工,并显示其姓名、所属部门、职称、住址,其中性别用“男”和“女”显示 SELECT employeeName,department,address, isnull (convert(char(10),birthday,120),'不详')出生日期, case sex when 'M'then '男' when 'F'then'女' end as 性别 from employee where (address like '%上海%'or address like '%南昌%')and sex='F'

5. 查询出职务为“职员”或职务为“科长”的女员工的信息 select * from employee where (headship='职员' or headship='科长') and sex='F' 图1-5 6. 选取编号不在“C20050001”和“C20050004”的客户编号、客户名称、客户地址。 Select * from Customer where CustomerNo not in ( 'C20050001' ,'C20050004')

全国各地教育学各专业博士点及其就业前景介绍(截止2016年)

教育类博士点院校及专业 (截至2016年) 教育学原理博士点: 国家重点学科: 北京师范大学东北师范大学华东师范大学南京师范大学、华中师范大学 博士点(15个) 北京大学、华东师范大学、南京师范大学、西北师范大学、北京师范大学、华南师范大学、山东师范大学、西南大学、东北师范大学、华中师范大学、陕西师范大学、浙江大学、河南大学、辽宁师范大学、首都师范大学 课程与教学论 国家重点学科 北京师范大学华东师范大学西南大学 博士点(14个) 北京师范大学、华东师范大学、山东师范大学、西南大学、东北师范大学、华南师范大学、陕西师范大学、浙江大学、哈尔滨师范大学、华中师范大学、上海师范大学、湖南师范大、南京师范大学、西北师范大学 比较教育学 国家重点学科 北京师范大学 博士点(9个) 北京师范大学、华中师范大学、浙江大学、东北师范大学、南京师范大学、华东师范大学、西北师范大学、华南师范大学、西南大学 学前教育学 国家重点学科 南京师范大学 博士点(9个) 北京师范大学、华中师范大学、浙江大学、东北师范大学、南京师范大学、华东师范大学、西北师范大学、华南师范大学、西南大学 高等教育学 国家重点学科 厦门大学华中科技大学

博士点(16个) 北京大学、华东师范大学、南京大学、西北师范大学、北京师范大学、华南师范大学、南京师范大学、西南大学、东北师范大学、华中科技大学、清华大学、厦门大学、湖南师范大学、华中师范大学、苏州大学、浙江大学 成人教育学 博士点(9个) 北京师范大学、华中师范大学、浙江大学、东北师范大学、南京师范大学*、华东师范大学、西北师范大学、华南师范大学、西南大学* 040108 职业技术教育学 博士点(10个) 北京师范大学、华中师范大学、西南大学、东北师范大学、南京师范大学、浙江大学、华东师范大学、天津大学、华南师范大学、西北师范大学 040109 特殊教育学 博士点(9个) 北京师范大学、华中师范大学、浙江大学、东北师范大学、、南京师范大学、华东师范大学、西北师范大学、华南师范大学、西南大学 040110 教育技术学 国家重点学科 北京师范大学华南师范大学 博士点(9个) 北京师范大学、华中师范大学、浙江大学、东北师范大学、华东师范大学、南京师范大、西北师范大学、华南师范大学、西南大学、 120403 教育经济与管理 (已划归公共管理学) 国家重点学科 北京大学 博士点(17个) 北京大学、东北师范大学、华中科技大学、武汉大学、中山大学、北京航空航天大学、复旦大学、吉林大学、厦门大学、北京师范大学、华东师范大学、南京农业大学、浙江大学、东北大学、华南师范大学、清华大学、中国人民大学 教育学博士就业前景(仅供参考) 1.教育学原理专业 1)就业前景

《数据库系统原理及应用》习题集及参考答案要点

《数据库系统原理及应用》习题集及参考答案 一、简答题 1、什么是数据库管理系统? 一种负责数据库的建立、操作、管理和维护的软件系统。 2、数据库系统有哪几种模式?分别用来描述什么? (1)外模式 是用户的数据视图,用来描述数据的局部逻辑结构,是模式的子集。 (2)模式 是所有用户的公共数据视图,用来描述数据库中全体数据的全局逻辑结构和特征。(3)内模式 又称存储模式,描述数据的物理结构及存储方式 3、什么是事务?事务有哪些特征? 答:所谓事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。 事务的特征:原子性、一致性、隔离性、持续性。 4、POWER BUILDER中事务对象有何作用? 答:PowerBuider的事务对象是应用程序与数据库之间进行通信的桥梁,在应用程序初启时,系统自动创一个为SQLCA(SQL Communication Area, SQL通讯区)的全局事务对象,该对象在应用程序的任何地方都可以访问 应用程序与数据库的所有通信都需要通过事务对象来完成,除了直接使用系统的缺省事务对SQLCA外,开发人员也可以创建自己的事务对象。 5、SQL SERVER中INSERTED表和DELETED表有何用? 答:触发器中用到两种特殊的表:删除表和插入表触发器中使用名为“deleted"和“inserted"来参照这些表;删除表存储受DELTE和UPDATE语句影响的行的副本当执行DELETE或UPDA TE语句时,行从触发器表中删除并传递到删除表中。删除表和触发器表通常没有共有的行。 插入表存储受INSERT和UPDA TE语句影响的行的副本当执行一NSERT或UPDA T语句时,新行同时增加到插入表和触发器表中。插入表中的行是触发器表中新行的副本可使用删除表和插入表中的行来参照相关表中的行, 或测试被删除或插入行中的值。 6、数据库系统由哪几部分构成? 答:数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。 7、什么是候选码?什么是主码?主码只能有一个属性吗? 答:能唯一标识实体的属性或属性组称为超码,其任意真子集都不能成为超码的最小超码称为候选码;

分布式集群技术

分布式集群技术1、Linux的介绍:Linux的发展历史、Linux和Windows的对比和优势、Linux的常见版本; 2、Linux的安装:VMware Workstation虚拟软件安装过程、CentOS虚拟机安装过程; 3、Linux的常用命令:常用命令的介绍、常用命令的使用和练习; 4、Linux编辑器:VI、VIM编辑器的介绍、常用快捷键; 5、Linux用户和组账户管理:用户的管理、组管理; 6、Linux系统文件权限管理:文件权限介绍、文件权限的操作; 7、Linux的RPM软件包管理:RPM包的介绍、RPM安装、卸载等操作 8、Linux网络:Linux网络的介绍、Linux网络的配置和维护、iptables原理和操作 9、Shell编程:Shell介绍、Shell脚本的编写 10、Linux上常见软件的安装:安装JDK、安装Tomcat、安装Eclipse 11、集群负载均衡和高可靠:Haproxy、Keepalived 12、CentOS7部分新特性介绍和使用 13、综合案例:构建互联网高并发分布式服务器集群 Hadoop离线计 算1、Hadoop生态圈简介 2、Hadoop伪分布式环境搭建 3、Hadoop计算模型MapReduce例子说明 4、分布式文件系统HDFS:分布式文件系统HDFS简介、HDFS原理、HDFS上传下载数据过程和源码分析 5、分布式计算模型MapReduce:MapReduce算法原理、Shuffle过程和原理、MapReduce提交过程和源码分析、MapReduce执行过程和源码分析、MapReduce 本地debug和远程debug、MapReduce优化、MapReduce实战案例 6、分布式协调框架ZooKeeper:ZooKeepe基本概念和体系结构、ZooKeeper集群的安装、操作ZooKeeper、ZooKeeper编程API 7、Hadoop2.x集群搭建:Hadoop2.x集群结构体系介绍、Hadoop2.x集群搭建、NameNode的高可用性(HA)、HDFS Federation、ResourceManager 的高可用性(HA)、Hadoop集群常见问题和解决方法、Hadoop集群管理 8、分布式数据库Hbase:HBase定义、HBase与RDBMS的对比、数据模型、系统架构、HBase上的MapReduce、表的设计、集群的搭建过程讲解、集群的监控、集群的管理、HBase Shell以及演示、Java客户端以及代码演示 9、数据仓库Hive(使用sql进行计算的hadoop框架):数据仓库基础知识、Hive定义、Hive体系结构简介、Hive集群、客户端简介、HiveQL定义、HiveQL与SQL 的比较、数据类型、外部表和分区表、表的操作与CLI客户端演示、数据导入与CLI 客户端演示、查询数据与CLI客户端演示、数据的连接与CLI客户端演示、用户自定义函数(UDF)的开发与演示 10、数据迁移工具Sqoop:配置Sqoop、使用Sqoop把数据从mysql导入到HDFS

数据库系统原理与设计第版课后习题详细答案

数据库系统原理与设计习题集 第一章绪论 一、选择题 1. DBS是采用了数据库技术的计算机系统,DBS是一个集合体,包含数据库、计算机硬件、软件和()。 A. 系统分析员 B. 程序员 C. 数据库管理员 D. 操作员 2. 数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是()。 A. DBS包括DB和DBMS B. DBMS包括DB和DBS C. DB包括DBS和DBMS D. DBS就是DB,也就是DBMS 3. 下面列出的数据库管理技术发展的三个阶段中,没有专门的软件对数据进行管理的是()。 I.人工管理阶段 II.文件系统阶段 III.数据库阶段 A. I 和II B. 只有II C. II 和III D. 只有I

4. 下列四项中,不属于数据库系统特点的是()。 A. 数据共享 B. 数据完整性 C. 数据冗余度高 D. 数据独立性高 5. 数据库系统的数据独立性体现在()。 A.不会因为数据的变化而影响到应用程序 B.不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序 C.不会因为存储策略的变化而影响存储结构 D.不会因为某些存储结构的变化而影响其他的存储结构 6. 描述数据库全体数据的全局逻辑结构和特性的是()。 A. 模式 B. 内模式 C. 外模式 D. 用户模式 7. 要保证数据库的数据独立性,需要修改的是()。 A. 模式与外模式 B. 模式与内模式 C. 三层之间的两种映射 D. 三层模式 8. 要保证数据库的逻辑数据独立性,需要修改的是()。 A. 模式与外模式的映射 B. 模式与内模式之间的映射 C. 模式 D. 三层模式

华南理工大学线性系统理论考博试题answer

一、 1、 求脉冲响应函数 系统脉冲响应为: ...)4()3()2()1()(+-+-+-+-=t t t t t g f δδδδ ∑∞ =-=1 )(i i t δ 传递函数为: s s i i s s f f e e e e t g L s g --∞ =---=?==∑1)())(()(0 2、 已知)sin(t r π=,求输出响应 系统响应; ?? ?=?≤≤-?-=other n n t n t t y 0 3.2.1212) sin()( π 3、 判断系统是否BIBO 稳定?若是请证明,若不是请举例论证结论 不是BIBO 稳定,令系统输入为: )()(t t y ε=,则系统输出在∞→t 时,趋于无 穷 4、 上述系统可否用频域法求取结论 不能,系统的传递函数不是有理分式 二、已知系统: bu Ax x += ,其中k ξξξ 21,为k 个特征向量,k

)(2211k k At At e b e ξξξ??++??+???=? k At k At At e e e ξξξ???++???+???= 2211 k t k t t k e e e ξξξλλλ???++???+???= 221121 []????? ?? ???????????????=t k t t k k e e e λλλξξξ 21212 1(k λλλ 21为特征向量对应的特征 根) τ τ τ d e bb e T A t T A ?0 [][ ] ????? ? ?????????????????? ??????????????=?k k t k k d e e e e e e k k ξξξτξξξτ λτλτ λτλτλτλ 2121 0212 1212 1 因而有: n k d e bb e rank T A t T A <≤?)(0 ττ τ 系统不可控 2、 举例说明该系统不完全能控 略 3、 若该系统能控模态稳定,不能控模态不稳定,试问系统初始状态满足什么条件系统状态 最终趋向于0?并说明理由。 (不懂) 三、下图中,u 为电流源,y 为a ,b 两点间的电压,R =1Ω,C = 1F R R a b y

(完整word版)数据库系统原理及应用教程第四版课后答案

第一章 1、(1)数据:数据用于载荷信息的物理符号。 (2)数据的特征;○1数据有“型”和“值”之分;○2数据受数据类型和取值范围的约束;○3数据有定性表示和定量之分;○4数据应具有载体和多种表现形式。 3、(1)数据管理的功能:○1组织和保存数据功能,即将收集到的数据合理地分类组织,将其存储在物理载体上,使数据能够长期的被保存;○2数据维护功能,即根据需要随时进行插入新数据,修改原数据和删除失效数据的操作;○3数据查询和数据统计功能,即快速的得到需要的正确数据,满足各种使用要求;○4数据的安全和完整性控制功能,即能保护数据的安全和完整性。 (2)数据管理的目标:收集完整的信息,将信息用数据表示,按数据结构合理科学的组织并保存数据;为各种使用快速地提供需要的数据,并保护数据的安全和完整性。 4、(1)数据库:是数据管理的新方法和技术,他是一个按数据结构来存储和管理数据的计算机软件系统。 (2)数据库中的数据具有的特点:○1数据库中的数据具有整体性,即数据库中的数据要保持自身完整的数据结构;○2数据库中的数据具有数据共享性,不同的用户可以按各自的用法使用数据库中的数据,多个用户可以同时共享数据库中的数据资源。 5、(1)数据库管理系统:它是专门用于管理数据库的计算机管理软件。数据库管理系统能够为数据库提供数据的定义、建立、维护、查询和统计等操作功能,并完成对数据完整性、安全性进行操作的功能。 (2)数据库管理系统主要功能:是数据存储、数据操作和数据控制功能。其数据存储和数据操作是:数据库的定义功能,指未说明库中的数据情况而进行的建立数据库结构的操作;数据库建立功能,指大批数据录入到数据库的操作,它使得库中含有需要保护的数据记录;数据库维护功能,指对数据的插入、删除和修改操纵,其操作做能满足库中信息变化或更新的需求;数据库查询和统计功能,指通过对数据库的访问,为实际应用提供需要的数据。数据库管理系统的数据控制功能为:数据安全性控制功能,即为了保证数据库的数据安全可靠,防止不合法的使用造成数据库泄露和破坏,也就是避免数据被人偷看、篡改或破坏;数据库完整性控制功能,指为了保证数据库中的数据的正确、有效和相容,防止不合语意的错误数据被输入或输出。 14、(1)数据库系统的软件由几部分组成?数据库系统的软件中包括操作系统(OS)、数据库管理系统(DBMS)、主语言系统、应用程序软件和用户数据库。 (2)作用:①操作系统或汉字操作系统:操作系统是所有计算机软件的基础,在数据库系统中它起着支持DBMS及主语言系统工作的作用。如果管理的信息中有汉字,则需要中文操作系统的支持,以提供汉字的输入、输出方法和汉字信息的处理方法。②数据库管理系统和主语言系统:数据库管理系统是为定义、建立、维护、使用及控制数据库而提供的有关数据管理的系统软件。主语言系统是为应用程序提供的诸如程序控制、数据输入输出、功能函数、图形处理、计算方法等数据处理功能的系统软件。③应用开发工具软件:应用开发工具是DBMS系统为应用开发人员和最终用户提供的高效率、多功能的应用生成器、第四代计算机语言等各种软件工具.如报表生成器、表单生成器、查询和视图设计器等,它们为数据库系统的开发和使用提供了良好的环境和帮助。④应用系统及数据库:数据库应用系统包括为特定的应用环境建立的数据库、开发的各类应用程序及编写的文档资料,它们是一个有机整体。通过运行数据库应用系统,可以实现对数据库中数据的维护、查询、管理和处理操作。(3)关系:

简述分布式操作系统

郑州轻工业学院 课程设计报告 题目简述分布式操作系统学生姓名杨元家张峰崎 专业班级计科11-01 学号0152 0153 院(系)计算机与通信工程指导教师张旭 完成时间2014 年6月18日

目录 摘要错误!未定义书签。 1 分布式操作系统的特点错误!未定义书签。 2 网络操作系统和分布式操作系统的区别错误!未定义书签。 网络操作系统错误!未定义书签。 网络操作系统错误!未定义书签。 网络操作系统对于计算机网络的作用错误!未定义书签。 分布式操作系统错误!未定义书签。 集群为了提高计算机的性能错误!未定义书签。 分布式操作系统错误!未定义书签。 网络操作系统和分布式操作系统的区别是:错误!未定义书签。 3 以大规模IPTV点播系统为例说明分布式系统分布方式错误!未定义书签。分布式点播系统分析错误!未定义书签。 分布式系统典型结构错误!未定义书签。 分布式系统工作原理错误!未定义书签。 分布式系统的典型应用错误!未定义书签。 分布式点播系统的局限性错误!未定义书签。 结论错误!未定义书签。 参考文献错误!未定义书签。 分布式操作系统的特点

摘要 本文介绍了分布式操作系统的特点以及与网络操作系统的区别,并且以大规模IPTV 点播系统为例说明分布式系统分布方式,分布式操作系统是在比单机复杂的多机环境下得到实现的,并且具备分布性、自治性、并行性、全局性这四个基本特征,能够实现资源共享,加快计算速度,并且可靠性得到了提高。在分布性与并行性上比网络操作系统有独到的优点,并且在透明性以及健壮性方面具有网络操作系统不可匹敌的优势,在大规模IPTV点播系统中,本文从分布式系统的结构、分布式系统的工作原理、分布式系统的典型作用以及分布式系统的局限性等方面详细阐述了分布式系统在服务器系统中是如何实现分布的。 关键字:分布式操作系统、网络操作系统、IPTV点播系统 1 分布式操作系统的特点 分布式操作系统是在比单机复杂的多机环境下得到实现的,操作系统在进行任何一项任务的始终都要依赖于通信软件模块,故而分布式操作系统具有区别于单机操作系统的下列显著特点: (1)具有干预互连的各处理机之间交互关系的责任。分布式操作系统必须保证在不同处理机上执行的进程彼此互不干扰,并严格同步,以及保证避免或妥善解决各处理机对某些资源的竞争和引起的死锁等问题。

教育学原理博士生必读书目(10-03)(1)

教育学原理学生必读书目 (标蓝色者为最重要,标红色者为第二重要) 2010年3月 基本理论类 《四书》《五经》《师说》《学记》 柏拉图《理想国》 亚里士多德:《尼各马可伦理学》 康德:《论教育学》、《实践理性批判》、邓晓芒:《康德哲学讲演录》 涂尔干:《道德教育》 雅斯贝尔斯:《什么是教育》 杜威:《民主主义与教育》《确定性的寻求》《我们如何思维》 博尔诺夫:《教育人类学》 福柯:《规训与惩罚》 怀特:《教育的目的》 米德:《心灵、自我与社会》 塞尔:《心灵、语言与社会》 罗杰斯:《个人形成论》 马斯洛等:《人的潜能和价值》 郑石岩:《觉:教导的智慧》 钱穆:《现代中国学术论衡》 弗朗索瓦:《圣人无意》 Gauthier, D. (1963). Practical Reasoning Wenger, E. (1998). Communities of practice: learning, meaning, and identity 研究方法论类 米尔斯:《社会学的想象力》 吉登斯:《社会的构成》 范梅南:《教学机智》《生活体验研究》 波兰尼:《个人知识》《科学、信仰与社会》 赖尔:《心的概念》 库伯:《体验学习》 胡军:《知识论》 Phil Carspecken, 《教育研究的批判民俗志》 Gibbens et al. The New Production of Knowledge Urie Bronfenbrenner: Lewinian Space and Ecological Substance. Environments in developmental perspective: Theoretical and Operational Models. Joseph J. Schwab:The Practical 1: A language for curriculum;The Practical 2: Arts of Eclectic;The Practical 3: Testing and the Curriculum;The Practical 4: Something For the Curriculum Professors To Do Labov, The Metaphors We Live By James Gee, An Introduction to Discourse analysis: Theory and Method 1

(完整版)数据库系统原理与设计(万常选版)整本书练习题和详细答案详解

数据库系统概论习题集 第一章绪论 一、选择题 1. DBS是采用了数据库技术的计算机系统,DBS是一个集合体,包含数据库、计算机硬件、软件和()。 A. 系统分析员 B. 程序员 C. 数据库管理员 D. 操作员 2. 数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS )之间的关系是()。 A. DBS 包括DB 和DBMS B. DBMS 包括DB 和DBS C. DB包括DBS和DBMS D. DBS 就是DB ,也就是DBMS 3. 下面列出的数据库管理技术发展的三个阶段中,没有专门的软件对数据进行管理的是()。 I ?人工管理阶段 II ?文件系统阶段 III ?数据库阶段 A. I 和II B. 只有II C. II 和III D. 只有I 4. 下列四项中,不属于数据库系统特点的是()。 A. 数据共享 B. 数据完整性 C. 数据冗余度高 D. 数据独立性高 5. 数据库系统的数据独立性体现在()。 A. 不会因为数据的变化而影响到应用程序 B. 不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序 C. 不会因为存储策略的变化而影响存储结构 D. 不会因为某些存储结构的变化而影响其他的存储结构 6. 描述数据库全体数据的全局逻辑结构和特性的是()。 A. 模式 B. 内模式 C. 外模式 D. 用户模式 7. 要保证数据库的数据独立性,需要修改的是()。 A. 模式与外模式 B. 模式与内模式 C. 三层之间的两种映射 D. 三层模式 8. 要保证数据库的逻辑数据独立性,需要修改的是()。 A. 模式与外模式的映射 B. 模式与内模式之间的映射 C. 模式 D. 三层模式 9. 用户或应用程序看到的那部分局部逻辑结构和特征的描述是(),它是模式的逻辑子集。 A. 模式 B. 物理模式 C. 子模式 D. 内模式 10. 下述()不是DBA 数据库管理员的职责。 A.完整性约束说明 B.定义数据库模式 C.数据库安全 D.数据库管理系统设计 选择题答案: (1) C (2) A (3) D (4) C (5) B (6) A (7) C (8) A (9) C (10) D 二、简答题 1 ?试述数据、数据库、数据库系统、数据库管理系统的概念。 数据:描述事物的符号记录称为数据。数据的种类有文字、图形、图象、声音、正文等等。数据与其语义是不可分的。 *解析:

(整理)上海交大考博部分考试科目参考书目.

2009年上海交大考博部分考试科目参考书目 部分考试科目参考书目 010船舶海洋与建筑工程学院 2201流体力学《水动力学基础》,刘岳元等,上海交大出版社 2202声学理论《声学基础理论》,何祚庸,国防工业出版社 2203高等工程力学(理力、材力、流力、数学物理方法)(四部分任选二部分做)《理论力学》,刘延柱等,高等教育出版社;《材料力学》,单祖辉,北京航空航天大学出版社;《流体力学》,吴望一,北京大学出版社;《数学物理方法》,梁昆淼,高等教育出版社 2204结构力学《结构力学教程》,龙驭球,高等教育出版社 3301船舶原理《船舶静力学》,盛振邦,上海交大出版社;《船舶推进》,王国强等,上海交大出版社;《船舶耐波性》,陶尧森,上海交大出版社;《船舶阻力》,邵世明,上海交大出版社 3302振动理论(I)《机械振动与噪声学》,赵玫等,科技出版社2004 3303海洋、河口、海岸动力学《河口海岸动力学》,赵公声等,人民交通出版社2000 3304高等流体力学《流体力学》,吴望一,北京大学出版社 3305弹性力学《弹性力学》上、下册(第二版),徐芝纶,高等教育出版社 3306振动理论(Ⅱ)《振动理论》,刘延柱等,高等教育出版社2002 3307钢筋混凝土结构《高等钢筋混凝土结构学》,赵国藩编,中国电力出版社 3308地基基础《土工原理与计算》(第二版),钱家欢、殷宗泽,水利电力出版社 3378船舶结构力学《船舶结构力学》,陈铁云、陈伯真,上海交大出版社 020机械与动力工程学院 2205计算方法《计算方法》,李信真,西北工业大学出版社 2206核反应堆工程《核反应堆工程设计》,邬国伟 3309工程热力学《工程热力学》(第三版),沈维道;《工程热力学学习辅导及习题解答》,童钧耕 3310传热学《传热学》(第三版),杨世铭 3311机械控制工程《现代控制理论》,刘豹;《现代控制理论》,于长官 3312机械振动《机械振动》,季文美 3313生产计划与控制《生产计划与控制》,潘尔顺,上海交通大学出版社 3314机械制造技术基础《机械制造技术基础》,翁世修等,上海交通大学出版社1999;《现代制造技术导论》,蔡建国等,上海交通大学出版社2000 3315现代机械设计《高等机械原理》,高等教育出版社1990 030电子信息与电气工程学院 2207信号与系统《信号与系统》,胡光锐,上海交大出版社 2208电子科学与技术概论《电子科学与技术导论》,李哲英,2006 2209信息处理与控制系统设计《线性系统理论》,郑大钟,清华大学出版社2002;或《数字图像处理》(第二版)《Digital Image Processing》Second Edition (英文版),R. C. Gonzalez, R. E. Woods,电子工业出版社2002(从“线性系统理论”或“图像处理”中选考其一) 2210计算机科学与技术方法论《数理逻辑与集合论》,石纯一,清华大学出版社2000;《图论与代数结构》,戴一奇,清华大学出版社1995;《组合数学》,Richard A. Brualdi著,卢开澄等译,机械工业出版社2001 2211数字信号处理(I)《数字信号处理(上)》,邹理和;《数字信号处理(下)》,吴兆熊,国防工业出版社2212电力系统分析与电力电子技术《电力电子技术基础》,金如麟,机械工业出版社,或《电力系统分析(上册)》,诸骏伟,中国电力出版社1995;《电力系统分析(下册)》,夏道止,中国电力出版社1995 3316网络与通信《数字通信》(第四版),Proakis,电子出版社(必考,占30%):另按照专业加考70%:无线通信方向、信息安全方向,《数字通信》(第四版),Proakis,电子出版社;或光通信方向,《光纤通信

北京师范大学教育学原理考博参考书分享

北京师范大学教育学原理考博参考书分享 各位考研的同学们,大家好!我是才思的一名学员,现在已经顺利的考上北京师范大学,今天和大家分享一下这个专业的参考书,方便大家准备考博,希望给大家一定的帮助。 笔记: 北京师范大学教育学部自2013年恢复自主命题,所以在研究生考试的形式以及录取情况上与此前统考时有所不同。2013年教育经济与管理专业报考188人,录取20人,录取比例为10.64%,报录比9.4:1。2012年报考239人,录取30人,录取比例为12.55%,报录比7.97:1,。往年录取比例在10%左右。其他各专业的录取比例不等,教育学原理、学前教育、比较教育相对而言竞争更为激烈。这些统计都不计算推免学生在内。 教育学初试的科目单独划线,不依据国家线。研究生考试结束后,首先公布基本复试分数线,然后公布各个专业的复试分数线,符合要求者即进入复试。如2014年和2013年的教育学基本复试线315和310(思政50外语50专业课180),但是这仅仅是基本线,2014年教育经济与管理专业的复试分数划定依据方向不同而又差异,其中教育管理专业340,教育经济以及教育测量与评价专业325,最终录取学生的分数都很高,所以初试成绩非常重要。复试包括笔试+外语口试+

综合面试。笔试150分、外语口试50分、面试200分,复试总分400分。笔试内容为各专业综合基础知识,不设参考书目。笔试一般为90分为及格分,外语+面试150分为及格分,复试240分为及格分,未达到以上及格线的,不予录取。录取时,初试总分+复试总分,分专业从高分往低分依次录取,事实上初试成绩占据决定性作用,因为复试笔试中考生的水平发挥一般与初试基本一致,或者大家水平差不多,无法扭转初试决定的格局。复试英语除常规问题外,可能会考察专业的认知以及专业问题的具体看法,一方面要看自身英语表达水平,另一方面重在自己对问题的思考和分析。教育学专业的学术型硕士和专业型硕士一般接收调剂。复试中各个专业学生的复试笔试题目相同,会有个别题目需要选定方向的学生进行相应作答。 北师大教育学原理专业博士入学考试参考书目 一、教育学 1、黄济,王策三编:《现代教育论》,人民教育出版社 2、王道俊,王汉澜编:《教育学》,人民教育出版社 3、叶澜著:《教育概论》,人民教育出版社 4、袁振国:《当代教育学》,教育科学出版社(重点看前两本) 二、教育史 1、王炳照编:《中国教育简史》,北京师范大学出版社

WDM基本原理简介

波分复用原理简介 产生背景 传输带宽的需求增长,传输系统需扩容: ?增加系统数量(光纤数量):敷设光缆,没有有效利用光纤带宽 ?提高系统速率(TDM时分复用PDH/SDH):10Gb/s,40Gb/s电子器件技术极限/成本/G.652光纤 1550nm窗口的高色散 ?波分复用(WDM)技术 EDFA(erbium-doped fiber amplifier掺铒光纤放大器)的成熟和商用化 基本概念 波分复用(WDM)充分利用单模光纤低损耗区的巨大带宽资源,将光纤的低损耗窗口划分成若干个信道,把光波作为信号的载波,将多种不同波长的光载波信号在发送端经复用器(亦称合波器,Multiplexer)汇合在一起,并耦合到光线路的同一根光纤中进行传输;在接收端,经解复用器(亦称分波器,Demultiplexer)将各种波长的光载波分离,然后由光接收机作进一步处理以恢复原信号。这种在同一根光纤中同时传输两个或众多不同波长光信号的技术,称为波分复用。 波分复用在本质上是光域上的频分复用(FDM)技术。 通道间隔的不同,可分为: –CWDM(Coarse Wavelength Division Multiplexing稀疏/粗波分复用) 信道间隔为20nm –DWDM(Dense Wavelength Division Multiplexing密集波分复用) 信道间隔从0.2nm 到1.2nm。 波分复用技术的优点 (1) 传输容量大,可以充分利用光纤的巨大带宽资源,节约宝贵的光纤资源。 (2) 对各类业务信号“透明”,可以传输不同类型、多种格式的业务信号。对于“业务”层信号来说,WDM的每个波长就像“虚拟”的光纤一样。 (3) 扩容方便。WDM技术是理想的扩容手段。对于早期芯数不多的光纤系统,利用此技术,不必做较大改动,就可以轻松扩容。增加一个附加光波长就可以引入任意新业务或扩充容量。 (4) 组建动态可重构的光网络,在网络节点使用光分插复用器(OADM)或者使用光交叉连接设备(OXC),可以组成具有高度灵活性、高可靠性、高生存性的全光网络。

数据库系统原理与设计万常选版第七章练习题和详细答案

第七章数据库恢复技术 一、选择题 1.一个事务的执行,要么全部完成,要么全部不做, 一个事务中对数据库的所有操作都是一个不可分割的操作序列的属性是()。 A. 原子性 B. 一致性 C. 独立性 D. 持久性 2.表示两个或多个事务可以同时运行而不互相影响的是()。 A. 原子性 B. 一致性 C. 独立性 D. 持久性 3. 事务的持续性是指() A.事务中包括的所有操作要么都做,要么都不做。 B.事务一旦提交,对数据库的改变是永久的。 C.一个事务内部的操作对并发的其他事务是隔离的。 D.事务必须是使数据库从一个一致性状态变到另一个一致性状态。 4.SQL语言中的COMMIT语句的主要作用是()。 A. 结束程序 B. 返回系统 C. 提交事务 D. 存储数据 5.SQL语言中用()语句实现事务的回滚 A. CREATE TABLE B. ROLLBACK C. GRANT和REVOKE D. COMMIT 6.若系统在运行过程中,由于某种硬件故障, 使存储在外存上的数据部分损失或全部损失,这种情况称为()。 A. 介质故障 B. 运行故障 C. 系统故障 D. 事务故障 7.在DBMS中实现事务持久性的子系统是()。 A. 安全管理子系统 B. 完整性管理子系统 C. 并发控制子系统 D. 恢复管理子系统 8. 后援副本的作用是()。 A. 保障安全性 B. 一致性控制 C. 故障后的恢复 D. 数据的转储 9.事务日志用于保存()。 A. 程序运行过程 B. 程序的执行结果 C. 对数据的更新操作 D. 数据操作 10.数据库恢复的基础是利用转储的冗余数据。这些转储的冗余数据包括()。 A. 数据字典、应用程序、审计档案、数据库后备副本 B. 数据字典、应用程序、审计档案、日志文件 C. 日志文件、数据库后备副本 D. 数据字典、应用程序、数据库后备副本 二、简答题 1.试述事务的概念及事务的四个特性。 答:事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。

相关主题
文本预览
相关文档 最新文档