版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、分布式系统概念与设计-操作系统支持河南理工大学王洋211409020016一、操作系统概念二、中间件和核心操作系统组件三、进程和线程四、分布式系统的资源管理五、操作系统的体系结构六、操作系统的虚拟化一、操作系统概念操作系统是搭在硬件平台上的第一层软件,它负责把系统资源管理起来以便充分发挥它们的作用。它是软硬件资源与用户交互的接口。操作系统系件统软件应用软用户用户1用户n用户2编译程序 汇编程序 正文编辑程序 数据库系统操作系统裸机1.操作系统的发展 手工操作(电子管计算机)批量处理(磁带机)多道程序设计分时系统(主机-终端)实时系统网络系统分布式系统2.网络操作系统和分布式操作系统区别 网络操
2、作系统(NOS)是网络的心脏和灵魂,是向网络计算机提供服务的特殊的操作系统。它在计算机操作系统下工作,使计算机操作系统增加了网络操作所需要的能力。网络操作系统严格来说应称为软件平台。分布式操作系统是建立在网络操作系统之上,对用户屏蔽了系统资源的分布而形成的一个逻辑整体系统的操作系统。(1)分布性。分布式操作系统的处理和控制功能均为分布式的;而网络操作系统虽具分布处理功能,但其控制功能却是集中在某个或某些主机或网络服务器中,即集中式控制方式。(2)并行性。分布式操作系统具有任务分配功能,可将多个任务分配到多个处理单元上,使这些任务并行执行,从而加速了任务的执行;而网络操作系统通常无任务分配功能,
3、网络中每个用户的一个或多个任务通常都在本地计算机上处理。(3)透明性。分布式操作系统通常能很好地隐藏系统内部的实现细节。包括对象的物理位置、并发控制和系统故障等对用户都是透明的。例如,当用户要访问某个文件时,只需提供文件名而无须知道(所要访问的对象)它是驻留在那个站点上,即可对它进行访问,以即具有物理位置的透明性。网络操作系统的透明性则主要指操作实现上的透明性。例如,当用户要访问服务器上的文件时,只需发出相应的文件存取命令,而无需了解对该文件的存取是如何实现的。(4)共享性。分布式操作系统支持系统中所有用户对分布在各个站点上的软硬件资源的共享和透明方式访问。而网络操作系统所提供的资源共享功能仅
4、局限于主机或网络服务器中资源,对于其它机器上的资源通常仅有使用该机的用户独占。(5)健壮性。分布式操作系统由于处理和控制功能的分布性而具有较好的可用性和可靠性,即健壮性。而网络操作系统由于控制功能的集中式特点而使系统重构功能较弱,且具有潜在的不可靠性。3.分布式操作系统的优缺点优点:与高性能的大型主机相比:经济-较高的性价比可扩充性-节点的增删容易可靠性-自动降级运行,故障不停机宽适应性-增加了对分散用户要求协同的支持与分散系统相比(单个工作站):共享资源、加强通信、通过负载平衡提高效率缺点:控制复制,尤其在资源管理上要附加许多协调操作-资源属于局部工作站性能、可靠性对网络的依赖性强二、中间件
5、和核心操作系统组件中间件运行在一个分布式系统的节点上,而且是多种OS-硬件组合(平台)上。中间件将这些本地资源联合起来以实现在不同结点的对象和进程之间提供远程调用的机制。屏蔽不同主机和网络差异。应用程序、服务中间件OSI进程、线程、通信。OSI进程、线程、通信。计算机和网络硬件计算机和网络硬件结点1结点2核心操作系统组件:进程管理器:负责进程的创建和操作。线程管理器:负责线程创建、同步和调度。通信管理器:负责同一台计算机上不同进程中的线程之间的通信。一些内核也支持远程线程间的通信。内存管理器:负责管理物理和虚拟内存。管理器:负责处理中断、系统调用陷阱和其他异常,同时控制内存管理单元和硬件缓存以
6、及处理器和浮点寄存器操作。三、进程和线程1.进程传统意义上进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。而在分布式操作系统中一个进程是由一个执行环境和一个或多个线程组成的。执行环境是资源管理的基本单位,它是一个进程的线程所能访问的由本地内核管理的资源集。三、进程和线程2.线程线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统
7、资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。3.新进程的生成(1)选择目标主机转移策略定位策略(静态的或适应性的)(2)创建执行环境三、进程和线程4.多线程的服务器的体系结构三、进程和线程5.通信模式(1)固定发送:从A到B的信道事先已规定好且不得更改,除非硬件方面的故障影响到它的通信能力。通常是选择(物理上长度)最短的信道,以减少通信开销。(2)虚拟线路:从A到B的信道在一段时间内是固定的,在不同时期,从A向B发送的信息可能经由不同的信道发送。(3)动态发送:用于从A到B发送信息的信道仅当该消息发送之时才被确定。6.连接策略(1)线路转换
8、假设两个进程之间需要通信,那么在它们通信期间应建立一永久性的物理通信链路,在这段时间其他进程不能使用这条链路。这种方案与电话系统类似,一旦一通话线路已对两方开放(如甲方给乙方打电话),其他的人就不可能使用这条信道,除非甲、乙两方的通话结束(如一方已挂上听筒)。三、进程和线程6.连接策略(2)消息转换 假设两个进程之间需要通信,那么确定一临时通信链路供其消息传递期间使用。物理通信链路则根据需要在用户间动态地进行分配,而且只允许使用较短的一段时间。每条消息由一个数据块再附加一些系统信息(如发送地、接收地、错误校正码等)组成,这些系统信息辅助通信网络正确地将消息传递到目的地。这种方案与邮局系统类似,
9、每封信可看作是包含发送地和接收地的一条消息,而且来自不同用户的信件(消息)可在相同通信线路上传递。(3)消息包转换消息一般是可变长度的。为了简化系统的设计,常常把消息设计成定长的形式,并把这种定长的形式称为消息包(Packet)。一条逻辑消息可能不得不划分成若干消息包,每个消息包都可以经由网络中不同的路径单独发送到其目的地,当这些消息包都到达其目的地后,还得拼装起来组成一条完整的消息。三、进程和线程7.消息传递 异步型在这类通信机制中,发送消息的进程不等待接收者的回复,即允许发送方任意超前于接收方,因而它具有下面的特征:(1) 接收方收到的消息与发送方目前的状态是无关的。换言之,接收消息中反映
10、的发送状态一般不是发送方的当前状态。(2) 由于通信机制与同步机制几乎被截然分开,因此,系统应具有“无限”的缓冲空间来容纳任意超前发出而尚未处理的消息,以此来解决消息发送速度和消息处理速度之间的差异。 (3) 能比较充分地利用系统的潜在能力,但实现时需解决许多实际的控制问题。三、进程和线程7.消息传递 同步型同步型与异步型消息传递正好相反,总是要求发送方等待接收方的回复,然后发送方与接收方同步继续向下执行。其主要特征如下:(1)消息的发送方和接收方在完成信息交换后彼此知道对方的状态。(2)同步机制和通信机制合二为一,一般无需大的缓冲区。 (3)实现容易,但效率较低。8.组通信(1)组通信的用途
11、如果一个进程想和另一组进程进行通信,单个的消息交换并非最好的模式。比如,一个服务是由多个计算机上的多个进程完成的时候,就会出现一个进程和一组进程间的通信。 三、进程和线程8.组通信(2)组通信的特征1) 原子性(Atomicity)将条消息发送给一组服务器的情况中,每个服务器都收到所有的请求,因此每个服务器执行的操作都是相同的,并且在任一时刻每个服务器的状态都是一样的。要实现这样的目标,必须使用原子组播。所谓原子组播(Aatomic Multicast),就是指任何一条以原子组播方式发送的消息,要么被接收的服务器组中的所有成员全部收到,要么其中的成员一个也收不到。这里我们规定,失效的进程不可能
12、是任一个服务器组中的成员。2) 定序(Ordering)原子组播和可靠组播在进程对之间都提供FIFO式的定序。在FIFO式的定序中,从任一个客户发送到某个服务器的次序也就是它们发出时的次序,我们可以在消息中加上一个序列号来实现这一目的。三、进程和线程9.远程过程调用在单处理机系统中,不同进程之间可以通过过程(函数)调用方式实现进程通信。在调用时,调用进程必须给出被调用的过程名,传送所需参数和提供返回参数的缓冲区。在分布式操作系统中,为实现进程间的通信,通常要设计一些通信原语(如前述的send、receive)。这些原语是按照通信协议所规定的规则实现的,这些通信原语就构成了分布式系统基本的通信机
13、制。 (1) 客户过程以普通方式调用相应的客户代理。(2) 客户代理建立消息并激活内核陷阱。(3) 内核将消息发送到远程内核。(4) 远程内核将消息送到服务器代理。(5) 服务器代理取出消息中的参数后调用服务器的过程。三、进程和线程9.远程过程调用(6)服务器完成工作后将结果返回至服务器代理。(7)服务器代理将结果打包并激活内核陷阱。(8)远程内核将消息发送至客户内核。(9)客户内核将消息交给客户代理。(10)客户代理从消息中取出结果返回给客户。远程过程调用在广泛的应用中,也暴露了一些缺点,不能满足某些方面的要求,主要有:(1)远程过程调用的参数在系统内不同机种之间通用的能力有所不足。 (2)
14、缺乏在一次调用过程中多次接收、返回的能力。(3)远程过程调用缺乏传送大量数据的能力。 三、进程和线程10.进程迁移(1)数据迁移(Data Migration)假如系统A中的用户希望去访问系统B中的数据,比如一份文件,可采取以下两种方法来实现数据的传送。第一种方法是将系统B中的整个文件送到系统A。第二种方法是把文件中用户当前需要的那一部分从系统B传送到A。(2)计算迁移(Computation Migration)在某些情况下,传送计算要比传送数据更有效。例如,有一个作业,它需访问多个驻留在不同系统中的大型文件,以获得这些文件的摘要。 引入进程迁移的原因(1)负荷均衡(Load Balanci
15、ng)在分布式系统中,各个系统中的负荷,经常会是不均匀的。此时,可通过进程迁移的方法来均衡各个系统的负荷,即将重负荷系统中的进程迁移到轻负荷系统中去,以改善系统的性能。三、进程和线程(2)通信性能对于那些分布在不同系统中,而彼此交互性又非常强的一些进程,应将它们迁移到同一系统中,以减少由于它们之间频繁地交互而加大的通信费用。 (3)加速计算对于一个大型作业,如果始终运行在一台处理机上,可能会花费较多的时间,使作业的周转时间很长;但如果能为该作业建立多个进程,并将这些进程迁移到多个处理机上,使它们并行执行,就会大大加速该作业的完成,从而缩短作业的周转时间。(4)需要特殊资源当某进程必须在具有某种
16、特殊功能的处理机上运行才能完成其任务时,就需要将该进程迁移到该处理机上去运行。(5)提高可利用性在分布式系统中,如果某个系统发生了故障,而在该系统中的进程又希望能继续运行下去,则分布式OS便可将这些进程迁移到其他系统中去运行。四、分布式系统的资源管理资源的调度和管理是操作系统的一项主要功能。单机操作系统通常采用一类资源由一个管理者来管理的集中式管理方法。分布式管理方式又可分为集中分布式管理和完全分布式(也称分散)管理两种方式。采用集中分布式管理,一类资源由多个管理者来管,但每个具体资源只存在一个管理者对其负责。 分布管理方式与集中管理方式的主要区别是对同类资源采用多个管理者还是一个管理者。集中
17、分布管理方式让资源管理者对他所管理的资源拥有全部控制权,而完全分布管理方式只允许资源管理者对资源拥有部分控制权。采用集中式管理时,一类资源只有一个管理者,他控制这类全部资源。五、操作系统的体系结构分布式操作系统采用的是微内核微内核由一群尽可能将数量最小化的软件程序组成,它们负责提供实现一个操作系统所需要的各种机制与功能,微内核操作系统就是一种基于微内核架构的操作系统。1) 足够小的内核在微内核操作系统中,内核是指精心设计的、能实现现代OS最基本的核心功能的部分。微内核并非是一个完整的OS,而只是操作系统中最基本的部分,它通常用于: 实现与硬件紧密相关的处理; 实现一些较基本的功能; 负责客户和
18、服务器之间的通信。它们只是为构建通用OS提供一个重要基础,这样就可以确保把操作系统内核做得很小。五、操作系统的体系结构2) 基于客户/服务器模式由于客户/服务器(Client/Server)模式,具有非常多的优点,故在单机微内核操作系统中几乎无一例外地都采用客户/服务器模式,将操作系统中最基本的部分放入内核中,而把操作系统的绝大部分功能都放在微内核外面的一组服务器(进程)中实现。例如用于提供对进程(线程)进行管理的进程(线程)服务器,提供虚拟存储器管理功能的虚拟存储器服务器,提供I/O设备管理的I/O设备管理服务器等,它们都是被作为进程来实现的,运行在用户态,客户与服务器之间是借助微内核提供的
19、消息传递机制来实现信息交互的。五、操作系统的体系结构3) 应用“机制与策略分离”原理在现代操作系统的结构设计中,经常利用“机制与策略分离”的原理来构造OS结构。所谓机制,是指实现某一功能的具体执行机构。而策略,则是在机制的基础上,借助于某些参数和算法来实现该功能的优化,或达到不同的功能目标。通常,机制处于一个系统的基层,而策略则处于系统的高层。在传统的OS中,将机制放在OS的内核的较低层,把策略放在内核的较高层次中。而在微内核操作系统中,通常将机制放在OS的微内核中。正因为如此,才有可能将内核做得很小。五、操作系统的体系结构4) 采用面向对象技术操作系统是一个极其复杂的大型软件系统,我们不仅可以通过结构设计来分解操作系统的复杂度,还可以基于面向对象技术中的“抽象”和“隐蔽”原则控制系统的复杂性,再进一步利用“对象”、“封装”和“继承”等概念来确保操作系统的“正确性”、“可靠性”、“易修改性”、“易扩展性”等,并提高操作系统的设计速度。正因为面向对象技术能带来如此多的好处,故面向对象技术被广泛应用于现代操作系统的设计中。六、操作系统的虚拟化系统虚拟化的核心思想是使用虚拟化软件在一台物理机上,虚拟
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 内黄县2027届数学四上期末监测试题含解析
- 专升本真题2019年辽宁专升本思修真题
- 电气系统运行知识涵盖六氟化硫变压器等内容试卷
- 中学项目电气安装施工方案
- 医疗器械监督管理条例(2025年)培训试题及答案
- 保密教育测试题及参考答案
- 2026年中国切割磨光机市场调查研究报告
- 2026年国家基层糖尿病防治管理指南认证考试题含参考答案
- 销售业绩目标达成情况总结
- 高处作业单位登高作业操作规程
- 药房禁毒知识培训资料课件
- 医院智慧管理分级评估标准体系(试行)-全文及附表
- 中暑中医教学课件
- T/CAQI 40-2018直饮水水站安全技术要求
- 家庭教育概论 课件 第1-5章 家庭与家庭教育- 亲子关系:家庭教育的起点与结果
- 涉密文件印制协议书
- 肺性脑病护理查房
- GB/T 25820-2025包装用钢带
- 2024消防设施检测方案
- DB45T 2321-2021 汁汽阀技术规范
- 西藏自治区多雄藏布帕孜水利枢纽及配套灌区工程环评
评论
0/150
提交评论