分布式系统论文.docx
《分布式系统论文.docx》由会员分享,可在线阅读,更多相关《分布式系统论文.docx(10页珍藏版)》请在冰豆网上搜索。
分布式系统论文
论文
题目:
分布式和分布式操作系统简介
学院:
计算机科学与工程学院
专业:
计算机科学与技术
班级:
计算机科学与技术师范
(1)班
学生姓名:
******
学号:
************
指导教师:
*****
摘要:
分布式操作系统中多任务的分配以及任务调度、负载均衡是实现的难点,其中进程和线程是红丝线任务执行和分配最重要的概念之一。
如何在分布式系统中实现进程与线程的创建以及信息之间的交互是分布式系统设计至关重要的部分。
通过对传统操作系统中进程和线程的实现机理以及比较,进一步论述在分布式操作系统中,如何实现多任务分配,如何在不同主机的进程间进行分配以及进行负载均衡。
关键字:
分布式操作系统;网络操作系统;进程;多任务调度;线程;负载均衡。
一、引言
分布式系统是计算机发展的一个大趋势,目前云计算、云存储的概念已经逐渐落地,实际上云计算就是分布式系统的一个实现。
在分布式系统中,进程(在很多操作系统中也称为任务)是十分重要的概念,是实现任务调度与执行的关键,而线程是轻量级的进程,在响应速度与执行效率上相比进程有很大的改进。
在分布式系统中如何实现多任务执行,如何在分布的主机以及cpu上进行创建和分配,涉及到调度策略。
另外,如何实现分布式系统中进程以及线程间的通信,也是需要重点考虑的问题。
并且关乎分布式系统执行的效率和效果。
我在对分布式操作系统的研究和学习中发现,许多传统单击操作操作系统的概念实际上是可以沿用的,但是由于分布式系统自身的特性决定了,这些概念的复用是需要根据分布式系统进行调整和完善的。
希望通过本文对传统进程与线程的简单分析和比较,从而探讨如何在分布式环境中对多任务进行负载均衡。
二、分布式系统概述
计算机系统正在经历着一场革命。
从1945年现代计算机时代开始到1985年前后,计算机是庞大而又昂贵的。
即使是微型机,通常也每台价值数万美元。
因此,大多数机构只有少数的几台计算机,同时,由于缺乏一种把它们连接起来的方法,所以这些计算机只能相互独立地运行。
但是,从20世纪80年代中期开始,技术上的两大进步开始改变这种状况。
首先是功能更强的微处理机的开发,开始出现了8位的机型,随后不久16位,32位,甚至64位的CPU也开始普及。
其中许多机器具有较大主机(即,大型机)的计算能力,但价格却只是它的几分之一。
三、分布式系统特点
分布式操作系统是在比单机复杂的多机环境下得到实现的,操作系统在进行任何一项任务的始终都要依赖于通信软件模块,故而分布式操作系统具有区别于单机操作系统的下列显著特点:
(1)具有干预互连的各处理机之间交互关系的责任。
分布式操作系统必须保证在不同处理机上执行的进程彼此互不干扰,并严格同步,以及保证避免或妥善解决各处理机对某些资源的竞争和引起的死锁等问题。
(2)分布式操作系统的控制结构是分布式的。
分布式操作系统一般由内核和实用程序组成。
内核主要负责处理各种中断、通信和调度实用程序。
而实用程序有多个,它们分别完成一部分的系统功能。
由于分布计算机系统由多台计算机组成,分布式操作系统的内核就必须有多个,每台计算机上都应有一个内核,而每台计算机上所配置的实用程序可以各不相同,且可以以多副本形式分布于不同的计算机上。
内核一般由基本部分和外加部分组成。
5'bDH部分主要用来控制外部设备,它根据各台计算机所配置的外部设备而定。
各台计算机的内核的基本部分是相同的,它运行于硬件之上,是一种具有有限功能的较小的操作系统内核,主要作用是让系统管理员以它为基础建立操作系统,其主要功能为进程通信、低级进程管理、低级存储管理、输入/输出管理等。
(3)分布式操作系统按其逻辑功能可分为全局操作系统和局部操作系统两部分。
由于分布式操作系统把资源看成统一的整体来处理,系统基于单一策略来控制和管理,因而在操作系统的设计上要体现出各处理机间的协调一致,整体地去分配任务及公共事务、特殊事务(意外处理、错误捕获等),即把整体性分散于内核和管理程序之中,这一部分称为全局操作系统。
但在每台计算机上的操作系统又有独立于其他机器的管理功能,这一部分称之为局部操作系统。
它主要负责属于本机独立运行的基本管理功能以及本机与其他机器的同步通信、消息发送的事务管理。
这样的划分是为了使各处理机在运行中既具有独立性和一定的自主权,又能保持系统中各机的步调一致并能良好地合作。
(4)分布式操作系统的基本调度单位不是一般系统中的进程,而是一种任务队列,即多个处理机上的并发进程的集合。
多处理机系统以任务级并行为特征。
同一任务队列的各进程可分布在不同的处理机上并行地执行,同一处理机也可执行多个不同的任务队列的进程。
任务队列的各进程或各个任务队列之间都有很复杂的内在联系。
(5)分布式操作系统的组成情况与系统的耦合方式关系很大。
紧耦合的分布式系统中,系统资源的耦合程度很高,需使用专门的各种软件/硬件机制来解决冲突和竞争等问题,在松耦合的分布式系统中,各处理机配有自己的本地资源,系统的重要问题是机问的同步与通信的管理。
(6)分布式操作系统为加强各处理机间的动态协作,借鉴了网络操作系统中的消息传送协议技术,具体采取什么协议则根据系统的互连模式而定。
四、分布式操作系统和网络操作系统
(一)、分布式操作系统
分布式操作系统,用于通信和资源共享的计算机网络中,除了共享文件系统外,用户知道网络中其他计算机的存在,每台计算机拥有自己的操作系统,整个网络并没有整体的协调。
网络操作系统仅仅维护了全局文件系统和用户的帐户信息,并要求客尸和服务器间遵循一致的通信协议而已。
对于应用于集群的分布式操作系统来说,试图让用户感觉不到多台计算机的存在,并提供较高的计算性能和可用性。
因此分布式操作系统(DistributedOperatingSystem)的设计要充分地体现系统的透明性、可靠性和并行性。
透明性让用户感觉到面对的集群就和一台计算机一样是分布式系统设计首要解决的问题,也就是设计透明性的系统,包括:
①位置透明性,使用户不需要关心所使用的系统资源的具体位置是在哪台机器上:
②迁移透明性,使得系统资源可以在系统内任意移动却不影响它们在全局名字空间的名字;③复制透明性,允许系统在多个节点上复制使用频率很高的文件并自动维护文件的一致性,而用户仅感觉到复制文件的存在:
④并发透明性,使得多个用户同时并发请求某资源时可能感觉到系统的迟钝但感觉不到其他用户的存在;⑤并行透明性,使得单个任务被系统并行处理,但用户仅仅感觉到系统的响应比较快而不需要知道并行的存在。
可靠性设计分布式系统的原因之一是因为它能比单处理机系统更加可靠。
当某个机器故障停机时,其他机器能接替它的工作。
可靠性实际包含了:
①可用性(Availability),一般通过冗余关键性的软硬件宋实现,当其中一个失效时,其他的部件能接替工作:
②安全性,分布式系统的安全性问题比单处理机系统远为复杂,防止非法使用文件和其他资源的任务更为艰巨。
2.2.2.3.并行性提供高性能的计算能力是设计分布式系统的一个初衷,但这个目标的达成受到很多的限制,比如通信较慢使得进程的全局调度困难重重。
为了改善通信延迟的影响,通常要减少消息的数目,但为了提高性能,应该让一个任务并行地运行在多个处理器上,这是一对矛盾。
所以,为了提高性能,分布式系统的调度要复杂得多。
对紧耦合的多处理机系统,包括让操作系统内核运行于一个专用处理机上,而其他用户进程运行在其他处理机上的主从式(Master/Slave)系统,操作系统与用户进程同等调度与任意处理机上的多成多处理(SMP)系统,其设计的复杂性介于分布式操作系统和单处理机操作系统之间。
网络操作系统、分布式操作系统和紧耦合多处理机操作系统三者。
(二)、网络操作系统
计算机网络计算机网络是指将若干台计算机用通信线路按照一定规范连接起来,以实现资源共享和信息交换为目的的系统。
计算机网络从诞生到目前为止,其发展历史可以划分为四个阶段:
第一代网络:
面向终端的远程联机系统。
其特点是整个系统里只有一台主机,远程终端没有独立的处理能力,它通过通信线路点到点的直接方式或通过专用通信处理机或集中器的间接方式和主机相连从而构成网络。
在前一种连接方式下主机和终端通信的任务由主机来完成:
而在后一种方式下该任务则由通信处理机和集中器承担。
这种网络主要用于数据处理远程终端,负责数据采集,主机则对采集到的数据进行加工处理,常用于航空自动售票系统、商场的销售管理系统等。
由于终端不具有独立的处理能力,因此这种系统并不是严格意义上的网络。
第二代网络:
以通信子网为中心的计算机通信网。
其特点是系统中有多台主机(可以带有各自的终端),这些主机之间通过通信线路相互连接。
通信子网是网络中纯粹通信的部分,其功能是负责把消息从一台主机传到另一台主机,消息传递采用分组交换技术。
这种网络出现在20世纪60年代后期,1969年由美国国防部高级研究计划局建立的阿帕网(ARPANET)就是其典型代表。
第三代网络:
遵循国际标准化网络体系结构的计算机网络。
其特点是按照分层的方法设一计算机网络系统。
1974年美国IBM公司研制的系统网络体系结构SNA就是其早期代表。
网络体系结构的出现方便了具有相同体系结构的网络用户之间的互连,但同时其局限性也是显然的。
20世纪70年代后期,为了解决不同网络体系结构用户之间难以相互连接的问题,国际标准化组织(1SO)提出了一个试图使各种计算机都能够互连的标准框架,即开放系统互连基本参考模型(OSl)。
该模型包括7层:
物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,模型中给出了每一层应该完成的功能。
20世纪80年代建立的计算机网络多属第三代计算机网络。
第四代网络:
宽带综合业务数字网。
其特点是传输数据的多样化和高的传输速度。
宽带网络不但能够用于传统数据的传输,而且还可以胜任声音、图像、动画等多媒体数据的传输,数据传输速率可以达到几十到几百Mbiffs,甚至达到几十Gbiffs。
第四代网络将可以提供视频点播、电视现场直播、全动画多媒体电子邮件、CD级音乐等网上服务。
作为因特网的发源地,美国在第四代计算机网络的筹划和建设上走在了世界的前列。
1993年9月美国提出了国家信息基础设施(N11)行动计划(Nil又被译为信息高速公路),该文件提出高速信息网是美国国家信息基础结构的5个部分之一,也就是这里所说的宽带综合业务数字网。
现在世界各国都竞相研究和制订建设本国信息高速公路的计划以适应世界经济和信息产业的飞速发展。
现在流行的所谓的因特网(Internet),指的是由遍布全球的许多计算机网络连成的网络(网络的网络)。
它的产生主要分3个过程:
(”阿帕网的诞生:
1969年第一个计算机网络阿帕网诞生,这种计算机网络跨越的地理范围较大,如一个省、一个国家甚至全球,被称为广域网。
(2)以太网的出现:
1973年鲍勃梅·特卡夫(BobMemalfe)在施乐(Xerox)公司发明了以太网(Ethernet),这种计算机网络所跨越的地域较小,如几个办公室、一栋大楼。
今天的以太网已成为局域网的代名词,局域网的传输速率高出阿帕网几千倍,成为中小型单位网络建设较理想的选择。
(3)因特网的产生:
1973年美国斯坦福研究院的文特·瑟夫(VinCerf)提出了关于计算机网络的一个重要概念网关(Gateway),这对最终形成TCP~P(传输控制协议/网际协议)起了决定性的作用,因此他被人们誉为因特网之父。
1974年5月,文特·瑟夫和鲍勃·卡恩BobKahn正式发表了传输控制协议TCP即后来的TCP~P两个协议。
1978年将TCP中的处理分组路由选择部分分割出来,单独形成一个IP协议。
1977年文特·瑟夫和鲍勃·卡恩成功地实现了阿帕网、无线分组交换网络和卫星分组交换网三网互连。
虽说因特网源于阿帕网,但是真正促成因特网形成的则是美国国家科学基金会(NSF)。
1986年主干网使用TCPflP协议的NSF网络建成。
1986年一1991年并入NSF网的网络数从100个增到3000个,1989年NSF网络正式改称为因特网。
五、网络操作系统和分布式操作系统的区别
(1)分布性。
分布式操作系统的处理和控制功能均为分布式的;而网络操作系统虽具分布处理功能,但其控制功能却是集中在某个或某些主机或网络服务器中,即集中式控制方式。
(2)并行性。
分布式操作系统具有任务分配功能,可将多个任务分配到多个处理单元上,使这些任务并行执行,从而加速了任务的执行;而网络操作系统通常无任务分配功能,网络中每个用户的一个或多个任务通常都在本地计算机上处理。
(3)透明性。
分布式操作系统通常能很好地隐藏系统内部的实现细节。
包括对象的物理位置、并发控制和系统故障等对用户都是透明的。
例如,当用户要访问某个文件时,只需提供文件名而无须知道(所要访问的对象)它是驻留在那个站点上,即可对它进行访问,以即具有物理位置的透明性。
网络操作系统的透明性则主要指操作实现上的透明性。
例如,当用户要访问服务器上的文件时,只需发出相应的文件存取命令,而无需了解对该文件的存取是如何实现的。
(4)共享性。
分布式操作系统支持系统中所有用户对分布在各个站点上的软硬件资源的共享和透明方式访问。
而网络操作系统所提供的资源共享功能仅局限于主机或网络服务器中资源,对于其它机器上的资源通常仅有使用该机的用户独占。
(5)健壮性。
分布式操作系统由于处理和控制功能的分布性而具有较好的可用性和可靠性,即健壮性。
而网络操作系统由于控制功能的集中式特点而使系统重构功能较弱,且具有潜在的不可靠性。
六、进程和线程
现代操作系统最基本的构建就是进程。
进程是进行系统资源分配、调度、和管理的独立运行单位,操作系统的各种活动都与进程有关。
每个进程是由私有的虚拟地址空间、代码、数据和其他系统资源组成。
进程在运行时创建的资源随着进程的终止而死亡。
传统的unix进程概念在开发分布式系统应用时已力不从心,这些问题的最好解决办法就是线程,线程推广了进程的概念使进程可以包含多个活动。
如今,由于线程概念的普及,在unix系统中已经普遍实现的线程机制,开发并发应用的程序员现在也可以广泛接触到线程的函数库了。
在传统的unix模型中,当一个进程需要由另一个实体来执行某件事时,它就分开一个子进程,让子进程进行处理。
尽管这种模式已经成功使用多年,但仍暴露出一些问题。
线程通常用在需要比较好的同步操作的场合。
例如,某个问题可以分解为多个几乎对等同步处理的任务的话,则是用线程是很好的选择。
进程则适合应用在不需要严格的同步的场合。
线程之间共享数据很方便,因为不同的线程本来就是共享同样的存储空间。
而不同进程之间共享数据则需要使用ipc机制,例如:
管道、共享内存、套接字等等。
七、分布式操作系统中进程与线程的创建与调度
事实上,当前使用的操作系统都是把任务分割为进程和线程,分时运行在一个处理器中。
这种类似的任务处理方式也可以在很多高性能的应用程序中可以看到,例如:
数据库引擎、科学计算程序、工作站的工程工具和多媒体程序等。
为了增加处理能力,多数操作系统、应用程序都设计为可以在双处理器和多处理器环境中运行,这样可以利用对称多处理结构将进程和线程放到处理器池中进行运算。
通过在一个单芯片中执行两个逻辑cpu,超级线程技术在当前的操作系统和高性能应用中进行进程和线程级的并行处理。
多cpu之间进行进程分配的思路与分布式操作系统中进程与线程的创建和调度类似。
在分布式系统中,一个新进程的创建分为三个步骤:
1.选择一个目标主机。
2.创建一个执行环境。
3.在执行环境中创建线程。
这三个步骤,除了选择目标主机以外,其他两项都与传统的操作系统实现机制相同。
需注意的是,不论分布式操作系统的控制权是如何实现的,或者在每个主机上有备份。
各目标主机中进程的信息,或者在每个主机上有备份。
各目标主机间的通信,以进程级的通信为基础,不同进程间的进程通信,也是通过其主线程进行的。
八、分布式操作系统进程、线程与多任务分配
一个进程中的所有线程都在该进程的虚拟地址空间中,使用该进程的全局变量和系统资源。
操作系统给每个线程分配不同的cpu时间片,在某一时刻cpu只执行一个时间片内的线程,多个时间片中的相应线程在cpu内轮流执行,由于每个时间片很短,所以放佛各个线程在计算机中是并行处理的。
在分布式操作系统中,多个应用程序同时运行可以采用两种方式:
1.协作式多任务方式。
2.带优权的多任务方式。
九、分布式系统优缺点
(一)、优点
1、可以根据应用需要和存取方便来配置信息资源;
2、有利于发挥用户在系统开发、维护和信息资源管理方面的积极性和主动性,提高了系统对用户需求变更的适应性和对环境的应变能力;
3、系统扩展方便,增加一个网络结点一般不会影响其他结点的工作;系统建设可以采取逐步扩展网络结点的渐进方式,以合理使系统统开发所需资源;
4、系统的健壮性好(网络上一个结点出现故障一般不会导致全系统痪)。
(二)、缺点
1、由于信息资源分散,系统开发、维护和管理的标准、规范不易统一;
2、配置在不同地点的信息资源一般分属管理信息系统的各子系统。
不同子系统之间往往存在利益冲突,管理上协调有一定难度;
3、各地的计算机系统工作条件与环境不一,不利于安全保密措施的统一实施。
十、结束语
在分布式操作系统中,实现多任务分配与传统系统的实现机制类似,不同的是,需要在不同主机的进程间进行分配,同时还涉及到多线程的情况。
但是,基本的思路是以进程为基础,进程的负荷平衡就能够保证线程负荷均衡。
具体进程内部的任务分担可以由进程自己实现,机制可以参考传统操作系统的实现。
参考文献:
【1】何炎祥.分布式操作系统【m】.北京:
高等教育出版社,2005:
343-436
指导教师
职称
成绩
评
语
说明:
1.成绩评定均采用五级分制,即优、良、中、及格、不及格。
2.评语内容包括:
学术价值、实际意义、达到水平、学术观点及论证有无错误等。