分布式系统设计与应用范例6篇

前言:中文期刊网精心挑选了分布式系统设计与应用范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。

分布式系统设计与应用

分布式系统设计与应用范文1

关键词:调度自动化系统;分布式部署;集中式部署;负载均衡

引 言

电网调度自动化系统中III区Web的传统部署方案是采用普通的集中式部署和带负载均衡的集中式部署,这种部署方案用户使用起来简单方便,维护人员也便于管理,对于基本的SCADA、PUBLIC和PAS等应用也能满足要求。但在这种部署方案下,III区仅仅是I区的一个镜像,用户只能进行图形、报表、曲线、数据、告警信息等的浏览和查询,而无法进行进一步的分析、规划和推演。随着电网规模的不断扩大化和复杂化,方式、生计、继保等部门或专业不仅是要通过Web系统对电网进行监视,更需要能够在当前、历史以及各种假想的电网状态下对电网进行分析、规划、推演和培训,这就需要在III区实现PAS应用中的调度员潮流、静态安全分析、短路计算、灵敏度分析和DTS等应用。为满足这种需求,对于规模较小、访问客户端较少的系统来说,仍然可以用以往的集中式部署方案,将新增的PAS应用直接部署在原有的Web服务器上。但对于网省调以及大型的地调而言,Web服务器上已经集中部署了I区的所有应用,再加上访问客户端数量庞大,服务器会不堪重负,随着系统的进一步扩大和客户端的增加,服务器上的资源最终会被耗尽,导致III区系统不可用。为解决这个问题,我们在深圳EMS系统上提出了全新的WebIII区分布式部署方案。该方案实施后将会充分利用OPEN-3000的数据资源、技术资源以及设备资源,发挥III区系统的功能,有效的节约人力维护成本及系统建设成本,极大提高了III区WEB服务的稳定性,为方便用户使用以及管理产生效益,提供有力的技术支持和保障。

1 系统方案设计

1.1 设计目标

伴随着计算机技术和电力系统行业的发展,III区Web服务已经得到越来越多业内人士的关注,因此,在方案设计时,我们确定了以下目标:

1) 降低原服务器的负载:通过将数据库服务器和各应用服务器分开部署,以达到降低原服务器负载的目的,这样,既保证在访问客户端较多的情况下访问服务不受影响,又可以在III区发挥OPEN-3000强大的计算和分析功能。

2) 技术的先进性:通过对III区进行分布式部署,使得系统具备更高的性能、更优化的功能、更广的应用范围、更好的展示方式和更强的实用性。

3) 使用方便性和简单易维护性:在继续发挥原有的优势下,使用方面,提供全面而简洁的分层次展示方式,方便客户端访问系统的全局信息;维护方面,充分考虑分布式部署的特点,并实现I区数据信息的全局共享,向用户提供完善的维护机制、信息集中展示手段、运行状态监视工具、自动/手动修复工具等,使得系统使用简单化,维护简易化。

4) 安全可靠性目标:按照分布式部署方案,单列各个功能模块,全面提高系统的稳定性和可靠性,并关注网络安全方面的相关技术,如物理隔离、防火墙、入侵检测、安全加固等,实施相应的安全解决方案。

5) 标准化目标:OPEN-3000系统遵循最新的国际标准,包括IEC61970、IEC61968等标准,继续发挥在原有标准执行上的优势,如IEC 60870-5系列、IEC 60870-6系列(TASE.2)等,同时关注将来会对系统产生影响的标准,如IEC 61850。

6) 软硬件平立:系统支持包括ALPHA、SUN、IBM、HP在内的各种服务器,实现完善的跨平台功能。客户端PC机使用标准的IE6.0。

1.2 设计方案

1.2.1 集中式部署方式

III区原有的集中式部署方式如下图所示,数据库和各应用服务都分布在两台Web服务器上,通过负载均衡方式来调节两台Web服务器的工作效率。

图1.2.1 WebIII区集中式部署方式

这种分布方式下III区系统管理方式的实现比较简单,如果是一台Web服务器,客户端则通过指定的IP地址进行访问,如果是两台负载均衡的Web服务器,客户端则根据简单策略来决定连哪台服务器。

1.2.2 分布式部署方式

分布式部署方式与集中式部署方式在设计架构上有很大的区别,所有的应用不再集中于一台或者两台服务器,将应用进行剥离,同时继续选择负载均衡的方式,这样,既能保留集中式部署的优点,又极大地提高了III区的访问效率。如下图所示

从上图可以看到,数据库服务和各应用服务进行了有效分布,这种分布,一方面可以有效地降低原服务器的负载,提升系统的可扩展性;另外一方面,降低了各应用间的耦合程度,减少应用间对计算机资源的竞争,对于系统的管理、维护、升级以及用户的使用都会带来很大的好处。

2 关键技术

对于在III区实现分布式部署,可行的方式是在应用服务器上实现系统管理服务,同时在客户端实现系统管理感知,通过申请和订阅两种方式来让客户端获取III区完成的系统管理信息。

2.1 满足客户端对III区各项功能的统一访问的需求

通过对Web模块做相应的改造,使得Web服务器不再和应用服务器绑定在一起,用户在Web客户端将可以通过统一的地址对III区的应用服务器进行统一访问,而不必根据各个应用的不同来切换不同的地址。

2.1.1 Web客户端hosts文件的更新逻辑

客户端向服务器发送corba请求时,都是以机器名作为表征的,但tcp/ip 连接最终还是把机器名翻译成ip地址在网络上传送报文,这一步的实现就要靠客户端上的hosts文件。为了让客户端能够得到III区里所有服务器的ip分布,我们必须有一种机制保证每个客户端的hosts文件中都写入所有服务器的ip地址和主机名。一台第一次访问Web的客户端仅有的信息就是Web的地址,我们将这个地址作为整个Web系统的一个标准地址,然后通过从服务端下载到本地的某些文件中记录的主机名和与该标准地址的一个偏移量来得到整个web系统各台服务器的真实ip和主机名的对应关系。具体实施如下,

在WEB服务器上配置了host.ini和apphost.ini这两个配置文件,在host.ini中,分别记录了WEB服务器的名称以及与地址的偏移量, 例如,WEB服务器的地址为:10.10.20.1,在host.ini中,有两条记录:0 web1和1 web2,这说明,机器名为web1的WEB服务器的IP为10.10.20.1,而机器名为web2的WEB服务器的IP为10.10.20.2。mini_web的程序处理中,先读取host.ini,然后按照配置的规则分别存储主机名和其对应的IP地址,但为了提高对本机hosts文件的读写速度,在更新本机hosts文件的函数中,区别主机名不同IP不同,主机名相同IP不同,主机名相同IP相同这三种状况,对于前两种情况则需要更新本地的hosts文件,而对于最后一种情况,则无需更新hosts文件,这样就提高了对hosts文件的读写速度,提高了程序的处理效率。host.ini和apphost.ini两个文件的格式是类似的, 所不同的是, host.ini文件中记录了多台web服务器的主机名和偏移量,而 apphost.ini文件中记录了多台应用服务器的主机名和偏移量。在host.ini文件中的主机是要配置负载均衡的。

