分布式期末复习题

概述题

1.分布式系统的定义?如何从硬件和软件的角度理解分布式系统的内容?
  答:分布式系统是若干独立计算机的集合,但对用户来说是一个统一的系统。

2.分布式系统的设计的四个关键目标?
  答:资源可用性、分布式透明性、开放性、可伸缩性

3.事务处理具有的四个特性?
  答:1.原子性:事务在逻辑上是不可分割的操作单元;2.一致性:事务处理不会违反系统的不变性;3.隔离性:事务的执行不受其他事务的干扰,事务执行的中间结果对其他事务必须是透明的;4.持久性:对于任意已提交的事务,必须保证该事务对系统的改变不被丢失,即使系统出现故障。

体系结构

1.分布式系统的体系结构有哪几种?简要解释。
  答:1.集中式;2.非集中式;3.混合式。 集中式体系结构有C/S架构、服务器兼职客户端架构、多客户端/单服务器架构、多客户端/多服务器架构。C/S架构分为客户端和服务端,服务端实现特定的存储或计算的服务进程,客户端遵循请求和回复的方式来向服务端请求服务;服务端兼职客户端架构就是一台服务器既会担任客户端的角色又会担任服务端的角色;多客户端/单服务器架构是指多台客户端向单台服务器请求服务;多客户端/多服务器架构是指服务会有多台服务器来提供,根据服务方式又有,多台服务器协作提供一个服务和多台服务器各自提供相同的服务。集中式体系结构一般分为:用户结构层、处理层和数据层。
  非集中式体系结构中没有单一的划分客户端和服务器角色,每个节点作为客户的同时又会向其他节点提供服务。比如P2P和超级对等体,P2P又可以分为结构化、非结构化和混合式。
  混合式体系结构是C/S架构和P2P架构的融合,有经常用于内容分发网络的边界服务器系统,以及BitTorrent等。

进程

1.什么是进程?进程、程序的区别?
  答:进程是计算机程序关于某数据集合上的一次运行活动,是系统进行资源分配的最小单位,是操作系统结构的基础。
  计算机程序是一组计算机能识别和执行的指令,运行于电子计算机上,是由某种程序设计语言编写的一串静态代码以及相应的数据。
  一个进程可以执行多个程序,一个程序可以产生多个进程。

2.为什么要引入线程,分布式系统中进程和线程的联系与区别?
  答:对于分布式系统而言,使用进程就意味着有可能需要频繁的发生上下文切换,并且系统对于进程的创建、管理和维护要承担较大的负担,此时引入的线程可以有效解决这个问题,另外,线程提供了一种便捷的方式允许导致阻塞的系统调用而不阻塞该线程所属的进程,这样可以方便地将通信表示为维护多个逻辑连接的形式。
  一个线程只能属于一个进程,而一个进程可以创建多个线程;线程本身不拥有资源,资源分配给进程,该进程所属的所有线程共享该进程的所有资源;对于多处理器系统而言,一个进程只能在一个处理器上执行,但可以将一个进程中的多个线程分配到多个处理器上进行并行执行;线程是进程的一个可执行实体,是CPU调度和分派的基本单位;在创建、管理、撤销方面,进程由于作为拥有资源的基本单位会导致其系统开销远远大于线程的系统的开销,不恰当地说,线程是轻量版的进程。

3.用户级线程的主要优势和缺陷?如何解决它的缺陷?
  答:用户级线程是指不需要内核支持,而用户程序可以自行创建的线程,不依赖于操作系统核心。用户级线程有创建、管理、撤销的开销很小,而且可以通过简单地几条指令来实现上下文切换,可以在不支持线程的操作系统中实现,允许每个进程定制自己调度算法、管理灵活,线程能够利用的表空间和堆栈空间比内核级线程多;但是对引起阻塞的系统调用的调用会阻塞该线程所属的整个进程,也即,该进程所属的其他线程也随之阻塞。
  系统将多个轻型进程(LWP)分给进程,LWP可以通过系统调用来获得内核提供的服务,而进程中的用户级线程可通过复用来关联到LWP,从而获取内核服务,这样当某个用户级线程阻塞时,可切换到其他LWP,就不会导致整个进程被阻塞挂起。

4.有状态服务器、无状态服务器?对于状态无关的服务器使之维持状态的方法?
  答࿱

  • 6
    点赞
  • 77
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值