网络与分布式计算复习提纲05710
- 格式:doc
- 大小:1.25 MB
- 文档页数:24
1.2 什么是分布式计算系统?它的实质是什么?分布式计算系统是由多个相互连接的计算机组成的一个整体,这些计算机在一组系统软件(分布式操作系统或中间件)环境下,合作执行一个共同的或不同的任务,最少依赖于集中的控制过程、数据和硬件。
实质:分布计算系统=分布式硬件+分布式控制+分布式数据。
1.10多处理机与多计算机的区别是什么?同构多计算机和异构多计算机各有什么特点?区别:多计算机是将多个计算机联合起来处理问题,多处理机是在一个系统内集成多个处理器.广义上说,使用多台计算机协同工作来完成所要求的任务的计算机系统都是多处理机系统。
即多计算机系统。
狭义上说:多处理机系统的作用是利用系统内的多个CPU来并行执行用户的几个程序,以提高系统的吞吐量或用来进行冗余操作以提高系统的可靠性。
同构计算机的特点:1.每个节点是一台计算机,包含CPU和存储器。
2.节点间的通信量较少。
3.同构计算机系统的互连有两种结构:基于总线的多计算机系统和基于交换的多计算机系统。
异构计算机的特点:1.节点可能是多处理机系统、集群或并行高性能计算机。
2.节点间通过互联网络如Internet连接起来的。
3.有两种实现方法:采用分布式操作系统和中间件软件层。
1.16什么是中间件,它的功能是什么?它在分布式系统中的地位是什么?中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。
中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯,是连接两个独立应用程序或独立系统的软件功能:命名服务作业调度高级通信服务资源管理数据持久化分布式事务分布式文档系统安全服务地位:中间件的一个重要目标是对应用程序隐藏底层平台的异构型,因此中间件系统都提供一组完整度不同的服务集。
这些服务是通过中间件系统提供的接口来调用的。
一般禁止跳过中间件层直接调用底层操作系统的服务。
1.18分布式系统有哪些计算模式?(必考)1.面向对象模式2.面向服务模式3.公用计算模式4.志愿参与模式(详见书p21-p22页)2.5有哪些名字服务形式?名字服务器的组成与功能是什么?名字服务形式:(1)名字服务:名字服务是根据实体的名字查找它的属性(地址)。
计算机网络复习纲要-图文确保及格的复习内容1、计算机网络的定义、与分布式系统的区别、按照网络拓扑结构计算机网络如何分类、按传输技术如何分类、按网络规模如何分类;a.计算机网络的定义:通过同一种技术相互连接起来的一组自主计算机的集合。
b.计算机网络与分布式系统的区别:分布式系统建立在计算机网络上,多台计算机的存在对用户是透明的。
而在网络中用户必须明确地指定在哪一台机器上登录;明确地远程递交任务;明确指定文件传输的源和目的地,还要管理整个网络。
在分布式系统中,不需要明确地指定这些内容,系统会自动地完成而无须用户的干预。
两者的区别更多地取决于软件(尤其是操作系统)而不是硬件。
c.按照拓扑结构分类:广播式网络拓扑,点对点网络拓扑。
按传输技术如何分类:传输技术:广播式网络,点对点网络广播式网络:仅有一条通信信道,由网络上的所有机器共享。
可进行一对一通信或一对多通信。
点对点网络:由一对对机器之间的多条连接构成。
规模分类——连接距离:局域网,城域网,广域网,互联网。
2、OSI七层模型和TCP/IP四层模型的特点、每层的功能;OSI参考模型每一层的名称和功能?物理层:涉及到在通信信道上传输原始比特流的问题。
在设计时,需要解决如下问题:机械连接,如网络连接器有多少针以及每一针的用途;电气特性,如多少伏表示比特1以及每一比特位持续多长时间等;功能特性,如对控制信息的的比特流表示形式的规定;通信规程,如传输过程是否在两个方向同时进行、初始连接如何建立、通信后如何撤销等。
数据链路层:主要任务设法将不可靠的物理传输线路变成可靠的逻辑传输线路,若存在未检测到错误,将会反映到网络层。
为完成上述任务,通常的做法是将需要传输的数据分装成数据帧,每个数据帧都单独带有校验码,然后按顺序传送这些数据帧,接收方通过校验码可知道传输是否出错。
接收方通过为每个数据帧发送一个确认帧,可确保传输的可靠性,若出错,可通过重传纠错或前向纠错。
流量控制也是此层需要考虑的问题,它可避免快速的发送方淹没慢速的接收方。
第三章运输层3.1概述:1,运输层协议为不同主机上的应用进程彼此之间提供了逻辑通信.2,运输层协议是在端系统而不是网络中的路由器中实现的。
也只工作在端系统。
中间路由器既不识别也不处理运输层加载应用层报文的任何信息。
3,网络应用程序可以使用多种运输层协议。
因特网有TCP和UDP两种运输层协议。
4,运输层位于网络层之上,为运行在不同主机上的应用程序之间提供了逻辑通信;而网络层则提供了主机之间的逻辑通信。
5,运输层提供的服务受到了底层网络协议的服务模型的限制。
6,因特网的网络层协议IP协议的服务模型是尽力而为的服务,它不做任何确保,不保证报文段的按序交付,更不保证报文段中的数据完整性。
是不可靠服务7,TCP和U DP最基本的任务是,将两个端系统间IP的交付服务扩展为运行在两个端系统上的进程之间的交付服务。
8,运输层的多路复用与多路分解:将主机间交付扩展到进程间交付。
9,进程间数据交付和差错检查是两种最低限度的运输层服务。
也是UDP所能提供的仅有的两种服务。
10,TCP通过流量控制、序号、确认和定时器等技术,能抱着正确而有序地将数据从发送进程交付给接收进程。
TCP还提供拥塞控制功能。
3.2 多路复用与多路分解1,接收主机中的运输层实际上并没有把数据直接交付给进程,而是通过一个中间的套接字来传递;每个套接字都有唯一的标识符,其格式决定了它是UDP还是TCP套接字。
2,多路分解demultiplexing:将运输层报文段中的数据交付到正确的套接字的工作。
运输层通过检查每个运输层报文段的几个字段来标识套接字,然后将报文段定向到该套接字。
多路复用multiplexing:从在源主机的不同套接字中收集数据,并为每个数据块封装上首部信息(在多路分解时使用)从而生产报文段,然后将报文段传递到网络层的工作。
多路复用的要求:1,套接字有唯一的标识符;2,每个报文段有特殊字段来指示该报文段所要交付的套接字。
这些特殊字段是源端口号字段(作为“返回地址”的一部分,在回发报文段时使用)和目的端口号字段。
第三章运输层3.1概述:1,运输层协议为不同主机上的应用进程彼此之间提供了逻辑通信.2,运输层协议是在端系统而不是网络中的路由器中实现的。
也只工作在端系统。
中间路由器既不识别也不处理运输层加载应用层报文的任何信息。
3,网络应用程序可以使用多种运输层协议。
因特网有TCP和UDP两种运输层协议。
4,运输层位于网络层之上,为运行在不同主机上的应用程序之间提供了逻辑通信;而网络层则提供了主机之间的逻辑通信。
5,运输层提供的服务受到了底层网络协议的服务模型的限制。
6,因特网的网络层协议IP协议的服务模型是尽力而为的服务,它不做任何确保,不保证报文段的按序交付,更不保证报文段中的数据完整性。
是不可靠服务7,TCP和U DP最基本的任务是,将两个端系统间IP的交付服务扩展为运行在两个端系统上的进程之间的交付服务。
8,运输层的多路复用与多路分解:将主机间交付扩展到进程间交付。
9,进程间数据交付和差错检查是两种最低限度的运输层服务。
也是UDP所能提供的仅有的两种服务。
10,TCP通过流量控制、序号、确认和定时器等技术,能抱着正确而有序地将数据从发送进程交付给接收进程。
TCP还提供拥塞控制功能。
3.2 多路复用与多路分解1,接收主机中的运输层实际上并没有把数据直接交付给进程,而是通过一个中间的套接字来传递;每个套接字都有唯一的标识符,其格式决定了它是UDP还是TCP套接字。
2,多路分解demultiplexing:将运输层报文段中的数据交付到正确的套接字的工作。
运输层通过检查每个运输层报文段的几个字段来标识套接字,然后将报文段定向到该套接字。
多路复用multiplexing:从在源主机的不同套接字中收集数据,并为每个数据块封装上首部信息(在多路分解时使用)从而生产报文段,然后将报文段传递到网络层的工作。
多路复用的要求:1,套接字有唯一的标识符;2,每个报文段有特殊字段来指示该报文段所要交付的套接字。
这些特殊字段是源端口号字段(作为“返回地址”的一部分,在回发报文段时使用)和目的端口号字段。
计算机网络技术复习提纲一、计算机网络的基本概念1、计算机网络的基本概念及发展a.计算机网络的定义和分类b.计算机网络的发展历程和趋势2、计算机网络体系结构a. OSI参考模型b. TCP/IP模型c.应用层协议二、局域网技术1、局域网的基本概念和特点2、以太网(Ethernet)a.以太网的标准和类型b.以太网的物理层和数据链路层c.以太网的帧格式和传输机制3、令牌环网(Token Ring)a.令牌环网的原理和特点b.令牌环网的物理层和数据链路层c.令牌环网的帧格式和传输机制4、无线局域网(WLAN)a. WLAN的原理和标准b. WLAN的拓扑结构和传输机制c. WLAN的安全性和隐私保护三、网络互联技术1、网络互联的基本概念和协议2、IP和子网掩码a. IP的分类和格式b.子网掩码的作用和应用c.私有IP和动态IP3、路由器和路由协议a.路由器的功能和工作原理b.路由协议的种类和特点c. RIP、OSPF和BGP等常用路由协议的应用和配置4、交换机和交换技术a.交换机的功能和工作原理b.交换技术的种类和应用场景c. VLAN、Trunking和Spanning Tree等技术的应用和配置四、 Internet技术及应用1、Internet的基本概念和发展历程2、WWW服务与HTTP协议3、DNS服务与域名解析4、FTP服务与文件传输5、E-mail服务与邮件传输6、Telnet服务与远程登录计算机操作系统复习提纲一、引言计算机操作系统是计算机系统中的核心组成部分,负责管理和协调计算机硬件和软件资源的运行。
它扮演着“桥梁”的角色,沟通了硬件和应用程序之间的,为用户提供了便利的接口。
操作系统的重要性不容忽视,它是理解计算机体系结构、管理资源、实现系统安全和高效运行的关键。
二、操作系统的基本概念和功能1、基本概念:包括进程、线程、资源、系统调用等。
2、功能:操作系统的主要功能包括处理机管理、内存管理、文件管理、设备管理和用户接口管理等。
计算机网络技术复习提纲计算机网络技术复习提纲一、计算机网络基础知识1.网络概述1.网络的定义2.网络的分类1.局域网(LAN)2.城域网(MAN)3.广域网(WAN)3.重要的网络标准与协议1.TCP/IP协议族2.OSI参考模型3.HTTP协议4.DNS协议2.网络拓扑结构1.总线型拓扑2.星型拓扑3.环形拓扑4.树型拓扑5.网状拓扑3.网络设备与组成1.网络硬件设备1.网卡2.集线器3.交换机4.路由器5.网关6.防火墙2.网络软件组成1.网络操作系统2.网络协议3.应用程序二、物理层1.通信基础知识1.码元、信号与速率2.传输媒介1.双绞线2.同轴电缆3.光纤2.数据通信原理1.串行传输和并行传输2.数据传输的方式1.单工传输2.半双工传输3.全双工传输3.香农定理与数据压缩1.香农定理的定义与公式2.数据压缩的方法与算法 4.错误检测与纠正1.奇偶校验2.CRC3.海明码三、数据链路层1.数据链路层的作用与功能2.帧封装与解封装3.点对点协议(PPP)4.以太网协议1.MAC地质2.以太网帧结构3.以太网交换机5.局域网的划分与拓扑1.以太网技术2.令牌环技术3.Token Bus技术6.虚拟局域网(VLAN)1.VLAN的概念与作用2.VLAN的配置与管理四、网络层1.网络层的作用与功能2.网际协议(IP)1.IP地质的分类与表示方法2.子网划分与子网掩码3.路由器与路由表1.路由器的工作原理2.路由表的建立与更新4.路由选择协议1.静态路由选择2.动态路由选择1.RIP协议2.OSPF协议3.BGP协议五、传输层1.传输层的作用与功能2.传输层协议1.TCP协议1.连接建立与断开2.可靠传输机制3.流量控制与拥塞控制 2.UDP协议1.无连接传输2.非可靠传输六、应用层1.应用层协议1.HTTP协议2.FTP协议3.SMTP协议4.DNS协议2.网络安全与加密1.防火墙与网络安全2.数据加密与解密3.数字证书与SSL/TLS协议附件:相关案例分析、图表和实验结果等内容详见附件。
《网络和分布式计算》期末考试试卷附答案一、选择题(每题5分,共25分)1. 以下哪个不是TCP/IP模型的层?- A. 链路层- B. 网络层- C. 传输层- D. 应用层答案:A2. OSI七层模型中,哪一层负责数据包的传输和路由选择?- A. 应用层- B. 传输层- C. 网络层- D. 链路层答案:C- A. GET- B. POST- C. PUT- D. DELETE答案:A4. 分布式系统中,如何实现节点之间的通信?- A. 通过中心节点进行通信- B. 每个节点维护一个完整的系统状态- C. 节点之间相互通信,共同维护系统状态- D. 节点之间不进行通信答案:C5. 在分布式计算中,哪一种技术可以提高系统的容错性?- A. 冗余存储- B. 数据备份- C. 一致性哈希- D. 进程间通信答案:A二、填空题(每题5分,共25分)1. OSI七层模型中,_________层负责网络设备之间的互联和数据传输。
答案:网络2. _________协议是一种面向连接的、可靠的传输层协议。
答案:TCP3. 分布式系统中的数据一致性可以通过_________来实现。
答案:一致性协议4. _________是一种分布式存储技术,可以将数据分布到多个节点上。
答案:分布式文件系统5. 在_________算法中,每个节点通过交换信息来达成共识。
答案:Paxos三、简答题(每题10分,共30分)1. 请简要描述TCP/IP模型的四层及其作用。
2. 请简要介绍分布式系统的特点和挑战。
答案:分布式系统的特点包括节点之间相互独立、无中心控制、容错性强等。
其面临的挑战主要包括数据一致性、节点间的通信、负载均衡、故障处理等。
3. 请简要解释一致性哈希算法的工作原理及其优势。
答案:一致性哈希算法是一种用于分布式系统中的数据一致性协议。
它将数据块的标识符映射到环状的哈希空间上,并通过哈希值来确定数据块在各个节点上的位置。
一、概念总结:1.因特网的描述:a)描述因特网的具体构成,即构成因特网的基本硬件和软件组成;b)根据为分布式应用提供服务的网络基础设施来描述因特网2.端系统通过通信链路和分组交换机连接在一起。
3.从发送端系统到接收端系统,一个分组所经历的一系列通信链路和分组交换机称为通过该网络的路径。
4.一个协议定义了在两个或多个通信实体之间交换的报文格式和次序,以及在报文传输和/或接收或其他事件方面所采取的动作。
5.与因特网相连的计算机等设备通常称为端系统(主机)。
因为它们位于因特网的边缘,故而被称为端系统。
包括:桌面计算机、服务器和移动计算机。
6.客户机程序是运行在一个端系统上的程序,它发出请求,并从运行在另一个端系统上的服务器程序接收服务。
客户机-服务器因特网应用程序是分布式应用程序。
7.接入网即将端系统连接到其边缘路由器的物理链路。
边缘路由器是端系统到任何其他远程端系统的路径上的第一台路由器。
8.网络接入大致可分为三个类型:a)住宅接入将家庭端系统与网络相连b)公司接入将商业或教育机构中的端系统与网络相连c)无线接入将移动端系统与网络相连9.宽带住宅区接入有两种常见类型:数字用户线(digital subscriberline , DSL)和混合光纤同轴电缆(hybrid fiber-coaxial , HFC)HFC一个重要特征是它共享广播媒体。
10.物理媒体划分为两类:导引型媒体(电波沿着固定媒体被导引)和非导11.通过网络链路和交换机移动数据有两种基本方法:电路交换和分组交换。
12.在现代计算机网络中,源主机将长报文划分为较小的数据块,并称之为分组。
在源和目的之间,这些分组中的每个都通过通信链路和分组交换机传送。
分组以该链路的最大传输速率在通信链路上传输。
多数分组交换机在链路的输入端使用存储转传输机制。
存储转发传输机制,是指在交换机能够开始向输出链路传输该分组的第一个比特之前,必须接受到整个分组。
1.1什么是服务、协议、实体?协议定义了格式,网络实体间发送和接收报文顺序,和传输,收到报文所采取的动作。
三要素:<1>语法:规定信息格式<2>语义:明确通信双方该怎样做<3>同步:何时通信,先讲什么后讲什么,通信速度等。
1.2网络边缘:什么是无连接服务,面向连接?<1>无连接服务:不要求发送方和接收方之间的会话连接<2>面向连接:在发送任何数据之前,要求建立会话连接1.3电路交换和分组交换的区别,分组交换分为哪两种?电路交换技术:很少用于数据业务网络,主要是因为其资源利用效率和可靠性低。
分组交换技术:通过统计复用方式,提高了资源利用效率。
而且当出现线路故障时,分组交换技术可通过重新选路重传,提高了可靠性。
而另一个方面,分组交换是非面向连接的,对于一些实时性业务有着先天的缺陷,虽然有资源预留等一系列缓解之道,但并不足以解决根本问题。
而电路交换技术是面向连接的,很适合用于实时业务。
同时,和分组交换技术相比,电路交换技术实现简单且价格低廉,易于用硬件高速实现。
分组交换:<1>数据报方式:在目的地需要重新组装报文。
优点:如有故障可绕过故障点、:不能保证按顺序到达,丢失不能立即知晓。
<2>虚电路方式:在数据传输之前必须通过虚呼叫设置一条虚电路。
它适用于两端之间长时间的数据交换。
优点:可靠、保持顺序;缺点:如有故障,则经过故障点的数据全部丢失。
1.4物理媒介无线:无线电波,激光,微波 有线:双绞线,同轴电缆,光纤1.5分组电路交换中的时延(传输+处理+传播),每一个时延计算时延和丢包产生的原因:分组在路由器缓存中排队:分组到达链路的速率超过输出链路的能力;分组时延的四种来源:<1>节点处理 <2>排队<3>传输时延:R= 链路带宽 (bps) L= 分组长度 (比特) 发送比特进入链路的时间= L/R<4>传播时延:d = 物理链路的长度 s = 在媒体中传播的速度 (~2x108 m/sec)传播时延 = d/sdproc = 处理时延 通常几个微秒或更少dqueue = 排队时延 取决于拥塞dtrans = 传输时延= L/R 对低速链路很大dprop = 传播时延 几微秒到几百毫秒a= 平均分组到达速率流量强度 = La/RLa/R ~ 0: 平均排队时延小La/R -> 1: 时延变大La/R > 1: 更多“工作”到达,超出了服务能力,平均时延无穷大!1.6什么是计算机网络体系结构?TCP/IP 模型:prop trans queue proc nodal d d d d d +++=应用层: 支持网络应用为用户提供所需要的各种服务运输层: 为应用层实体提供端到端的通信功能。
第一章1、计算机网络在信息时代中的作用21 世纪的一些重要特征就是数字化、网络化和信息化,它是一个以网络为核心的信息时代。
计算机网络可使用户能够迅速传送数据文件,以及从网络上查询并获取各种有用资料,包括图像和视频文件。
2、报文交换和分组交换的特点●整个报文先传送到相邻节点,全部存储下来后查找转发表,转发到下一个结点,优点:报文交换传输时延最大。
● 单个分组(这只是整个报文的一部分)传送到相邻结点,存储下来后查找转发表,转发到下一个结点,优点:分组交换具有高效、灵活、可靠等优点。
但传输时延较电路交换要大,不适用于实时数据业务的传输。
3、 计算机网络的体系结构分层的目的可将庞大而复杂的问题,转化为若干较小的问题,而这些较小的局部问题就比较容易研究和处理传输单元协议数据单元PDU :对等层次之间传送的数据单位(层与层之间交换的数据的单位称为服务数据单元SDU)协议的含义,要素协议:是为进行网络中的数据交换而建立的规则、标准由以下三个要素组成:(1)语法:即数据与控制信息的结构或格式。
(2)语义:即需要发出何种控制信息,完成何种动作以及做出何种响应。
(3)同步:即事件实现顺序的详细说明。
TCP/IP 的分层以及各层的功能和特征答:所谓五层协议的网络体系结构是为便于学习计算机网络原理而采用的综合了OSI 七层模型和TCP/IP 的四层模型而得到的五层模型。
各层的主要功能:应用层向用户提供数据加上编码和对话控制。
运输层的任务是支持不同不同设备间通过不通网络通信。
INTERNET 层任务是确定该网络的最佳路径。
网络接入层是控制组成网络的硬件设备和介质。
4、 数据的封装和解封??封装:当数据从一台主机上的应用程序发送另一台主机上的应用时,主机上的网络软件从应用中取出数据,并根据物理网络上的传输需要进行转换这个过程包括:将数据转换成数据段,用包含逻辑网络地址的头信息封装数据段(即将数据段转换成分组的过程),用包含物理地址的头信息封装分组并把分组转换成帧,将帧编码为比特。
了解基本的术语:分布式计算,集中化计算,Java程序,Java线程。
理解分布式计算和集中计算的区别(第1章)掌握概念,类型,典型的API,事件同步(死锁和超时),活动图和IPC的顺序图。
(第2章)掌握各种分布式计算模式的概念和原则,包括消息传递,客户机/服务器,消息系统(message system),Peer-to-Peer,RPC,RMI,ORB,网络服务,对象空间,移动代理,协同应用,并特别注意它们之间的区别。
(第3章)了解数据报套接字API和流模式套接字API,特别关注他们的区别以及理解编程并使用它们。
特别需要了解和掌握通信面向连接的套接字(流模式的套接字)的过程(第4章)掌握客户端-服务器模式的概念和原则和三层软件架构,并特别注意面向连接和无连接服务器的区别,迭代服务器和并发服务器的区别,状态服务器和无状态服务器之间的区别。
利用掌握的回声和Daytime协议的实施三层软件体系结构(包括UML类图)。
(第5章)了解单播和组播,可靠组播分类。
(第6章)了解分布式对象体系结构,Java RMI架构,RMI应用开发和先进的功能(包括客户端回调,短线下载和安全管理器)。
具体而言,需要掌握开发RMI应用。
(CHAP 7&8)理解HTTP协议(HTTP请求和响应格式),通用网关接口(包括原理和Web窗体的方法),网络会议和为维护会话状态数据(隐藏表单域和机cookie)。
(第9章)掌握applet,servlet,Web service和SOAP的概念和原则。
特别要注意其中的servlet,web service和RMI的差异。
付特别要注意的CGI和servlet之间的差异。
(第11章)二。
测试样题答:填空题答案:1,请给5种的分布式计算范型:(1)消息传递(2)_客户-服务器范型(3)peer-to-peer范型(4)消息系统模式(5)远程过程调用模式。
2,分布式计算的核心技术是(1)___进程间通信_____3,当通信是从一个过程到一个单一的其它过程时,IPC被说成是一个(1)_单播__。
1.2 什么是分布式计算系统?它的实质是什么?分布式计算系统是由多个相互连接的计算机组成的一个整体,这些计算机在一组系统软件(分布式操作系统或中间件)环境下,合作执行一个共同的或不同的任务,最少依赖于集中的控制过程、数据和硬件。
实质:分布计算系统=分布式硬件+分布式控制+分布式数据。
1.10多处理机与多计算机的区别是什么?同构多计算机和异构多计算机各有什么特点?区别:多计算机是将多个计算机联合起来处理问题,多处理机是在一个系统内集成多个处理器.广义上说,使用多台计算机协同工作来完成所要求的任务的计算机系统都是多处理机系统。
即多计算机系统。
狭义上说:多处理机系统的作用是利用系统内的多个CPU来并行执行用户的几个程序,以提高系统的吞吐量或用来进行冗余操作以提高系统的可靠性。
同构计算机的特点:1.每个节点是一台计算机,包含CPU和存储器。
2.节点间的通信量较少。
3.同构计算机系统的互连有两种结构:基于总线的多计算机系统和基于交换的多计算机系统。
异构计算机的特点:1.节点可能是多处理机系统、集群或并行高性能计算机。
2.节点间通过互联网络如Internet连接起来的。
3.有两种实现方法:采用分布式操作系统和中间件软件层。
1.16什么是中间件,它的功能是什么?它在分布式系统中的地位是什么?中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。
中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯,是连接两个独立应用程序或独立系统的软件功能:命名服务作业调度高级通信服务资源管理数据持久化分布式事务分布式文档系统安全服务地位:中间件的一个重要目标是对应用程序隐藏底层平台的异构型,因此中间件系统都提供一组完整度不同的服务集。
这些服务是通过中间件系统提供的接口来调用的。
一般禁止跳过中间件层直接调用底层操作系统的服务。
1.18分布式系统有哪些计算模式?(必考)1.面向对象模式2.面向服务模式3.公用计算模式4.志愿参与模式(详见书p21-p22页)2.5有哪些名字服务形式?名字服务器的组成与功能是什么?名字服务形式:(1)名字服务:名字服务是根据实体的名字查找它的属性(地址)。
(2)目录服务:目录服务既可以根据实体的名字查找实体的属性,当不知道实体名时也可以根据实体的一个或多个属性及其值查找并得到一个匹配这些属性的实体列表。
(3)合约服务:是一种增强的目录服务,通过技术规范来定位一个命名实体。
名字服务器组成:(1)名字服务器操作:管理、查询操作和行政管理。
增加、删除和修改上下文的目录项。
访问优先权。
(2)名字解析:根据名字解析请求,得到被解析对象地址。
(3)缓存:缓存名字查询和解析的结果。
(4)多副本管理:副本修改和副本一致性维护。
(5)通信:客户端的名字代理通信和名字服务器之间(6)数据库:存放名字解析上下文或其子域。
名字服务器功能:管理名字解析上下文、实现名字查询与解析和其它名字服务器通信协调。
2.7什么是迭代名字解析,什么是递归名字解析,它们各有什么优缺点?迭代名字解析:建议考试画图解释:递归名字解析:也画图解释各自优缺点:递归名字解析缺点:要求每台名字服务器具有较高的性能。
递归名字解析优点:1.递归名字解析过程中,各名字服务器解析的缓存结果使用更为高效。
2.如果主机与服务器距离很远,那么采用递归名字解析将更为高效。
迭代的优缺点与上面相反。
2.14什么是目录服务?目录项和属性及属性值的关系是什么?目录服务:目录服务既可以根据实体的名字查找实体的属性,当不知道实体名时也可以根据实体的一个或多个属性及其值查找并得到一个匹配这些属性的实体列表。
关系:目录项是一个命名对象的信息集合。
每个命名对象包括若干个属性,每个属性有一个属性类型和相应的一个或多个属性值。
2.18轻量数据访问协议LDAP和目录访问协议DAP的关系和区别是什么?1.LDAP的最初目标是向用户提供目录服务时避免DAP的大量开销。
2.LDAP的操作集对DAP做了简化,删除了read和list操作,用search代替。
3.DAP是目录用户代理(DUA)与目录系统代理(DSA)之间的请求/响应协议。
LDAP是用户用来访问目录服务的一个协议。
4.建议再回答下LDAP的模型:3.7什么是远程执行逻辑机模型?对逻辑机模型的要求是什么?概念:建议画图。
要求:(1)远程进程必须能访问驻留在源计算机上的文件系统。
(2)远程进程能接收逻辑机内任何进程发来的信号,也能将信号提供给逻辑机内任何进程。
(3)进程组保持在逻辑机内。
(4)基于树型的进程父子关系在逻辑机内必须得以保持。
3.13何为异步进程迁移算法?何为同步进程迁移算法?它们的优缺点是什么?异步进程迁移算法:这类算法允许非迁移进程在迁移过程中继续运算,只有迁移进程被中断进行相关的操作。
优点:可以得到较好的执行效率。
缺点:和原有环境的兼容性不好,不能方便的移植。
同步迁移算法:这类算法在迁移过程中所有进程(包括非迁移的协同进程)都被挂起,进程之间需要同步来清空通信信道中的中途消息,所有进程均要阻塞等待迁移事件完成后,才能从中断处继续运行。
优点:算法简单,具有较好的可移植性和易于实现。
缺点:需要中央控制管理进程参与,所有进程都被迫中断,等待迁移过程的结束。
3.15比较进程远程执行与进程迁移两种机制。
进程远程执行的要求:(1)寻找管理机制。
(2)进程远程执行是透明的,应与位置无关。
(3)主人优先原则进程的迁移可以支持:(1)动态系统管理与维护(2)动态负载平衡(load balancing),系统中重负载处理机转移一部分负载到轻负载的处理机上运行,使得整个集群系统中的所有处理机的负载趋向均衡,从而提高系统的整体运行效率。
(3)系统容错(4)主人优先使用原则注:此题我未找到较好的答案。
4.1在水平时间轴上表示阻塞发送/接收和非阻塞发送/接收进程与操作系统内核之间操作的时间关系。
没有具体答案,先方便理解一下阻塞和非阻塞:阻塞和非阻塞关注的是程序在等待调用结果(消息,返回值)时的状态.阻塞调用是指调用结果返回之前,当前线程会被挂起。
调用线程只有在得到结果之后才会返回。
非阻塞调用指在不能立刻得到结果之前,该调用不会阻塞当前线程。
例子:你打电话问书店老板有没有《分布式系统》这本书,你如果是阻塞式调用,你会一直把自己“挂起”,直到得到这本书有没有的结果,如果是非阻塞式调用,你不管老板有没有告诉你,你自己先一边去玩了,当然你也要偶尔过几分钟check 一下老板有没有返回结果。
这个图不知道对不对:4.2试叙述如何实现阻塞发送/接收和非阻塞发送/接收,对操作系统有什么要求?通过发送原语send和接收原语receive实现要求操作系统能实现4种不同的可靠性语义。
至少一次:保证正确完成消息传送至少一次至多一次:保证正确完成消息传送至多一次。
在没有节点崩溃和网络断开情况下,它只正确地执行一次消息传送。
事务语义:它保证消息的原子性。
不管节点崩溃或网络端口与否,它或者完成一次消息传送,或者什么也不做。
精确一次:无论在什么情况下,保证正确完成一次消息传送,不管是否有节点崩溃或网络断开,它接近某种程度的容错机制。
4.4对以下每个应用程序,你认为“至多一次”和“至少一次”语义哪个最好?(1)在文件服务器上读写文件:至少一次。
(2)银行服务:至多一次(3)编译一个程序:至少一次4.9什么是因果定律?它和FIFO全定序相比,哪个更严格?因果定律:不管含有因果关系的消息是由同一个发送进程多播,还是不同发送进程多播,所有接收进程要保证先接收“因”消息,后接收“果”消息。
FIFO:对同一个发送进程发出的多播消息,要求所有接收进程按发送的顺序接收,而对不同发送进程的多播消息可按不同顺序接收。
相比之下,因果排序更严格。
4.12RPC被认为是分布式最初的中间件,它能实现分布式系统的透明性吗?p92 在RPC过程中,客户可以简单的忽略不关心的内容,客户并不直接执行send和receive原语,也不关心消息的传递,所有这些都隐藏在桩中,从而实现RPC的透明性。
建议;本题虽然已完,但最好将RPC的基本操作看一遍。
5.7Richart_Agrawala算法如何改进了Lamport算法,它的优点是什么?(必考)Lamport算法的开销是3(N-1)个消息,Richart算法只要2(N-1)个消息,N是竞争资源的进程数。
Lamport算法前2步:1.Pi 资源请求消息Request(Ti :P i)发送2.Pj收到Request(T i:P i),按T顺序置于其消息队列,如果没有资源请求或请求时间晚于收到消息的时间戳,回应Reply(T j:P j)Richart算法前2步:1.Pi 资源请求消息Request(Ti :Pi)发送2.Pj收到Request(Ti:Pi),按T顺序置于其消息队列如果没有资源请求或请求时间晚于收到消息的时间戳,回应Reply(Tj:Pj);否则推迟返回应答消息进程从临界区退出,向需要请请求资源的进程补发应答消息标红处即为改进优点:1.它具有对称性2.具有完全的分布式控制3.对通信链路相对速度的不敏感性5.8比较集中式算法、Ricart_Agrawala算法和令牌算法的开销和问题集中式算法的问题:容易出现单点故障Ricart算法的问题:由于不应答被认为是资源被占用,所以如果有某个节点故障,会导致该算法的异常终止。
同时各进程对资源的使用情况缺乏了解。
令牌算法的问题:检测令牌丢失困难开销:集中式算法开销最大,Richar算法需要2(N-1)个消息,令牌算法最多需要N-1个消息。
5.11共享K个相同资源的互斥算法和Ricart_Agrawala算法的共同点和区别是什么?相同点:基于相同的概念,每个竞争进程都维持一个推迟应答数组RD[],数组元素是表示相应进程是否推迟发出应答消息。
区别:1.应答消息到达的环境。
在Ricart算法中,正在等待进入临界区的进程要得到N-1个应答消息。
在共享K个相同资源的互斥算法中,N-K个应答消息是在进程等待时到达,K-1个消息是进程已在临界区或等待进入临界区或离开临界区后到达。
2.在Ricart算法中,其他竞争进程推迟应答数组的每一项RD[i]是布尔型,因为应答只能是一个,或是推迟,或是不推迟。
在共享K个相同资源的互斥算法中,可能有多个应答消息被推迟,这样RD[i]应声明为整数型。
5.13在基于事件优先权算法中,如何保证低优先权的进程有机会进入临界区,而不挨饿。
没找到答案,不敢乱写。
8.2图8.1(b)为什么违背严格一致性?因为B读到的不是a,而是数据项x的初值null,客户A的写操作没有立即传播到B,未能及时完成对副本的修改。
8.3图8.2(b)为什么违背顺序一致性?因为进程C看到数据项x是先写a后写b,而进程D看到数据项x是先写b后写a。