2.2在corba通讯的层面

客户端的应用程序需要和相关应用的服务器建立网络连接,发送请求报文,接收服务器传回的数据报文。在建立网络连接的时候,客户端需要知道相关应用的服务的主机的机器名或者需要知道相关应用的最轻负荷的服务器机器名。在I区,客户端可以通过调用系统管理相应的接口得到这些相关的信息,但是在III区的客户端,由于不存在系统管理模块,客户端无法获得这些必要的信息。在应用服务器没有做分离之前,我们可以简单的将对任意应用服务主机的请求都转化成对web服务器的请求。但是一旦做了应用服务器的分离,部分应用不再运行在web服务器上,客户机就必须知道这些信息。为此,我们在web服务器上增加了一个程序web_unique,这个程序是运行在web服务器上的常驻进程,客户端程序在每次要获取相关应用服务的数据之前,都会向web_unique进程发出询问请求,web_unique会将当前III区web系统内所有应用、节点的分布情况都以特定的格式返回给客户端程序,客户端程序从中选取自己需要访问的应用机器名,然后转而向该机器发出真正的数据请求报文。

2.3在消息总线通讯的层面

在web客户端发送通道消息时,与非web系统发送通道消息采取不同的工作方式。非web系统发送通道消息时,消息总线首先检查有哪些机器订阅了该通道的消息,然后根据订阅该通道消息的节点数目,将该消息分别复制出相应的份数,然后分别发送给对应的节点,这样虽然应用分布在不同的机器上,对应的机器能也收到一份通道消息拷贝。而对于web应用而言,是无法采用这样的工作方式的。如果应用的节点与web服务器分离,这个节点实际上是隐藏在web服务器之后,web客户端不能与这个节点直接交互。 Web客户端的消息要经过web服务器上的net_tunnel程序进行转发,在旧的代码中,net_tunnel认为客户端只与web服务器进行交换,在接收到web客户端发来的通道消息以后,直接将消息交付给本节点的消息总线,因而只能web节点才能接收到通道消息。在应用分离后,我们对net_tunnel程序进行了改造,在web服务器接收到web客户端发来的消息以后,将自己伪装成普通的本地应用程序,重新发送该消息,再次检查有哪些节点订阅了该通道,把此消息复制一份交付给相应的应用节点。

2.4 实现负荷预报、110kV电网合环风险分析等I区PAS应用在III区的部署

针对深圳用户在III区实现PAS多个模块功能的需求,但是鉴于PAS模块涉及到大量的计算,会占用系统的大量资源,因此我们目前在深圳III区系统上只实现了调度员潮流功能。此次改造由于新增了两台服务器,突破了III区原有硬件的性能瓶颈,可以为III区PAS应用其它模块功能的部署提供了基础条件,既有利于EMS系统的应用推广,又为深圳电网调度运行分析提供更丰富、更方便的手段。我们将对PAS的各模块进行相应的修改,从而在III区实现负荷预报、静态安全分析、短路电流计算、110kV电网合环风险分析、10kV电网合环风险分析、电网规划分析等电网分析功能,使上述功能达到实用化的要求。

3 结论

III区的分布式部署方案以降低III区原服务器的负载从而提高系统的可扩展性为目标,符合国网公司“集团化运作、集约化发展、精益化管理、标准化建设”的要求,具有如下一些特点:

(1) 先进性

III区的分布式部署方案与传统的集中式部署方案相比,具有很高的先进性。不但降低了原服务器的负载,而且通过各个应用服务器的分离降低了各个应用之间的耦合度,减少了应用间对计算机资源的竞争,对于系统的管理和可扩展性都带来了极大的先进性。

(2) 高可靠性

III区的分布式部署方案给系统带来先进性的同时,也带来了更高的可靠性。将各个应用分开,降低了各应用之间的耦合度,给系统带来了更高的可靠性。

(3) 高实用性

分布式系统设计与应用范文2

关键词:分布式系统;基于Web;软件设计

中图分类号:TP311.52 文献标识码:A 文章编号:1007-9599 (2012) 13-0000-02

Web因其灵巧性、运用起来牢靠、方便、处理问题快捷、准确等显著的优势特点而有了较为广阔的发展前途,在信息技术领域内,其应用度和普及度也有了很大程度的提升。本文先阐明控制系统软件设计的原则、方法与控制系统软件的功能作用,接着介绍应用服务器的设计与实现途经,并列举该控制系统的应用实例。

一、基于Web的分布式计算机过程控制系统的设计原则与功能

基于Web的分布式应用凭借Web服务为主要媒介、载体,现如今,随着知识经济时代下信息化程度的不断提高,Web服务因具备计算机信息网络的诸多性能优势而赢得了信息界极为一致的好评与赞誉。Web服务该模型在因特网上借助已有的服务和设施,与应用有机结合起来了,也生动体现了黑盒功能特性,开发者会在不需要考量怎样满足服务需求的情形下简便地开发、重用Web组件,也不需要注重那些应用或组件服务所必需的执行平台、运行环境或程序开发、设计原理等。下文着重介绍该控制软件设计需要遵循的规则和控制系统软件的功能特点。

(一)基于Web的分布式计算机系统的内涵

分布式系统作为以网络为基础的软件系统,具备软件特有的性质,因此分布式计算机控制系统有着较高的透明性和内聚性。从这个意义上说,分布式系统和普通的网络之间的差异较为集中的体现在了高层系统软件上,比如操作系统,绝非硬件。透明性是针对全部数据库的分配节点,对于用户而言是显露的,无法判断是远程还是本地。内聚性则是将整个数据库里面的每一个结合点都施行独立运行。在以Web为前提条件的分布式控制软件系统中,用户无法感到数据是分散组合的,也就是说,用户不用明确是否有复本、关系有否割裂、数据保存在了哪一个节点和事务具体在哪里执行等事项。

在一个以Web服务器为基础的过程控制系统里,每一组群独立分布的计算机向用户的展示了高度有序的整体,这就作为系统予以充当。系统具备充足的逻辑资源和共通的物理资源,能够把应完成的任务实时调动给系统去执行,在系统中出现一个用整体的方法去处理任务的分布式系统。对用户而言,分布式系统有且只有一个模型。操作系统内部有一个专门用来完成这个模型的中间件。比较典型的案例就是在万维网里,全部的内容看上去就好似一个Web页面。

(二)分布式控制系统的分类

以Web作为基础的分布式过程软件系统能够完成分布式处理的任务,它主要包含分布式编程语言及其编译、运行系统、分布式文本系统、分布式数据库资源管理系统和分布式操作系统。

