目录
课程目标
1、了解高级系统相关内容(主要包括网络OS与分布式系统的概念、特点、应用额体系结构与软硬件组成等);
2、掌握单机操作系统设计实现原理(特别是常见的操作系统习题、试题的了理解和解答方法)。
1 Distributed Systems
1.1 Definition
一个分布式系统是:独立计算机的集合,对用户而言,它们看起来像是一个统一的系统。
- 尚不存在一致性的定义,普遍接受的定义是:
- 分布式系统是若干***立计算机的一种联合体,对用户而言,这个联合体就是一台单独的计算机。
- 在这个定义中,前半句说明是对计算机硬件的要求,后半句是对计算机软件的要求,这两项都是对分布式系统的基本的要求。
另一个角度:
- 分布式系统是这样一个系统,它运行在不具有共享内存的多台计算机上,但在用户眼里它却像是一台计算机。
- 实质思想:用户不必去关心系统中的多台计算机的存在。
- 尽管目前不存在完全满足该条件的系统,但已经有一些原型出现。
Machine A Machine B Machine C
---------- ---------- ----------
| | | | | |
| Distributed Application 分布式应用程序 |
| | | | | |
| Middleware Service 中间件服务 |
| | | | | |
|Local OS| |Local OS| |Local OS|
---------- ---------- ----------
| | |
-----------------------------------------------------------Network
中间件是介于应用系统和系统软件之间的一类软件,它使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。
组织为中间件的分布式系统。
请注意,中间件层覆盖了多台计算机。
1.2 分布式系统的特点
1.2.1 资源共享 Resource Sharing
- 硬件资源共享:专用设备共享 =》 处理资源共享 =》 负载共享与负载均衡
- 信息资源共享:如:电子商务应用共享同一数据对象,协同工作组共享同一数据空间
- 软件资源共享:软件开发组共享同一开发工具,同一类应用任务调用同一处理软件
- 资源异构、分布 =》 资源命名方案、分布资源管理模型、策略与机制是要解决的重点
- 互联网络环境 =》 计算机资源共享和多媒体信息资源共享成为研究和开发的热点
1.2.2 透明性 Transparency
- 透明性的基本概念和内容
机器边界、网络细节和系统状态对用户和应用程序员呈不可见性。多计算机环境 =》 单机环境。例如用户不必知道数据存在何处,进程在何处运行。
- 优点
软件易于研制;资源变动,软件影响小;
易于实现资源冗余;有利于资源操作移动
- 实现难点
大多数分布计算机系统固有的异构性增加了透明性实现的难度。
硬件异构性:指令系统不同、数据表示不同。系统配置不同
软件异构性:操作系统不同、网络协议不同
局部自治性限制全局透明性
Transparency | Description |
---|---|
Access 访问 | 隐藏数据表示形式和资源访问方式的差异 |
Location | 隐藏资源所在的位置 |
Migration 转移 | 隐藏资源可能会移动到另一个位置 |
Relocation 重定位 | 隐藏资源在使用中可能会移动到另一个位置 |
Replication 复写 | 隐瞒资源可以通过多个副本进行部署和分发 |
Concurrency | 隐瞒资源可能会由几个竞争用户共享 |
Failure | 隐藏资源的故障和恢复 |
Persistence | 隐藏(软件)资源是在内存中还是在磁盘上 |
分布式系统透明性的不同形式。
1.3 开放性 Openess
- 是指系统以各种方式进行扩展的能力。核心是要求不同厂家的系统(软硬件)具有互操作性(Interoperability)和可移植性(Portability)
互操作性:不同厂家的系统可有效地相互交换信息
可移植性:在较大范围的平台上运行同一软件的功能
UNIX是一个优秀的开放式软件系统:开放式结构、源代码可用、硬件无关性;TCP/IP协议是另一个开放式系统的例子
- 标准化是实现开放性的基本保证
标准是已被广泛接受的一种特定实现方法或功能集(接口)。
开房放概念是一种思想、设计观点、系统特征。因此,标准并不意味着是最好的、并不总是绝对需要的(尤其是在早期)、不是一成不变的。
国际标准化组织ISO。
1.4 延展性 Scalability
延展性的制约:
Concept | Example |
---|---|
Centralized services 集中服务 | 一台适用于所有用户的服务器 |
Centralized data 集中数据 | 一本在线电话簿 |
Centralized algorithms 集中式算法 | 根据完整信息进行路由 |
Scaling Techniques
1.5 容错性 Fault Tolerance
基本概念 系统部分失效是能继续发挥作用的能力。如某个网络节点故障而不影响网络系统正常行为。
分布计算系统的资源多重性为实现容错创造条件:硬件资源冗余、数据多副本、动态切换。
系统容错是提高系统可靠性的重要途径。可靠性描述了系统成功运行的寿命特性。
容错性是分布计算应用的强烈需求:国防应用系统,电子商务应用的电子支付系统。