分布式操作系统
1、分布式操作系统定义
传统的为单机设计的操作系统称为集中式操作系统,用于管理分布式计算机系统的操作系统称为分布式计算机系统(Distributed Operating System)。
分布式操作系统是在多级环境下,负责管理协同工作的大量处理器、存储器、I/O设备等一系列系统资源,以及负责执行进程,控制处理器之间的通信、同步、调度等事务。
基本功能:
- 进程通信。(让运行在不同计算机上的进程可以通过通信来交换数据)
- 资源共享。(提供访问其他计算机资源的功能)
- 并行计算。(提供某种程序设计语言,使用户可以编写分布式程序,该程序可在系统中多个节点上并行计算)
- 网络管理。(高效地控制和管理网络资源,对用户具有透明性,像使用单机系统医用使用分布式系统)
特征:
为了让分布式系统用起来像单机系统,分布式系统除了与集中式系统有共同特征外,还有它自身的许多特征。
- 可由几台处理机同时执行管理服务程序,但“主处理机”是浮动的,可由一台处理机改为另一台。系统中各个主机没有主从之分,若干台处理机可以共同完成一个任务,服务请求发生冲突时,可根据固定的优先权或动态控制的优先权解决。由于几台处理机能同时执行同一服务程序,所以大多数管理程序必须能够重入。
- 具备单一全局性进程管理机制,进程的创建、执行、撤销以及保护方式不因机器不同而变化。
- 系统中任意两台处理机可以通过通信来交换信息,并且必须提供一个单一全局性进程通信机制,即在任何一台机器上进程都采用同一种方法与其他进程通信。
- 具备一个单一全局性的安全保护机制。
- 具备一个单一全局性的文件系统。用户存取文件和在单机上没有区别。
分布式操作系统和网络操作系统的区别:
-
共同点:
- 基础都是网络技术。在计算机硬件连接、系统拓扑结构和通信控制等方面基本一样。都具有数据通信和资源共享功能。
-
区别:
-
网络系统中,用户在通信或资源共享时必须知道计算机及资源的位置,通常通过远程登录或让计算机直接相连来传输信息或进行资源共享;分布式系统中,用户在通信或资源共享时并不知道有多台计算机存在,其数据通信和资源共享如同在单机上一样,各个相联的计算机可并行协同完成作业。
-
网络操作系统是在各主机原有操作系统的基础上扩展而来的,使其对所有主机提供一个通用接口;分布式操作系统是从头开始建立的整体环境,用于优化全局网络的操作。
-
网络操作系统认为资源是各处理机局部所有的;分布式操作系统认为资源是全局共有的。
-
网络操作系统容错差,哪一个站点的计算机出问题,那个站点的用户就退出系统。
-
2、分布式操作系统的设计
设计要求:
- 透明性。(呈现给用户的仍然是一个单一的计算机系统)
- 灵活性。(微内核比单内核更灵活)
- 可靠性。(一台机器坏了对整个系统影响不大)
- 高性能。
- 可扩展性。
设计难点:
- 系统状态不精确性。
- 控制机构的复杂性。
- 通信开销引起性能下降。
3、标识符系统
在DOS系统中,全部的软硬件资源都应有一个唯一的标识符名字,否则就不能对资源进行管理。有了这样全系统唯一的名字才能为分布式系统的统一性奠定基础。
标识符系统的主要任务是:决定哪些资源或者哪些服务或者哪些对象应当给它命名,决定命名的规则,进行名字管理。
标识符系统的目标:①保证命名标识符唯一性 ②支持多级标识符,至少要支持面向用户和面向内部的标识符 ③名字与名字代表的对象的物理位置无关。
命名对象:
分布式系统中,凡是提供服务的一切对象都是可命名的,称为命名对象。例如进程、文件、文件系统、站点、主机、协议、信箱、端口、逻辑信道等。
标识符类型:
- 主机标识符(3类):
- 名字。(常见的情况是为对象取两个名字,一个内部名,一个外部名字)
- 地址。(地址是用来指明某对象所在位置的,但当为一个对象规定了唯一的地址后,便可以直接利用它来标识该对象)
- 路径。(一条路径不仅可以用来识别一个对象,同时还可用来指出访问该对象的途径,通常又把路径成为路径名)
- 连接名和端口:
在面向连接的传输方式中,当A系统的实体请求与B系统的实体建立连接时,需要全局的连接名。连接建立后,双方便可以利用连接该两个实体的连接名进行通信,连接名通常是一个整数。
可把端口理解为连接的端点。一个实体可以有多个端口,一对端口可以确定一个连接。在建立了连接的两个实体间进行通信时,只需要写出端口号,不需要实体名称。
- 全局标识符和局部标识符:
全局标识符是在整个分布式系统范围内用来标识某对象的标识符,它是唯一的,为了保证唯一性常采用分级地址结构,分级地址结构由网络号、主机号、端口号组成。
局部标识符仅在一指定范围才是唯一的。在指定范围内进程间通信以及对资源的访问均可使用局部名。
※ 其他高级功能
分布式操作系统的文件系统、分布式操作系统的进程管理等内容详见参考资料。
(END)