分布式操作系统概念及模型
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
RC5:密码破解计划
破译 RSA 实验室给出的密码,找出密钥 奖金: $10,000 美元 RC_56: 250 天破译 (1997) RC_64: 1,757 天破译 (2002) RC_72: ?
1.4 透明性( Transparency )
透明性
访问 位置
描述
隐蔽数据表达方法和资源访问方法的不同之处 隐蔽资源所处的物理位置
中间件系统实例
Sun RPC, CORBA, DCOM, Java RMI 实现在网络协议之上 隐蔽网络、硬件、操作系统以及程序设计 语言的异构性 提供标准服务界面
类型
消息中间件(MOM:Message-Oriented Middleware) 数据库中间件(Database Middleware) 远程过程调用中间件(RPC:Remote Process Call) 对象请求代理中间件(ORB:Object Request Broker) 事务处理中间件(TP Monitor:Transaction Process Monitor) 反射中间件 移动中间件 自适应中间件
A monitor to protect an integer against concurrent access.
DOS特征
将多处理器或多计算机构造成一个虚拟环境 提供同构性、透明性 最有效地管理网络 提供全局编址和命名服务 管理资源分配及共享 提供同步、互斥、及死锁检测机制 提供进程通信机制(IPC) 提供适当的安全机制 典型科研分布式操作系统:Amoeba, Chorus
Hide and manage hardware resources Offer local services to remote clients Provide distribution transparency
DOS
NOS
Additional layer atop of NOS Middleware implementing general-purpose services
2.2.3
中间件系统
分布式应用程序 中间件分布式服务
网络操 作系统
网络操 作系统
网络操 作系统
网络操 作系统
计算机硬件… 网络
中间件定义
比较公认的IDC的定义是:
中间件是一种独立的系统软件或服务
程序,分布式应用软件借助这种软件 在不同的技术之间共享资源,中间件 位于客户机服务器的操作系统之上, 管理计算资源和网络通信
An example of dividing the DNS name space into zones
Scaling Techniques
复制技术(解决性能下降问题)
新问题:一致性问题 解决:全局同步机制
2
分布式系统的软硬件环境
2.1 Hardware Concepts
Different basic organizations and memories in distributed computer systems
3.3 分层体系结构
Alternative client-server organizations (a) – (e).
Multitiered Architectures
An example of a server acting as a client
3.4 Modern Architectures
Separating applications from operating system code through a microkernel.
Multiprocessor Operating Systems
monitor Counter { private: int count = 0; public: int value() { return count;} void incr () { count = count + 1;} void decr() { count = count – 1;} }
2.2.4
不同操作系统的比较
分布式DOS 多处理器 多计算机
很高 高 是 N 网络 NOS 低 否 N 文件 中间件 系统 高 否 N 多样化 由节点管 理 较好 开放
比较指标 透明度
操作系统同构 是 操作系统个数 1
基本通信手段 共享内存 消息 资源管理 可调节性 开放性
全局中央 全局分布 由节点 式 式 管理 很差 封闭 适中 封闭 很好 开放
分布式操作系统概念及模型
姜海燕 南京农业大学信息科技学院计算机系
主要内容
1 分布式系统概念与内涵 2 分布式系统的软硬件环境 3 分布式系统常用模型
1
分布式系统概念与内涵
1.1 分布式系统定义
A distributed system is:
A collection of independent computers that appears to its users as a single coherent system. (Tanenbaum et al. 2004)
SETI: 搜索外星人
探索外星文明 射电天文望远镜: Arecibo (305m) 地理位置: Puerto Rico(波多黎各) 接收 4,000,000 无线电波段 下载屏保程序作数据分析 中央控制系统分布数据 SETI@home 项目基于UC Berkeley(伯 克利开放式网络计算平台),开源项目
分布式系统定义
A distributed system organized as middleware. Note that the middleware layer extends over multiple machines.
分布式系统定义
一个分布式系统是一组位于网络计算机上 的并发构件,这些构件之间的通信以及任 务协调都只能通过信件传递进行,其目的 是实现资源共享。 (Coulouris et al. 2005)
Middleware and Openness
In an open middleware-based distributed system, the protocols used by each middleware layer should be the same, as well as the interfaces they offer to applications.
2.2.1
分布式操作系统
分布式应用程序 进程调度 设备管理 文件管理 存储管理
分布式操作系统 计算机硬件… 网络
通常用来管理多处理器或者同构多处理机, 其主要目的是隐藏硬件细节,管理硬件资源, 提供系统接口,使得并发进程能够共享系统资源
Uniprocessor Operating Systems
分布式数据
分布式应用
经典分布式应用
远程访问 网络文件系统 ATM (银行自动取款机) 分布式数据库 WWW (万维网) 全球定位系统 自动售货终端机 航空管制系统 网络拍卖系统
SETI : 搜索外星人
IBM倡导组织,名为“网格社区” 项目 SETI(search for extra-Terrestrial Intelli-gence)
Concept Centralized services Centralized data Example
A single server for all users A single on-line telephone book Doing routing based on complete information
2.2.2
网络操 作系统
网络操作系统
网络应用程序
网络操 作系统 网络操 作系统 网络操 作系统
计算机硬件…
网络
传统操作系统的扩充,为用户提供各种交换信息和资源共享的服务
NOS特征
单机操作系统的扩充 为远程用户提供网络服务 每台计算机都有自己的操作系统(同构或异构) 提供各种通信协议 提供应用程序设计接口 (API) 系统容错能力较差 简单灵活,可扩展性好,但透明性较差 典型例子:UNIX, Windows NT, 2000
迁移
重定位 复制 并发 故障 持续
wk.baidu.com
隐蔽资源的物理移动
隐蔽正在使用的资源迁移 隐蔽资源的复制 隐蔽若干用户共享同一资源所产生的竞争 隐蔽资源的故障与排错恢复 隐蔽软件资源所处的存储空间:内存或磁盘
1.5 可扩展性( Scaling )
规模上可扩展
地域上可扩展
管理上可扩展
Scalability Problems
纵向分布 横向分布
An example of horizontal distribution of a Web service.
1.2 分布式系统特征
一组由网络互联的、自治的计算机和资源 资源为用户所共享 可以集中控制,也可以分布控制 计算机可以同构,也可以异构 分散的地理位置 分布式故障点 没有全局时钟 大多数情况下没有共享内存
1.3 应用领域
分布式计算:
数学计算,环境模拟,生物和仿生,经济和财政模 型,气象预报 数据挖掘, 信息检索,保险分析,图像处理 事务处理,电子商务,远程文件交换,电子信件
a) b)
Grid Hypercube
2.2 Software Concepts
System Description Tightly-coupled operating system for multi-processors and homogeneous multicomputers Loosely-coupled operating system for heterogeneous multicomputers (LAN and WAN) Main Goal
3
客户-服务器模型
3.1 Clients and Servers
General interaction between a client and a server.
3.2 应用程序分层(Processing Level )
The general organization of an Internet search engine into three different layers
Centralized algorithms
Scaling Techniques
隐藏通行等待时间(解决:地域扩展)
异步通信方式 启动新控制线程执行请求 将部分工作分散给客户(交互程序中)
Scaling Techniques
分布(Distribution)技术
将某组件分割为多个部分,分散到系统中
2.1.1
Multiprocessors
A bus-based multiprocessor
基于总线的多处理器系统
增加缓存,提高命中率 问题:
存储器非相关性(nocoherent) 扩展性有限
2.1.2
Homogeneous Multicomputer Systems
基于总线:基于广播的通讯,扩展受节点数目限制 基于交换:基于互联网络通讯的多种不同的拓扑结构