(三)系统设计的原则

在网络硬件设计的进程中,需要有平稳运行、有序、统一操纵、运用范围广阔和时效性优良的系统。现如今比较容易看到的网络协议主要是广泛用于基于互联网的TCP/IP协议以及Unix操作系统。信息网络化的运行方式有两种:一类是与客户和服务紧密相关的客户机/服务器的模式,另一类则是两者对等方式。在这中间,第一种是要借助一台或几十台电脑扮演服务器的角色,并负责为其余的电脑开展信息传送、数据信息传递、网络资源处理等任务。电脑的大量负荷必须专门由服务器独自实现。在处于同等状态、地位的网络系统里,每一台计算机都能扮演服务器的角色为其他计算机服务,又可以向另外的机器发送请求信号以便于第一时间获取相应地答复。

(四)控制系统软件的功能

本控制系统应用程序的功能较广泛、应用面相当宽,但经合理、清晰地分类汇总,主要有以下几个方面:计算机控制回路的组态功能,包含串连级控制系统软件的组态和单回路控制系统软件的组态;经由PSTN和以太网与其他计算机展开数据通信;依照特有的组态截面执行相对应的控制功能;用户可以扩展控制算法的功能;包含网络功能和数据采集卡等硬件情况的自我检测功能。为了达到上面所述的各项功能就需要努力实现Web服务器的设计。

二、基于Web的分布式计算机过程控制软件的设计方式

该控制软件不得不在特定的网络环境和程序语言环境下才能顺利地运行,若不在一个专门的环境中配置是无法真正有效地运行起来的。只要求Web浏览器,像Microsoft IE(Internet Explorer)或Netscape Navigator就可以了。服务器客户端主要包括应用服务器和Web服务器等。下面就来系统描述该控制软件设计的整体结构、目标和设计方法。

(一)控制软件设计的整体结构

该控制软件作为一项繁杂巨大的系统,要由通信行业的运营商、数字化地图的营销方和终端制造者等诸多方面的携手合作。一般而言,首先终端凭借扎实、牢固、精确地定位手段和途经获取个人位置的信息以后,经移动或者因特网,把刚刚的数据和命令清晰、准确地给数据网关,再由数据网管方面的专门技术人员负责解析取得的方位信息,将数据导入数据库中,然后给方位的服务站点,负责检测具置的服务类网站就会把里面较为详尽的状态信息以数字化地图的形式展现在众人面前,接着就发到浏览器客户端,从这个客户端就会更加形象、清楚地控制、监督终端系统。负责位置服务的网站在这一系统中发挥了中流砥柱的作用,不但承担起了系统的管理任务,还专职提供全部的方位服务。系统功能结构由服务管理和位置服务功能两大子系统构成,它们各自其责、独立工作,但又紧密协调地配合任务的完成。

分布式系统设计与应用范文3

关键词:横向可扩展性;分布系统;CAP理论;三中取二原则;BASE模型;一致性;可用性;分区容错性

0 引言

在计算机科学中,CAP理论又称之为布鲁尔定理(Brewer’S theorem),目前已成为分布式系统设计与构建的重要理论基石。它是加州伯克利分校计算机科学家埃里·布鲁尔(Eric Brewer)在1998年提出一个假说,并在2000年的分布式计算原则研讨会上发表。这个假说是Brewer及其同事在横向可扩展分布系统设计方面多年辛勤劳动的结晶。在2002年,麻省理工学院的赛斯·吉尔伯特(Seth Gilbert)和南希·林奇(Nancy Lynch)又完成了布鲁尔假说的证明,使之脱离了唯像学说而成为一个定理,但吉尔伯特和林奇证明的布鲁尔定理比布鲁尔假说狭义。

1 CAP需求

在分布式的环境下,设计和部署系统时主要考虑下述3个重要的核心系统需求。

一致性(Consistency):所有节点在同一时间具有相同的数据。

可用性(Availability):保证对于每个请求的成功或者失败都有响应。

分区容错性(Partition Tolerance):系统中信息的丢失或失败并不影响系统的运行。

上述3个重要的核心系统需求又简称为CAP需求。

1.1 一致性

在分布式系统中,数据存在多个副本。一致性是指对某数据操作之后,存在各副本中的该数据始终保持一致。通常将这种操作称为一致性操作,一致性操作是原子性的操作,即对数据的操作(增、删、改)结果是对所有数据副本全部成功才算操作成功,否则为失败。如果操作失败,则回退到一致性操作前的状态。

如果一个存储系统能够保证一致性,那么客户读取的数据可以保证是最新的数据,不会发生两个客户端在不同存储节点读取到不同的数据副本。

例1:N1、N1为网络中的两个节点,共享同一数据V,即一个是主本,另一个是副本,其初始值为V0。N1节点上有一个算法A,N2上有一个类似的算法B,利用A算法可以将新值写人V,而利用B算法可以读取V的值。

1)数据保持一致性情况。

(1)A写入新的V值,称作V1。

(2)N1发送信息给N2,更新N2的V值。

(3)B读取N2的V值,读取到的值将是V1。

2)数据出现不一致性情况。

如果网络断开(分区),从N1无法发送信息到N2,那么在第(3)步的时候,N2就会包含一个与N1中的不一致的V值,即在N1中的V=V1,在N2中的V=V0。

1.2 可用性

可用性是指客户端访问数据时,可以得到响应,但系统可用并不代表存储系统的所有节点提供的数据一致。如客户端想要读取文章评论,存储系统可以返回客户端数据,但评论缺少最新的一条。在这种情况下,我们仍然可以说系统可用。往往可对不同的应用设定一个定长响应时间,超过这个定长响应时间的服务认为不可用。可用性只表明服务可用,主要标志是可以完成或不能完成上述操作。如当用户购书时希望得到反馈,而不是看到浏览器报告网站无法连接的信息。

1.3 分区容错性

在分布系统中,为了提高系统性能,可以将同一数据的副本分布地存放在不同地点。分区容错性是指分布系统的容错性。更确切地说,除非网络的全部节点都出现故障,否则所有子集合节点的故障都不能导致整个系统的不正确响应。显然,将数据分布在不同节点上,就有形成分区的风险。如果网线被切断,分区就形成,两节点之间无法进行通信。网络分区是指由于某种原因网络被分成若干个孤立的互不相通区域。分区容错性也可以理解为系统在存在网络分区的情况下仍然可以接受满足一致性或可用性的请求。

2 CAP定理

CAP定理指出:在一个分布式系统构建中,不可能同时满足一致性、可用性和分区容错性三个系统需求,最多只能同时满足两个。对所设计系统的强调点不同,采用的策略也不一样。

分布系统在小规模、低压力、小延迟的情况下,CAP定理还不足以对系统总体性能造成影响,但随着活动增加与吞吐量上升将凸显其重要性。

