第四章分布式系统的进程和处理机
- 格式:ppt
- 大小:824.51 KB
- 文档页数:82
第一章概述⏹分布式系统的目标⏹资源共享(resource sharing)⏹计算机通过网络连接起来,并在这个范围内有效地共享资源⏹硬件的共享,软件的共享,数据的共享,服务的共享⏹媒体流的共享(动态的资源形式)⏹协同计算(collaborative computing)⏹并行计算,分布式计算分布式系统是指把多个处理机通过网络互连而构成的系统,系统的处理和控制功能分布在各个处理机上。
⏹分布式系统的问题源于下面三个特点:⏹并发性(concurrence)⏹多个程序(进程,线程)并发执行,共享资源⏹没有全局时钟(global clock)⏹每个机器都有各自的时间,没有办法做到统一,程序间的协调靠交换消息⏹故障独立性(independent failure)⏹一些进程出现故障,并不能保证其它进程都能知道分布式的挑战异构性:网络协议, 硬件, 操作系统, 编程语言, 开发者实现方式的不同.开放性:可扩展性:安全性: 机密性: 防止未经授权的个人访问资源完整性: 防止数据被篡改和破坏可用性: 防止对所提供服务的干扰故障处理: 检测故障, 屏蔽故障, 故障容错, 故障恢复, 冗余策略并发: 正确性: 多个进程并发访问共享资源,要保证被访问数据的正确性,不能出现不一致。
性能: 多个并发操作保证性能透明性: 访问透明:使用同样的操作去访问本地资源和远程资源。
位置透明: 访问资源的时候,不需要知道资源的位置。
并发透明:几个进程同时访问资源,互不干扰。
复制透明: 使用多个资源的副本来提高可靠性和性能,用户或者应用程序开发者并不需要了解副本技术。
故障透明,移动透明,性能透明,扩展透明第二章系统模型⏹结构模型构成系统各部分(components, computers, procedures )的位置、角色和它们之间的关系,它定义了系统的各组件之间相互交互的方式以及它们映射到下面的计算机网络的方式。
⏹客户/服务器结构⏹对等结构(客户/服务器模型的变种)基础模型⏹体系结构模型所涉及的问题:⏹系统中的主要实体是什么?⏹它们如何交互?⏹影响他们单个和集体行为的特征是什么?模型的目的⏹显式地表示有关正在建模的系统假设;⏹给定这些假设,就什么是可行的,什么是不可行的给出结论。
分布式操作系统的定义1、分布式操作系统定义分布式操作系统首先是一个操作系统,操作系统承担2个角色:管理者和魔术师,就是管理硬件CPU 、mem、磁盘、网络、I/O 等,让用户程序可以最简单的利用计算机的硬件,但不用care 具体的细节,直接调用API 进行使用即可;操作系统还管理着计算机的资源,对进程、线程进行分配资源。
分布式操作系统然后是一个分布式:通过多台计算机的硬件实现数据分布到多台机器的磁盘【程序运行时加载到内存】、通过多台计算机的CPU 完成分布式计算【计算就保护内存计算、网络通信】;最后通过网路通信把计算的结果有组织、有顺序的收集并merger 成最终的结果。
分布式操作系统的基本理解:多台物理机器的结合【意味着:每台机器都有CPU、mem、disk、trafic等硬件资源】分布式操作系统让多台物理机器的设备计算资源、存储资源、网络资源有效结合起来,共同完成一个大的task的软件操作系统数据共享、设备共享、网络通信、灵活性分布式操作系统的意义:简单的pc 服务器比大型计算机的成本低,用多台PC 服务器来完成大型计算机的功能;但成本比大型计算机低很多;而且集群规模越大,相对成功就越低现实中很多应用场景都是分布式的,所以分布式操作系统来实现解决方案时更加友好分布式是多台机器的协同作战,团队作战的效率比大型机器在很多场景下要高但分布式操作系统也是一个整合数以万台的集群的巨无霸型软件系统,复杂性也跟操作系统一样大大的复杂!2. 分布式操作系统的理解分布式操作系统从2个方面来理解:一个是分布式,一个是操作系统分布式:就是计算、存储不在同一台处理机上,而是分布式多台处理机上操作系统:就是我们平常在单台物理机器上的操作系统,是一个功能强大、稳定的巨大软件系统所以分布式操作系统可大可小,比如一个处理mysql 分库分表的中间件、一个自带分库分表的数据库mongodb,一个搜索引擎倒排、正派索引太大存放在多台机器都一个是分布式操作系统;再到几千上万台的大数据计算平台hadoop 集群;或者是提供计算、存储、运维、监控等一整套解决方案都是分布式操作系统。
1.分布式计算机系统的定义:随着高性能和低价格微型计算机的迅速发展和普及,以及人们对信息处理能力的广泛和深入的需求,分布式系统正日益被人们普遍重视和广为使用。
分布式计算机系统的定义所谓分布式计算机系统,是只由多台分散的计算机,经互连网络的联接而形成的系统,系统的处理和控制功能分布在各个计算机上。
分布式计算机系统又简称为分布式系统。
它具有以下特点:(1)各台计算机之间没有主从之分(2)任意两台计算机都可以通过通信交换信息(3)系统资源为所有用户共享(4)若干台计算机可以互相协作来完成一个共同的任务,一般的计算机网络不具本特点。
分布式计算机系统的功能(1)支持同样的通信结构:通信结构是指支持各个计算机联网,以提供分布式应用的软件。
在分布式系统中,尽管每台计算机都有自己独立的操作系统,并且这些计算机和操作系统的种类又可以是不同的,但它们都应该支持同样的通信结构。
(2)由网络操作系统提供网络服务功能:分布式系统的硬件环境是计算机网络,系统中的个人计算机可以是单用户工作站或服务器,因此它需要由网络操作系统进行管理并提供网络服务功能。
(3)有一个公共的分布式操作系统:在分布式系统中,各计算机共享一个公共的分布式操作系统。
分布式操作系统由内核以及提供各种系统功能的模块和进程所组成。
系统中的每一台计算机都必须保存分布式操作系统的内核,以实现对计算机系统的基本控制。
2.分布式操作系统定义分布式操作系统是指配置在分布式系统上的操作系统。
它能直接对分布式系统中的各种资源进行动态分配,并能有效地控制和协调分布式系统中各任务的并行执行,同时还向用户提供了一个方便的、透明的使用整个分布式系统的界面。
分布式操作系统功能(操作系统课程相联系)分布式操作系统除了需要包括单机操作系统的主要功能外,还应该包括分布式进程通信、分布式文件系统、分布式进程迁移、分布式进程同步和分布式进程死锁等功能。
(1)分布式进程通信分布式系统的进程通信是由分布式操作系统所提供的一些通信原语来实现的。
操作系统论文题目:分布式和分布式操作系统简介学院:计算机科学与工程学院专业:计算机科学与技术班级: 计算机科学与技术师范(1)班学生姓名:学号:指导教师:分布式和分布式操作系统简介摘要本文介绍了分布式系统、分布式操作系统及其特点以及与网络操作系统的区别,分布式操作系统是在比单机复杂的多机环境下得到实现的,并且具备分布性、自治性、并行性、全局性这四个基本特征,能够实现资源共享,加快计算速度,并且可靠性得到了提高。
在分布性与并行性上比网络操作系统有独到的优点,并且在透明性以及健壮性方面具有网络操作系统不可匹敌的优势,本文从分布式系统的结构、分布式系统的工作原理、分布式系统的典型作用以及分布式系统的局限性等方面详细阐述了分布式系统是如何实现分布的。
关键字:分布式、分布式操作系统、网络操作系统、1.分布式系统1.1分布式系统概述利用计算机网络把分布在不同地点的计算机硬件、软件、数据等信息资源联系在一起服务于一个共同的目标而实现相互通信和资源共享,就形成了管理信息系统的分布式结构。
具有分布结构的系统称为分布式系统。
实现不同地点的硬、软件和数据等信息资源共享,是分布式系统的一个主要特征。
分布式系统的另一个主要特征是各地与计算机网络系统相联的计算机系统既可以在计算机网络系统的统一管理下工作,又可脱离网络环境利用本地信息资源独立开展工作。
下图是分布式的图例:1.2硬件环境原来系统内中央处理器处理的任务分散给相应的处理器,实现不同功能的各个处理器相互协调,共享系统的外设与软件。
1.3网络环境多数分布式系统是建立在计算机网络之上的,所以分布式系统与计算机网络在物理结构上是基本相同的。
分布式操作系统的设计思想和网络操作系统是不同的,这决定了他们在结构、工作方式和功能上也不同。
网络操作系统要求网络用户在使用网络资源时首先必须了解网络资源,网络用户必须知道网络中各个计算机的功能与配置、软件资源、网络文件结构等情况,在网络中如果用户要读一个共享文件时,用户必须知道这个文件放在哪一台计算机的哪一个目录下;分布式操作系统是以全局方式管理系统资源的,它可以为用户任意调度网络资源,并且调度过程是“透明”的。
第3章进程描述和控制复习题:什么是指令跟踪?答:指令跟踪是指为该进程而执行的指令序列。
通常那些事件会导致创建一个进程?答:新的批处理作业;交互登录;操作系统因为提供一项服务而创建;由现有的进程派生。
(详情请参考表3.1)对于图3.6中的进程模型,请简单定义每个状态。
答:运行态:该进程正在执行。
就绪态:进程做好了准备,只要有机会就开始执行。
阻塞态:进程在某些事件发生前不能执行,如I/O操作完成。
新建态:刚刚创建的进程,操作系统还没有把它加入到可执行进程组中。
退出态:操作系统从可执行进程组中释放出的进程,或者是因为它自身停止了,或者是因为某种原因被取消。
抢占一个进程是什么意思?答:处理器为了执行另外的进程而终止当前正在执行的进程,这就叫进程抢占。
什么是交换,其目的是什么?答:交换是指把主存中某个进程的一部分或者全部内容转移到磁盘。
当主存中没有处于就绪态的进程时,操作系统就把一个阻塞的进程换出到磁盘中的挂起队列,从而使另一个进程可以进入主存执行。
为什么图3.9(b)中有两个阻塞态?答:有两个独立的概念:进程是否在等待一个事件(阻塞与否)以及进程是否已经被换出主存(挂起与否)。
为适应这种2*2的组合,需要两个阻塞态和两个挂起态。
列出挂起态进程的4个特点。
答:1.进程不能立即执行。
2.进程可能是或不是正在等待一个事件。
如果是,阻塞条件不依赖于挂起条件,阻塞事件的发生不会使进程立即被执行。
3.为了阻止进程执行,可以通过代理把这个进程置于挂起态,代理可以是进程自己,也可以是父进程或操作系统。
4.除非代理显式地命令系统进行状态转换,否则进程无法从这个状态中转移。
对于哪类实体,操作系统为了管理它而维护其信息表?答:内存、I/O、文件和进程。
列出进程控制块中的三类信息。
答:进程标识,处理器状态信息,进程控制信息。
为什么需要两种模式(用户模式和内核模式)?答:用户模式下可以执行的指令和访问的内存区域都受到限制。
这是为了防止操作系统受到破坏或者修改。
第一章操作系统概论(一)具体知识点1.操作系统概念2.操作系统的形成与发展3.操作系统的功能(二)学习要求了解什么是操作系统,操作系统在计算机中的作用,操作系统具体做什么,以及各类操作系统的特点。
(三)本章节体系1.操作系统概念操作系统既是计算机系统资源的管理员,又是计算机系统用户的服务员。
资源管理以提高资源利用率为目标,给用户服务以尽可能多的服务项目和最大的方便为宗旨。
管理与服务的功能用一组程序来描述,这组程序通过事件驱动以并发的执行方式发挥作用。
人们把这组程序称为操作系统,它是计算机系统中极为重要的系统软件。
2.操作系统类型单用户操作系统多道批处理系统分时系统实时系统网络操作系统3.操作系统运行环境计算机硬件所提供的支持构成现代操作系统的硬件环境,其中最为重要的是中断机构。
事件引发中断,中断必须加以处理,操作系统由此被驱动。
操作系统是一个众多程序模块的集合。
根据运行环境,这些模块大致分为3类:第1类是在系统初启时便与用户程序一起主动参与并发运行的,如作业管理程序、输入输出程序等。
它们由时钟中断、外设中断所驱动。
第2类是直接面对用户态(亦称常态、或目态)程序的,这是一些“被动”地为用户服务的程序。
这类程序的每一个模块都与一条系统调用指令对应,仅当用户执行系统调用指令时,对应的程序模块才被调用、被执行。
系统调用指令的执行是经过陷入中断机构处理的。
因此从这个意义上说,第2类程序也是由中断驱动的。
第3类是那些既不主动运行也不直接面对用户程序的、隐藏在操作系统内部的、由前2类程序调用的模块。
既然前2类程序是由中断驱动的,那么第3类程序也是由中断驱动的。
应当注意,操作系统本身的代码运行在核心态(亦称管态、特态)。
从用户态进入核心态的唯一途径是中断。
UNIX中的trap指令是专供用户程序进入UNIX核心而设置的。
4.操作系统启动过程操作系统的初启是比较复杂的,随着版本或计算机类型而不同。
大体上说,有以下过程:首先执行ROM中的自举程序,然后操作系统本身的引导程序取得控制权。
分布式操作系统的概念分布式操作系统属于分布式软件系统其中的一部分,主要负责负责管理分布式处理系统资源和控制分布式程序运行。
分布式操作系统,用于通信和资源共享的计算机网络中,除了共享文件系统外,用户知道网络中其他计算机的存在,每台计算机拥有自己的操作系统,整个网络并没有整体的协调。
网络操作系统仅仅维护了全局文件系统和用户的帐户信息,并要求客尸和服务器间遵循一致的通信协议而已。
对于应用于集群的分布式操作系统来说,试图让用户感觉不到多台计算机的存在,并提供较高的计算性能和可用性。
因此分布式操作系统DistributedOperatingSystem的设计要充分地体现系统的透明性、可靠性和并行性。
透明性让用户感觉到面对的集群就和一台计算机一样是分布式系统设计首要解决的问题,也就是设计透明性的系统,包括:①位置透明性,使用户不需要关心所使用的系统资源的具体位置是在哪台机器上:②迁移透明性,使得系统资源可以在系统内任意移动却不影响它们在全局名字空间的名字;③复制透明性,允许系统在多个节点上复制使用频率很高的文件并自动维护文件的一致性,而用户仅感觉到复制文件的存在:④并发透明性,使得多个用户同时并发请求某资源时可能感觉到系统的迟钝但感觉不到其他用户的存在;⑤并行透明性,使得单个任务被系统并行处理,但用户仅仅感觉到系统的响应比较快而不需要知道并行的存在。
可靠性设计分布式系统的原因之一是因为它能比单处理机系统更加可靠。
当某个机器故障停机时,其他机器能接替它的工作。
可靠性实际包含了:①可用性Availability,一般通过冗余关键性的软硬件宋实现,当其中一个失效时,其他的部件能接替工作:②安全性,分布式系统的安全性问题比单处理机系统远为复杂,防止非法使用文件和其他资源的任务更为艰巨。
并行性提供高性能的计算能力是设计分布式系统的一个初衷,但这个目标的达成受到很多的限制,比如通信较慢使得进程的全局调度困难重重。
为了改善通信延迟的影响,通常要减少消息的数目,但为了提高性能,应该让一个任务并行地运行在多个处理器上,这是一对矛盾。