对大型网站来说,可用性与分区容错性的优先级高于数据一致性,一般放弃一致性,尽量朝着可用性和分区容错性的方向设计,然后通过其他方法来保证一致性的商务需求。架构设计师不要将主要精力用在如何设计能同时满足三者的完美分布式系统,社交SNS网站可以容忍相对较长时间的不一致性,但需要最终一致性。

CAP的证明很简单,假设两个节点集{G1,G2},由于网络分片导致G1和G2之间所有的通讯都断开了,如果在G1中写,在G2中读刚写入的数据,G2中返回的值不可能是G1中的写人值。由于可用性的要求,G2一定要返回这次读请求,由于分区容错性的存在,导致不一致性。但由于一致性的要求,G2一定要返回这次读请求的一致性结果,由于分区容错性的存在,导致了长期等待,出现了不可用性。

2.1 异步网络模型

在异步网络模型中,没有统一时钟,对于所有对等运算(包括消息可丢失或不丢失的对等运算),不能实现同时满足可用性、一致性和分区容错性。

一个算法无法判断一个消息是否丢失或者在传输通道中被延迟。

2.2 部分同步网络模型

对于一个部分同步的网络模型,假设所有的节点都有一个时钟,并且所有的时钟以一个相同的速度变化。然而,这些时钟并不同步,在相同的时间,它们显示不同的时间值。事实上,时钟扮演计时器的角色,处理器可以根据本地状态变量去衡量流逝了多少时间。一个本地的计时器可以用来确定调度某事件之后,经过多长时间间隔进行另一个操作。进而假设每一个消息要么在给定的时间内到达,要么丢失。并且所有节点在给定时间内处理完一个接收到的消息。

在一个部分同步网络模型中,对于所有对等运算(包括消息可丢失的对等运算),不能实现同时满足可用性、一致性和分区容错性。

在Google使用廉价的PC机搭建了强大的、高可靠的计算和存储平台之后,互联网公司一致性地选择使用PC集群支撑全部的业务,这个理论指明了实现满足可用性、分区容错性的分布式系统可行,并且该分布式系统在没有故障的情况下可以提供良好的一致性读写。

2.3 三中取二原则

CAP定理阐明分布系统构建中的3个核心系统需求不能够全部同时满足,强调一致性就需要处理因为系统不可用而导致的写操作失败的情况;如果强调可用性,那么应该知道系统的读操作可能不能精确的读取到写操作写入的最新值。因此系统的强调点不同,相应采用的策略也不一样,只有真正理解了系统的需求,才有可能合理使用CAP理论。

目前互联网中的很多分布式系统是基于首要满足可用性和分区容错性而设计。当处理CAP的问题时,存在下述几个选择。

1)放弃可用性。

如果选择分区容错性和一致性,放弃了可用性,那么即使节点损坏,为保证一致性,必须百分之百地保证所有节点之间有很好的连通性,这是很难做到的。最好的办法就是将所有数据放到同一个节点中,但显然这种设计一旦遇到分区事件,受影响的服务需要等待数据一致,在等待期间就无法对外提供服务。在多个节点上控制数据一致相当复杂,而且恢复的节点需要处理逻辑,以便平滑地返回服务状态。

满足一致性与分区容错性的系统主要是一些键‘-’值数据库,典型代表为Google的BigTable等系统。

2)放弃分区容错性。

如果要满足一致性和可用性,必须要有回滚操作。这样,系统显然无法容忍分区,当同一数据的两个副本分配到了两个无法通信的分区上并需要回滚操作时,将会返回错误的数据。

满足一致性和可用性的系统通常在可扩展性方面不太强,如传统的关系数据库系统MySQL等。

3)放弃一致性。

如果选择分区容错性和可用性,放弃了一致性,当节点损坏时,遇到分区事件,受影响的服务不需要等待数据一致,就可以对外提供服务,保证了可用性。

满足可用性与分区容错性的系统主要是一些面向文档的适用于分布式系统的数据库,如SimpleDB。

两个节点分处分区两侧,允许至少一个节点更新状态将导致数据不一致,即丧失了一致性。除非两个节点可以互相通信,才能既保证一致性又保证可用性,这又会导致丧失分区容错性。对于跨区域的系统,设计者无法舍弃分区容错性,那么就只能在数据一致性和可用性上做一个艰难选择。一般说来,NoSQL的主题是创造可用性优先、数据一致性其次的方案;而传统关系数据库保持ACID特性(原子性、一致性、隔离性和持久性)。

3 BASE模型

BASE模型在20世纪90年代末提出,基于同性质之间的取舍,考虑了高可用性的设计。BASE(Basically Available,Soft-state,Eventuallyconsistent)是基本可用、软状态、最终一致性的英文缩写。BASE思想主要强调基本的可用性,显然BASE支持最终一致的概念。BASE是ACID的反面,BASE要求牺牲高一致性,获得可用性或可靠性。BASE理论是CAP理论结合解决实际问题的产物。大规模跨区域分布的系统,包括云在内,也运用了这种思路。

BASE方法通过牺牲一致性来提高可用性和系统性能。

3.1 不同程度的一致性

基于程度的不同,一致性可有下面表述。

(1)强一致性。强一致性又称为即时一致性,假如A操作先写人了一个值到存储系统,存储系统保证后续A、B、C的读取操作都将返回最新值。

(2)弱一致性。假如A先写入了一个值到存储系统,存储系统不能保证后续A、B、C的读取操作能读取到最新值,即A写完的数据并不能立刻读到。

(3)最终一致性。最终一致性是弱一致性的一种特例,是指系统需要在某一时刻后达到一致性要求。假如A首先写了一个值到存储系统,存储系统保证如果在A、B、C后续读取之前没有其他写操作更新同样的值,最终所有的读取操作都将读取到A写入的最新值。即最终数据是一致的就可以了,而不是时时一致。最终一致性方面最典型的系统可以说是DNS系统,当更新一个域名的IP以后,根据配置策略以及缓存控制策略的不同,所有的客户最终都会看到最新的值。

3.2 基本可用

基本可用的含义是系统能够基本运行、始终提供服务。BASE模型与ACID模型相反,通过牺牲高一致性,获得可用性分区容错性。

3.3 软状态

软状态是指系统不要求一直保持强一致状态,可以有一段时间不同步。软状态也可以理解为无连接的,而硬状态是有连接的。

分布式系统设计与应用范文4

关键词:分布式系统,综合化,动态化,前期仿真

 

0.引言

智能建筑的基本问题实质上是信息、资源和任务的综合共享与全局一体化的综合管理。它实现的核心是系统集成,也就是说通过系统集成实现综合共享,提高服务质量和工作效率,达到多快、好省和高效的目的。然而,随着社会信息化进程的日益发展和受人们对经济日益国际化趋势的认同,智能建筑必将呈现出新的态势,这种态势体现在进行系统集成的同时,考虑建筑物的异构性、分布性、动态性和碎片性等因素的影响下,应充分体现系统的分布化、综合化、动态化和智能化,这是建筑智能化进程中一个必须重视的战略性问题。另外,任何工程对方案的考核是至关重要的,就智能大厦而言,对方案的考核是一个不容忽视的问题,所以对设计方案的前期仿真很有必要。

1.一体集成的分布化

智能大厦的系统一体化集成实质上是建立在系统集成、功能集成、网络集成和软件界面集成的多种集成的基础上的一门高新技术。智能一体化集成化的本质是计算机网络的管理。传统的集成式网络管理系统难以适应网络规模日益扩大、网络元素日益复杂的楼宇智能化要求,需要引入分布式管理方法。

分布式管理就是将管理的功能合理地分布于多个管理实体,以便有效、及时地对网络资源进行监视、约束和控制,提高响应效率和扩展功能,更好地实现网络管理目标。一个实际的网络系统,可以根据管理的需要,按照地域、功能子系统、网络等定义相对独立的管理域并选定其管理者;各管理域通过管理者的交互实现全局管理目标。管理者之间的交互有两种结构:层次的和全分布的。层次结构是通过上层管理者与下层管理者的交互来完成各管理域的管理者之间的协调。全分布式结构是一种对等结构,采用该方式的管理者之间能直接对等通信。一个实际的应用系统,管理的分布化的过程就是将管理应用功能由集中式客户机/服务器(Client/Server)模式转移到分布式计算平台的过程。分布式计算平台的目标是实现跨平台资源的透明互操作和协同计算。

当前支持分布式计算主要有两类环境:基于过程的分布式计算和面向对象的分布式计算。目前的主流是后一类。如基于CORBA(CommonObject Request Broker Architecture,公共对象请求体系结构)和Java的计算,它们采用面向对象的技术,提供对象式的应用编程接口,主要是针对重用和异构环境下的操作问题,这对相对庞大和复杂的智能大厦系统是非常适用的,目前CORBA技术已引起业界的关注和重视[5]。CORBA是一个开放式跨平台的、语言独立的分布式标准,它引入的概念屏蔽了下层的网络传输,利用面向对象概念,实现分布式应用软件的可重用性和可扩展性,既大大简化了分布式应用系统的开发和维护,又便于异构环境下的集成,具有更高的可用性和可靠性的优点。目前遵从CORBA规范的产品主要有Inprise公司的VisiBroker,IONA公司的Orbix,Digital公司的ObjectBroker,IBM公司的Component Broker等,将基于面向对象的分布式计算技术引入智能建筑是顺应技术潮流的,同时它应是甲乙类智能建筑的技术要求。

另外,分布式管理系统更容易实现大厦的智能化,不仅能实现管理的并行性和分布性,而且具有对管理活动的全过程进行多目标、多因素、多阶段、多层次的协调,实现管理系统的整体协调和全局优化。

2.一体集成的综合化

网络是建筑物智能化的基础,系统一体化是以网络为支撑的,网络信息来源于不同实体,随着智能建筑的不断深化,被管理的对象趋于复杂化,复杂化的因素主要有:被管理的对象趋于复杂化,复杂化的因素主要有:被管理的数量、对象的种类、组织的异构性、物理分布、参与组织的单元的数量、服务综合的程度等,这时,由传统的相对单一的网络管理扩展为基于分布化的网络综合管理是环境的必然要求。

环境是系统存在、变化、发展的外部条件;系统与环境相互作用、相互影响,进行信息、能量或物质的交换。

综合管理是指确保系统的所有资源根据其目的而有效运营的所有手段,它是系统与环境相统一的产物。有关综合管理的平台也在不断涌现和改进,如基于事件(event)的驱动轮询方案,基于CORBA平台的方案。论文大全。

3.一体集成的动态性

事物的发展是m相对稳定的,在相对稳定的情况下,随着环境的需要仍在不断的发展和完善。智能建筑系统一体化集成的动态性是基于分布式的管理系统,也只有分布式的管理系统才能更好地实现其动态化。

动态化有两个含义:其一是故障的检测与动态重组恢复;其二是系统具有可扩展性。分布式系统具有故障诊断软件包,采用互查技术来检测系统发生故障的部位,并进行处理,动态地分配或重组系统,使系统工作于可靠状态。分布式系统采用并行处理技术,可满足智能大厦分阶段建筑使用的要求,边组织,边开通,从而减少了一次性开通的难度和避免了一次性投资的方式。另外分布式系统的硬件和软件都是模块化的,模块的连接嵌入比较方便,能够很好地配合日益扩大的系统需求,便于提高和完善系统的性能,保障了系统的动态先进性。系统的动态化要求使用动态的管理策略,由于Java和CORBA的迅速发展,动态管理技术也在日趋成熟。

4.前期仿真

智能大厦的建设除了要达到预期的目标,即提供安全、舒适、快捷的优质服务,建立先进、科学的综合管理机制,节省能源和降低成本,还要达到系统的优化配置以减少投资。这就需要在工程实施前对系统设计的基本要求和功能进行考核,以便查漏补缺和修正。论文大全。另外,因为智能大厦的网络集成不同于研究试验网,网络系统可靠性、开放性等要素对大厦的智能化管理和提高运行效率具有十分重要的意义,所以,对智能大厦的前期仿真就显得不仅十分必要而且十分重要。

由美国的Cleve和Moler博士在1980年前后创立的、正在蓬勃发展的Matlab为系统的动态仿真提供了良好的环境。Matlab的家族成员之一的Simulink为系统的仿真更是提供了极大的方便,综合其它软件的使用可以使该软件在智能建筑的CAD中发挥更大的作用;此软件也能为其它软件提供良好的接口,便于SynchroHome等智能化集成系统软件的调用。论文大全。该软件有两个明显的功能;连接与仿真。首先利用鼠标在模型窗口上画出所需的系统模型。然后利用软件提供的功能对系统直接进行仿真,在系统的任何节点上可以输出波形,从而更好地监控系统的工作过程,并实时地对系统模型进行修改以达到预期目的。这种思想和方法适合于智能大厦一体化集成的仿真与分析,相信基于Simulink的仿真技术必将在智能建筑的CAD中打开一个崭新的局面。

5.结论

通过以上分析可见,随着智能大厦进程的不断加快和深化,随着“数字城市”和“数字地球”研究的不断深入,智能大厦系统集成的主要趋势将是分布化、综合化、动态化,它们之间的关系是相辅和承和互相促进的;同时由于智能大厦的建设是一种投资行为,对其进行前期仿真是十分必要性。

分布式系统设计与应用范文5

关键词:电力系统;继电保护及故障;信息子站系统

中图分类号:TM77 文献标识码:A目前,电力系统对继电保护故障信息子站系统双机的切换要求越来越高,不仅要求保护故障信息子站系统在其中每台出现问题故障时能做到双机切换,而且需要在切换过程中保证数据的安全、完整、可靠性必须完全正确。电子系统调度自动化(SCADA/EMS)系统和相关技术在目前已经非常完善,电力网络一次系统运行监控、管理、分析的自动化水平也已经得到了卓越的发展和进步。

根据电力系统结构的本身特点,且电力系统继电保护及故障信息管理系统应该具备层次化的结构特性,其结构应该包括有:监控管理中心主站系统;置于变电站内的子站系统;保护、录波器等二次装置。顾及到大量保护及录波器等二次装配的复杂及多样性,在变电站内设置了继电保护与故障信息子站系统(又称为PRFIS子站系统)将是PRFIS系统实现成功的关键。并且根据IEC 61850 等相关技术标准、采用OMG分布式系统和CORBA设计实现高性能的PRFIS子站系统。

一、系统设计目标

作为构成继电保护及故障信息系统的变电站层子站系统的PRFIS子站系统,它主要设计的目标可以概括为:

1、数据汇集与转发;实现主站与二次设备之间的有效数据通信是在二次设备与PRFIS子站系统互联的“通信网关”下在节省通信资源及减小通信的前提下进行的。

2、数据的缓冲:内部配有小型数据库系统,可实现故障数据的缓冲处理,从而增强整个PRFIS系统的安全可靠性。

3、数据预备处理:信息的预处理部分可以实现,比如信息过滤等等。既可以减轻主系统的压力,又可以提高处理数据的效率。

4、多样性设备的阻挡,整个PRFIS系统的可维护和可扩张性的提高:PRFIS子系统可以连接“即插即用”式的不同厂家及型号的二次设备的通讯规约库,可以对主站阻挡连接多样性的二次设备,确而保证整个PRFIS系统的可维护性、可扩张性和开放性。

5、远程维护:在授权充分的条件下远程维护就如身临在现场,特别对于没有值班人员时,对系统的维护及管理带来了极大的方便。

6、对时:二次装置的时钟源需要具备硬对时与软对时的功能。

7、具有自检能力的子站系统,能够产生自检报告,向主站系统上报。

8、强大的就地功能。用户可以使用便携式计算机、子站后台及站内监控后台等方式使用维护接口及维护软件的对系统进行维护。子站系统可以安装任何工具软件以实现对子站系统的管理。

二、硬件平台

采用目前最先进的嵌入式硬件系统的思想设计的PRFIS子站系统主机硬件系统,全部的硬件系统不仅小巧,并且可靠及耐用。模块化和分层分布式是嵌入式子站管理机采用的结构,装置是由多个智能模块组成,模块类型主要有主管模块、交换机模块和装置接入模块、I/O模块、电源模块、GPS对时模块、等。各个智能模块之间通过高速背板总线交换着数据,不仅仅每个智能模块间可以自由的正常工作,其它模块之间也可以充分的相互配合。PRFIS子站系统的特点主要有:

1、主机装置化,只有2U高度的整个系统,有典型的装置化特点。尺寸的要求符合机柜的要求,可直接安装在机柜上。2、功耗低。全部装置消耗不超过15W,无需任何散热设施。3、可以连接键盘、显示器。根据要求使用标准的显示器和PS2键盘。4)支持220V交直流电。5)多种通讯方式可兼容。可在通过不同连接方式,通过一个端口实现多种通讯方式的兼容,无需任何跳线。6)光电隔离设计。运用在所以的通信端口,保证PRFIS子站系统主机运行时不会受到外界干扰,同时芯片也采用了防静电设计,可抵抗高达1500V的静电。7)RJ45接口,既方便又可靠。此接口专业用在高速以太网连接的接口。8)可扩充性。可以通过装置本身本身自带的USB接口和网口,可连接各种标准扩展设置。

三、软件系统设置。

软件系统的设计从软件系统设计、操作系统平台、端口处理线程与“即插即用”、主处理进程、数据库系统、基于IEC61850的CORBA服务器、PRFIS子站系统应用工具软件体现。

1、软件系统设计

PRFIS子站系统关键的软件结构包括:端口处理线程、主处理进程、数据库管理系统、事件处理程序、基于IEC61850的CORBA服务器

2、操作系统平台

PRFIS子站主机系统采用的是嵌入式操作系统。此系统比现代系统运行稳定、可靠、高效、安全并且易维护,供给了强大的网络功能,便于远程管理。

采用此系统的内置标准数据管理系统,为故障信息的处理、管理与使用提供了有力保障。

3、端口处理线程与“即插即用”

本线程由主处理进程系统启动时,据存贮在数据库中的信息自动启动,一个通信端口相对应端口处理线程,负责处理相应端口上所以智能二次设备的通信程序,端口处理线程会根据配置好的信息确定相应的通信规则,并配置相应的规约处理程序。对应的端口处理线程会处理和全部保护及录波器等的二次装置的通信任务,支持二次装置的即插即用是其规约处理程序的可配置性致使PRFIS子站在软件体系结构。

4、主处理进程

PRFIS子站软件系统复位启动时的入口程序之一有主处理进程,它的功能主义包括了:根据系统配置信息自动启动和管理端口处理线程,分别实现了各端口处理线程、数据库管理系统、CORBA服务器、事件处理器之间的异步通信,并且也可作为核心调度程序实现信息中转。

5、数据库系统

数据库统一管理端口处理线程收集并且处理的数据,再由数据库统一提供访问与安全管理机制,方便故障信息的处理和共享。也可经过数据库集中的管理产品系统参数配置,可提高产品的运行于维护的方便。稳定、可靠及高效。

6、事件处理程序

若电网出现故障时,PRFIS子站系统一方会自主的搜集关于设备的故障信息,另一方面会将搜集到的信息传递到主站系统,形成非常完整事件的处理流程,事件的处理程序是在IEC61580标准中面向对象的通用变电站事件信息结构定义和通用变电站事件模型设计的。

子站系统所连接二次装置中所产生事件的记录信息是由事件处理程序负责,并转换成为GOOSE定义的事件信息结构,再采用标准的事件通知服务技术,然后服务接口调用运行于PRFIS主站系统的时间通知服务器的接口任务,将事件推向主站系统,从而实现二次装置产生的数据信息主动送上。

四、基于IEC61850的CORBA服务器

1、关于IEC61859

IEC61850作为变电站通信和系统技术标准,它的核心内容规范要建立在信息模型上的抽象通信接口服务的变电系统的信息模型。但是其实质的目的是实现变电站系统与其他自动化系统开放地互联及互相操作与变电站自动化系统内部智能设备之间开放的信息互操作。IEC61850所规定变电站系统的信息模型和抽象通信接口服务,并且全部采取面向对象的思想构思,因此需要经过映射处理。

2、OMG分布式系统标准与CORBA技术的实现

网络化硬件环境是PRFIS子站的软件系统的基础,但是应用程序在网络环境下也是需要分散的。因而组成全部软件系统的各个组成部分分别运行在网络内不同计算机平台上的,并且能够协调运行。分布式系统可以使用网络和计算器资源得到充分有效的运用,但其就像本系统开发的背景一样,通常具有不同的硬件平台及操作系统,因此在这些分布式网络环境下,采取传统软件思想开发分布式系统非常困难且易于出错,并且会不可避免的重复工作。

CORBA是种国际标准及规范,只有根据这个标准,所有厂家采用任何语言开发的都能实现交互操作(运用对象组件)。

3、 IEC61850标准是由IEC61850模型映射到CORBA服务器要以CORBA技术实现的,需要做到以下工作:1)面向对象的信息模型是将标准规定的信息模型映射成的。2)将ACSI映射成CORBA服务器接口考虑到现场二次装置的复杂性和多样性,PRFIS子站的CORBA服务器同时实现了ACSI以外的多接口,以支持过渡性的系统构造方案。

五、系统的应用

该系统已经成功运用某变电站,站内保护的设备及故障录波器设备通过网络接入到了该系统。在本身有的的网络的基础上,将保护设备与故障录波器设备统一接连至PRFIS子站系统,通过光纤网络送到局端,可实现局端对站设备的管理维护,运行表明了系统具有以下功能特点:

1)在电力系统运行及故障的情况下全部都能够按真实情况反映、记录数据并且告警系统的相关信息,包含了电网运行的参考数据、设备通讯的状况、保护压板投切、开关动作、定值区切换、故障录波、保护动作等。

2)系统供给了简单并且直接的查询方法,可以对保护设备、故障录波设备进行管理,同时提供对电力系统运行信息的快速有效的查询。

3)根据需定义各个层次的用户操作权限,权限定义可与设备相关联,用户登录、注销及操作在系统中都有记录,可预备查询。

小结

系统根据IEC61850等其他相关标准设计,并且采用CORBA技术映射其抽象通信服务接口。系统采取层次化的体系结构,可以与任何厂家、型号的保护等二次设备的"即插即用"。系统采用了嵌入式软、硬件平台技术,安全、可靠、耐用、支持通用、标准的软硬件产品配套,系统整体设计先进、功能完善实用、具有良好的可维护性、扩充性及开放性。

随着电网迅速的发展,保护死区问题造成的危害愈来愈大,所以,希望引起电网管理部门的重视,及时采取防范的措施。

参考文献

[1]陈玉,刘成林.继电保护故障信息系统双机互备的方案和应用[D].电力系统通信,2011(230).

分布式系统设计与应用范文6

“操作系统”是计算机学科一门专业必修课程,课程内容丰富,既要讲授关于操作系统的基础理论,又要让学生了解实际操作系统的设计与实现。为了进一步加强北航计算机学院“操作系统”课程的建设,提高课程质量,我们对国外40多所高校的“操作系统”的课程设置、教学内容等进行了调研。下面结合调研情况,介绍CC(Computing Curricula) 2001有关操作系统的教学内容和几所有代表性的国外高校操作系统的课程设置。

1 CC2001

CC2001[1]认为,操作系统是硬件的抽象,人们通过它来控制硬件,进行计算机用户间的资源分配工作。这门课主要讲述影响现代操作系统设计的各种因素及实际操作。

近些年来操作系统和其抽象机制相对于应用软件变得更加复杂,这就要求学生在系统学习内部算法实现和数据结构之前对操作系统有比较深入的理解。课程设置不仅强调了操作系统的使用,更强调它的设计和实现。操作系统中的许多思想也可用于计算机的其他领域,如并发程序设计、算法设计和实现、虚拟环境的创建、安全系统的创建及网络管理等。对于计算机科学专业,其核心知识点为:操作系统概述、操作系统原理、并发性、调度与分派、内存管理。可选的知识点为:设备管理、安全与保护、文件系统、实时和嵌入式系统、容错、系统性能评价和脚本。

另外,新出的CC2005 Overview report[2]中为了适应不同的教学要求,将“操作系统”课程分为了两门:操作系统原理与设计、操作系统配置与使用。

2 国外操作系统课程设置

2.1Princeton University

课程介绍:该校的“操作系统”教学理念是:掌握操作系统的唯一途径是构造一个真正的操作系统。因此教学中注重设计和分析操作系统,教学内容包括:进程,互斥,同步,信号量,管程,死锁预防和检测,存储管理,虚拟存储,进程调度,磁盘管理,文件系统,安全保护,分布式系统。

实习项目:课程所设计的6个项目就是用来构造真正的操作系统。课程结束时,学生将有一个小的、真正操作系统内核。学生2人构成一个小组,3个项目后重组,这样有机会同他人合作。每个项目分设计和完成两个阶段。项目包括:引导机制、非抢占式调度、抢占式调度、进程间通信与进程调度、虚存和文件系统等六项。

教学方法:采用讲课与课堂中讨论结合的方式,教师提前提供阅读分配材料、讨论课题及练习。学生在上课之前先行阅读和思考讨论题。相信学生们可以互相学习,鼓励在项目中互相帮助。为了鼓励合作,学生有机会报告谁对您帮助最大。课程结束时,帮助别人的学生可获额外分数。

教科书:Andrew S. Tanenbaum, Albert S. Woodhull, Operating Systems: Design and Implementation, 2nd edition。

评分标准:中期测试15%,课程参加 15%,设计项目70%。

特点:采用讲课与课堂中讨论结合的方式;实习任务必须完成一个操作系统,而且是从引导程序开始。实习要求细致、严格,鼓励合作。

2.2University of California at Berkeley

课程介绍:课程目的是学习设计操作系统,课程内容包括:操作系统和系统设计的基本概念;程序、子系统、多道程序系统、进程、进间通信与同步;存储分配、分段、分页、装入与链接;资源分配、调度、性能评价;文件系统,存储设备、系统;保护、安全。

实习项目:在仿真MIPS平台构造操作系统。一共有4个项目,每个项目包括文档和代码两部分,文档占项目成绩的40% ,代码60%。项目包括:线程管理、多道程序设计、高速缓存和虚拟存储、网络和分布式系统。另外有5个家庭作业,但不进入评分标准。

教科书: Silberschatz and Galvin, Operating System Concepts, 7th Edition, John Wiley & Sons,ISBN:0-471-41743-2。

评分标准:两次测试30%(每次15%);期末考试15%;4个项目50%;班级讨论5%。

特点:课程内容深入、广泛;实习内容要求高,学习Java版本的Nachos,最后要构造支持分布式应用的操作系统。

2.3Carnegie Mellon Unive-rsity

课程介绍:课程引入了多道程序,分时,异步处理的概念,这些概念引出了同步,调度,存储管理,信息共享和保护等问题。课程注重操作系统的设计方面。

实习项目:有4个编程项目和4个家庭作业。编程项目分别是:Yalnix shell; Yalnix 终端驱动;Yalnix内核;Yalnix文件系统。

教科书:Silberschatz, Galvin, and Gagne, Operating System Concepts, sixth edition, published by Wiley, 2002.

评分标准:第1个编程项目5%;第2个编程项目10%;第3个编程项目20%;第4个编程项目15%;中期测试15%;期终测试25%;4个家庭作业每个2.5%,共10%。

2.4Cornell University

课程名称:Systems Programming & Operating Systems/ Practicum in Operating SystemsCOS 414/415

课程介绍:

COS 414包括操作系统的设计与实现,介绍基本的操作系统的结构,并发,调度,同步,存储管理,文件系统,系统安全,计算机网络。

COS 415 Practicum in Operating Systems项目:1. 编写非抢占的用户层线程包;2.扩展非抢占的用户层线程包为抢占;3. 在抢先的线程包上添加不可靠的网络服务,能够在不同的计算机上,实现从一个小线程包向另一个线程包传送消息;4. 扩展网络包为可靠的传送;5. Ad-hoc 网络服务;6.在线程包上实现虚拟文件系统。

教科书:Silberschatz, Galvin, and Gagne, Operating System Concepts, sixth edition, published by Wiley, 2002.

评分要求:COS 414:阅读任务 10%;中期测试30%;期末测试50%;主观评测 10%。COS 415:6个项目 100%。

特点:讲课内容丰富、课程实践难度大。另外,该校操作系统课程由原理和实践两门组成。另外,Brown University、University of New South Wales等很多国外大学操作系统课程由两门组成。

2.5Yale University

课程介绍:课程包括基本的操作系统设计和实现。课程内容包含:基本概念,同步,死锁,进程管理,存储管理,文件系统,安全和保护,网络。并且介绍真实的操作系统的操作。最终通过6次实验实现一个小型的操作系统。

实习项目:1. 启动和创建引导镜像;2. 实现进程和线程的模型(无中断和调度);3. 实现进程和线程的调度和中断;4. 进程间通信和设备驱动;5. 虚拟存储;6. 文件系统。

教科书:A. Silberschatz, P. Galvin, and G. Gagne, Operating System Concepts (Seventh Edition) , John Wiley & Sons, Inc., 2005.

评分要求:作业75%;期中测试20%;课堂参与5%。

2.6Harvard University

课程介绍:这门课介绍了操作系统设计和实现的基本概念。课程内容包含:基本概念,同步,死锁,进程管理,存储管理,文件系统。

实习项目:5个项目分别是:1. 熟悉OS/161以及其运行环境System/161;2. 同步;3. 系统调用和进程;4. 虚拟内存;5. 文件系统。

教科书:A. Tannenbaum, Modern Operating Systems, 2nd ed., Prentice Hall, 2001。

评分要求:课程出勤10%;期中测试15%;终期测试25%;5个项目50%。

2.7University of New South Wales

课程名称:COMP3231/9201 Operating System

课程介绍:课程内容包含操作系统概要介绍;线程;进程管理;存储管理;保护与安全;实例研究包括UNIX, Linux, Windows-2000和OS/161。

实习项目:4个项目分别是:1. 熟悉OS/161以及其运行环境System/161;2. 同步;3. 系统调用和进程;4. 虚拟内存。

教科书:A. Tannenbaum, Modern Operating Systems, 2nd ed., Prentice Hall, 2001。

特点:该校对操作系统课程非常重视(John Lions曾经是该校教师),专门设有OS讲座教授。操作系统课程由两门组成,两门难度要求不一样。另外,该校实习项目采用的是Harvard University编写的OS/161,所以与Harvard University类似,只是少了文件系统。

3 课程分析

3.1教学内容分析

CC2001教学大纲中操作系统部分内容广泛,偏重基本原理,但是也缺少部分内容,例如:磁盘管理、分布式系统等。而国外各大学的教学内容一般都介绍当代操作系统动向,分布式、网络通信、面向对象技术等都有所涉及,既重视原理、概念的讲解,也重视具体实现源代码的分析。

通过知识点总结可以看出,CC2001教学大纲、国内外各大学都强调:操作系统概述、操作系统原理、并发性、调度、内存管理、设备管理、安全与保护和文件系统。但是CC2001的选讲内容(实时和嵌入式系统、容错、脚本),一般大学很少包含。有一些内容CC2001不包括,但国外大学会教授,例如磁盘管理、分布式系统等。

另外,一些大学还对一些实际的操作系统进行介绍,例如CMU介绍Linux,Cornell介绍Linux和Windows等。

3.2教学内容和方法分析

CC2001大纲和多数国外学校的课堂教学内容较为简单。一般国外大学授课学时数在30左右,但是要求学生课前必须阅读教科书和大量的教学参考资料。授课方式采用课堂讲授与讨论相结合的方式。

3.3教学实验分析比较

CC2001大纲中没有规定实验的内容,而国外大学都对操作系统实验有着严格的要求,有的完成一个小型操作系统,有要求独立完成的,也有建议合作的,实习基础有Nachos,也有其他教学操作系统。线程(进程)、线程(进程)调度、虚存和文件系统是实习项目的主要内容。实验要求具体(报告写作、代码风格、执行结果),管理严格,不能正确运行的作业不能得分。

3.4评分标准分析比较

通过分析国内外大学的评分标准可以看出,他们对实验成绩很重视,有的大学(如Princeton University)甚至只有实验成绩,而没有期末考试。

3.5教材

根据我们的调研,使用较多的教材有:Andrew S. Tanenbaum的Modern Operating Systems, Second Edition;Silberschatz and Galvin的Operating System Concepts;Andrew S. Tanenbaum的Operating Systems: Design and Implementation等。

4 总结

通过上面的分析可以看出,国外“操作系统”教学有如下特点:

重视实验环节。我们列举的大学都对操作系统实验有着严格的要求,有的认为掌握操作系统的途径就是完成一个小型操作系统。在最终的成绩中,实验成绩至少在50%以上。

教学内容灵活。从国外大学的教学内容看,他们参考CC2001,但不一定保持一致,他们的教学内容更取决于授课教师对于操作系统的理解。

教学方法多样。教师讲授与学生课堂参与相结合。学生是否参加课堂讨论会影响课程的最终成绩。不过国内学校学生人数较多,做到这一点很难。

课下阅读量大,作业多。CC2001大纲中“操作系统”核心知识点课时为18小时,国外大学授课学时数在30左右,低于国内大学的学时数(例如北航操作系统为48学时)。但是国外大学通过大量的课下阅读、作业,保证了教学质量。很多国内大学都在进行教学改革,减少学时数,这点很值得我们借鉴。

参考文献