(计算机软件与理论专业论文)可靠通信服务模型及实例研究:net+spu.pdf_第1页
(计算机软件与理论专业论文)可靠通信服务模型及实例研究:net+spu.pdf_第2页
(计算机软件与理论专业论文)可靠通信服务模型及实例研究:net+spu.pdf_第3页
(计算机软件与理论专业论文)可靠通信服务模型及实例研究:net+spu.pdf_第4页
(计算机软件与理论专业论文)可靠通信服务模型及实例研究:net+spu.pdf_第5页
已阅读5页,还剩62页未读 继续免费阅读

(计算机软件与理论专业论文)可靠通信服务模型及实例研究:net+spu.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

兰州大学硕士学位论文 摘要 在许多安全相关系统中,网络是不可或缺的一部分。此时,系统的可靠性与 系统通信质量同样重要。大多数的第一代多核架构的设计目的是为了提供一个可 靠的、可确定的硬件计算资源。这样的要求仅仅使用原有的通用c p u 已经很难 达到,至少在系统的吞吐量上无法满足可接受的条件。而c e l l b e 处理器在这 方面刚好迎合了人们对于网络服务器可靠性的需求计算相关的资源被孤立 在一个单独的硬件上,通过这样的方式,可以提供较好的性能保证。c e l l 协处 理器针对特定问题而设计,简化了性能预测的复杂度。其特别的设计还表现为在 c e l l 处理器上的通用c p u ( p o w e r 处理器) 上加入较高的负载不会影响到协处 理器单元上的重要服务任务。在本文中,我们提出了使用c e l l b e 处理器构建 可靠系统的构想,并以网络服务器为实例设计了一个用c e l l 处理器上的协处理 器单元作为通信服务器的模型来实现基于契约机制的可靠通信服务器。在通信服 务器上要实现对于底层的设备驱动的处理、保护机制以及对于设备性能的监视功 能、参数的动态调整,以及在违反契约的情况下触发事件来通知应用层。该模型 可以考虑用于各种通信子系统当中,由于其基本的架构对于用户和设备都是透明 的,所以该模型的实际应用领域不会受到行业的限制。 关键词:c e l l ,p o w e r 处理器,协处理器,安全可靠,网络通信 第1 页 a b s t r a c t 兰州大学硕士学位论文 i nm a n ys a f e t yr e l a t e ds y s t e m ,n e t w o r ki sac r u c i a lr e q u i r e m e n t e s p e c i a l l yi nt h e h i 曲a v a i l a b l es y s t e m ,t h es a f e t y r e l a t e d p e r f o r m a n c e i sa s i m p o r t a n t a s c o m m u n i c a t i o nq u a l i t y m u c ho ft h em o t i v a t i o nf o rm u l t i c o r ea r c h i t e c t u r e so ft h e f i r s tg e n e r a t i o nh a v et od ow i t hp r o v i d i n gad e t e r m i n i s t i ca n dr e l i a b l ec o m p u t a t i o n r e s o u r c ef o rs e r v i c e st h a tw o u l db eh a r dt og u a r a n t e ew i t hag e n e r a lp u r p o s ec p u o n l y a tl e a s tn o tw i t ha na c c e p t a b l ei m p a c to na v a i l a b l et h r o u g h p u t t h eu t i l i z a t i o n o fc e l li nt h i sr e s p e c t j u s tc a t e r sf o rt h er e q u i r e m e n t s - t h ec o m p u t a t i o n a lr e s o u r c e s a r ei s o l a t e di ns e p a r a t eh a r d w a r ew h i c hc a np r o v i d ew e l lg u a r a n t e e dp e r f o r m a n c ea n d t h ed e s i g no fc o p r o c e s s o r si sg e n e r a lp r o b l e ms p e c i f i e da n ds i m p l i f i e df o ra l l o w i n g b e t t e rp r e d i c t i o no fp e r f o r m a n c e ,e s p e c i a l l yt h a tt h eh i g h l o a d so nt h eg e n e r a lp u r p o s e c p u ( p p u ) w o u l dn o ta f f e c tc r i t i c a ls e r v i c e so nt h ec o - p r o c e s s o r s ( s p u ) i nt h i s p a p e r , w ed e s c r i b eaf r a m e w o r ku s i n gs p ua s as e r v e rm o d e lf o rd e t e r m i n i s t i c c o m m u n i c a t i o nb a s e do nc o n t r a c t s t h en e t w o r ks e r v e ri m p l e m e n t st h el o wl e v e l d e v i c eh a n d l i n ga n dp r o t e c t i o na n dm o n i t o r st h ed e v i c ep e r f o r m a n c e ,d y n a m i c a l l y r e a d j u s t i n gp a r a m e t e r s t o c o m p e n s a t ed e v e l o p m e n t s ,t r i g g e r i n gr e a c t i o n s ,a n d n o t i f y i n ga p p l i c a t i o n so nc o n t r a c tv i o l a t i o n si fn e c e s s a r y b e c a u s et h eb a s i cm o d e li s t r a n s p a r e n tt o w a r d st h eu s e ra n dt h ed e v i c e ,i tc a i lb ew i d e l yu s e di nm a n y a r e a s k e y w o r d s :c e l l ,p p u ,s p u ,s a f e t y ,n e t w o r kc o m m u n i c a t i o n 第2 页 原创性声明 本人郑重声明:本人所呈交的学位论文,是在导师的指导 下独立进行研究所取得的成果。学位论文中凡引用他人已经 发表或未发表的成果、数据、观点等,均已明确著名出处。 除文中已经注明引用的内容外,不包含任何其他个人或集体 已经发表或撰写过的科研成果。对本文的研究成果做出重要 贡献的个人和集体,均已在文中以明确方式标明。 本声明的法律责任由本人承担。 论文作者签名:丝坠日期: 关于学位论文使用授权的声明 本人在导师指导下所完成的论文及相关的职务作品,知识 产权归属兰州大学。本人完全了解兰州大学有关保存、使用 学位论文的规定,同意学校保存或向国家有关部门或机构送 交论文的纸质版和电子版,允许论文被查阅和借阅;本人授 权兰州大学可以将本学位论文的全部或部分内容编入有关数 据库进行检索,可以采用任何复制手段保存和汇编本学位论 文。本人离校后发表、使用学位论文或与该论文直接相关的 学术论文或成果时,第一署名单位仍然为兰州大学。 保密论文的解密后应遵守此规定。 论文作者竿每:堕导师繇丝垃日期:雩儿 兰州大学硕士学位论文 一、绪论、瑁m 1 研究背景 随着科学技术的发展,计算机系统的应用已经渗透到现代社会的各个层面, 但是在可靠性方面却存在着许多问题。若系统的可靠性达不到较高的要求,那么 故障发生的可能性将会增大、造成的损失也会随之增加。这些损失可能是经济上 的、信誉上的,甚至会威胁到人身安全或造成更严重的灾难性后果。现在,可靠 性与安全性的提高在计算机体系结构研究领域备受瞩目。 而在拥有安全可靠要求的诸多应用领域当中,网络通信服务器的可靠性要求 显得格外突出。网络应用几乎涵盖了我们生活和工作的方方面面。在一些重要的 应用当中,网络服务器的可靠性就尤为重要。如在联机电子交易方面,如果服务 器的异常当机情况发生在大笔交易信息上传或确认信息下载的过程当中,那么交 易的双方就很可能会面临着一方遭受重大经济损失的危险。 从可靠性方面的要求分析,可从两个方面加以考虑。首先就是硬件方面。从 计算机处理器角度分析,在多核处理器出现之前,人们大都使用单独的通用c p u 来作为可靠系统的硬件平台。随着可靠系统应用领域和应用范围的逐渐扩大,单 独的c p u 已经无法满足系统在稳定性以及系统吞吐量等方面的需求。因此,伴 随多核技术的出现,可靠系统的应用平台也由单核的处理器转移到多核的处理器 上。现如今我们最常见的多核处理器大都是采用在单晶片上集成多个同构处理器 的方式,而这种架构在可靠系统的应用上存在着一系列的问题:首先,所有的多 核系统都必须共享内存,即使设计内存子系统能够让核心之间的争夺最小化,但 是仍然会出现内存空间为两个或者多个内核所用的时候。这种情况在很多时候会 导致性能问题或者性能衰减;其次,在该类架构系统上应用程序在哪个核心上运 行取决于操作系统的调度机制。但是到目前为止,针对多核处理器架构的多核操 作系统调度算法还不成熟。因此对于程序员的要求也就相应的提高,而软件的复 杂度也随之提高。因此,传统的多核技术并不能满足可靠系统的需求。从软件角 度上分析,在像i e c 6 1 5 0 8 1 和i e c 6 2 0 6 1 2 1 这样的安全标准中,认为高复杂性的 软件无法被信任的应用于安全领域当中。【3 】 第5 页 兰州大学硕士学位论文 2 解决思路 根据对于可靠系统的分析,我们考虑到可靠系统的需求至少要包括以下两个 方面: 孤立性要求用于计算的资源需要被孤立于单独的硬件上并且要提供 较高的性能保证。 确定性要求需要非单一的处理器来完成安全可靠系统的架构。处理 器要针对特定问题来设计,并且能够降低系统性能预测的复杂性,使得系统的确 定性提高。此外,还要能够保证处理器即使在较高的负载下也不会互相影响。为 了保证确定性,除了硬件方面,在软件上也要保证具备较低的复杂度 4 ,5 】。 根据可靠系统的需求特性,我们发现c e l l b e ( c e l lb r o a d b a n de n g i n e ) 处理器在上述方面恰好可以满足。就c e l l b e 处理器高达2 5 0 g f l o p s s 的速度 而言,他甚至可以应用在构建高效的计算工作站和数字视频处理上。在c e l l b e 的应用当中,p l a y s t a t i o n 3 ( p s 3 ) 可谓是最有名的。被誉为“多媒体功能的家庭 娱乐中心”的p s 3 拥有强劲的主机性能,并支持高清电视输出,是目前世界上最 成功的游戏娱乐产品。将c e l l b e 中的协处理器应用于安全方面是非常恰当的 选择。这要归功于c e l l b e 处理器的众多特点。首先,在协处理器单元中只允 许单个线程的运行,这与普通的线程运行方式极为不同,原因在于运行与协处理 器单元中的线程能够占用所有的资源,而不像普通的线程一样只是与其他的线程 共享资源 6 】。通过这样的运行方式可以消除因同步所产生的问题,简化了具有 高性能要求的任务的设计复杂度。其次,每个协处理器所拥有的本地存储只能被 其所归属的协处理器单元所使用,当协处理器以孤立模式运行时,即使是操作系 统也不能中断其运行或者控制该协处理器单元【7 】。另外,从软件的复杂度上来 讲,c e l l b e 处理器基本上只使用三种方式实现p o w e r 处理器单元与协处理器 单元问的通信一邮件、信号通知寄存器和d m a ,降低了软件编程的复杂性。 另外,从整个c e l l b e 处理器的编程模式上看,在初始化阶段( 无安全性要求 的功能段) ,所有的初始化工作都是由p o w e r 处理器来完成,使得协处理器中的 运行时代码更加简单,这也意味着降低了安全相关代码段的复杂度 6 】。 除此以外,c e l l b e 处理器还拥有其他的在安全可用性方面的特性 7 】: 应用程序在加载进协处理单元上以孤立模式运行之前,必须通过一个硬 第6 页 兰州大学硕士学位论文 件的授权验证步骤,否则系统将无法运行。 可用于加密数据的根钥是嵌入在硬件之内的,软件对其是无法访问的, 只有通过硬件解密的机制才能对其进行访问。 考虑到上述优势,我们决定在此基础上构建高可靠性的安全相关系统,通过 使用c e l l b e 中的协处理器部件实现一个专用的网络通信服务器模型,作为构 建可靠系统的一个应用实例。 在软件设计方面,除了要考虑到软件的低复杂度以外,我们还要应用相应的 标准来规范软件开发相关方面,从而达到我们构建可靠系统的目的。 对于使用c e l l b e 处理器构建可靠网络通信系统,尚未发现有相关方面的 应用,因此该题目具有很高的研究价值。 3 文章结构 本文中的第二部分为构建可靠模型的安全标准i e c 6 1 5 0 8 的介绍及应用,作 为构建模型的软件规范;第三部分为可靠网络系统硬件平台c e l l b e 处理器的 介绍及相关应用技术的解释,作为构建模型的硬件基础平台;第四部分为可靠通 信系统的设计和实现机制描述,为可靠系统的使用实例提出了总体的设计架构和 具体实现技术详细内容;第五部分为总结和展望。 第7 页 兰州大学硕士学位论文 二、i e c 6 1 5 0 8 标准介绍及应用 为了针对安全可靠模型的构建提出一个一致的、合理的技术方案,我们参照 i e c 6 1 5 0 8 安全标准中列出的相关系统的构建和应用方法来进行项目工程实施, 并作为构建可靠网络通信模型的基础要求。【1 】 1 历史 i e c 6 1 5 0 8 是针对于电子、电气和可编程电子设备的有关“功能安全”的国际标 准,全称为电气电子可编程电子安全系统的功能安全标准。这项标准的研究 始于二十世纪八十年代中期。此时的国际电工委员会( 致力于国际标准化研究的 全球性组织) 安全咨询委员会( i e ca c o s ) 建立了一个考察可编程电子系统使 用中的标准化问题的特别部门。在当时,许多制定规章的机构禁止在重要的安全 应用当中使用基于软件的仪器设备。因此,才开始了对于在可靠性相关领域使用 的可编程电子系统使用标准的研究。草案最初发布于1 9 9 5 年,在当时名为 i e c l 5 0 8 ,草案的发布来了很大的影响,使得人们开始越来越多的关注各种系统 在安全方面的需求。现在我们所用到的i e c 6 1 5 0 8 ,是i e c l 5 0 8 的延续和扩充, 于1 9 9 8 开始发布,并于2 0 0 0 年完成所有部分的审核通过并发布完全。 i e c 6 1 5 0 8 是国际电子技术委员会( i e c ) 在安全可靠性方面的基本标准。他 的应用范围非常广泛,涵盖了众多的行业和应用。其主要目标为是为了能够帮助 部分行业对其原有标准进行补充和修改。同时,也希望能够借助此标准在尚未存 在相应标准的特殊应用领域中进行相关安全系统的开发。许多像i e c 6 1 5 0 8 这样 的标准还在不断的开发过程中。几个已知的标准如i e c 6 1 5 1 1 ( 工业过程中的标 准) 、i e c 6 2 0 6 1 ( 机械安全标准) 、i e c 6 1 5 1 3 ( 核工业标准) 等都是建立在i e c 6 1 5 0 8 的标准之上并对其中的内容做了相应的参考。i e c 6 1 5 0 8 是已发布的行业标准的 基础。它也可以作为开发其他行业标准和产品标准的基础。因此,i e c 6 1 5 0 8 几 乎影响到了所有行业的电气电子可编程电子安全相关系统和产品。 在i e c 6 1 5 0 8 中所提到的“功能安全”是指系统或者设备能够根据整个系统的 输入产生相应的适当的操作而不会对人类生命财产和外界环境等造成严重的直 第8 页 兰州大学硕士学位论文 接或间接的危害。比如,过热保护设备,它就是指在电机的线圈处使用一个温度 传感器部件从而实现电机在达到过高温度之前自动断电。这就是功能安伞的一个 非常恰当的例子。但是如果把上述处理方式改为用专门的绝缘物质来隔离高温, 那么我们就不能将其认为是功能安全的,尽管这同样是安全的处理方式并且解决 了同样的问题。 达到功能安全需要两个方面,它们是: a ) 安全功能需求( 功能的用途) b ) 安全完整性需求( 安全功能能够满足需求来运行的可能性) 安全功能的需求可根据危害分析得出,而安全完整性需求则通过风险评估来 确定。安全完整性的级别越高,发生危险的可能性就越低。那些实现安全功能的 系统我们称之为安全相关系统。一个安全相关系统可以与其保护的机械控制系统 互相分离,也可以直接在机械控制系统中实现安全功能。后者可以称为安全相关 系统。 通常情况下,机电设备以及一些相关的控制系统在特定应用环境下产生的重 大的危害程度要通过开发人员或了解系统内部的人通过危害分析的方式来确定。 分析的结果决定功能安全在针对重大危害的预防和处理上是否必要。如果需要, 则应该将必要的考虑加入到系统的设计当中。功能安全只是处理危害的一种方 式,其他减少危害的安全措施如设计中已知贯穿的安全方面,还是要首先考虑的。 2 内容 i e c 6 1 5 0 8 的内容大体上分为7 部分,其中包括一般的需求必备条件( 如边 界划定,危害和风险分析,安全相关系统验证、维护等) ,针对电子电气可编程 电子安全相关领域的必备条件,软件部分的必要条件,定义和缩略语,安全完整 性定义的确定性方法实例,应用指导,技术和评测概述等。这7 部分中的第1 、 3 、4 和5 部分发布于1 9 9 8 年,而第2 、6 和7 部分发布于2 0 0 0 年2 月。 i e c 6 1 5 0 8 是独立的标准。标准中的每一部分都可以作为单独的发布来使用。 包括: 作为电气电子可编程电子安全相关系统的通用需求的集合来使用( 不包 括应用的部分和产品部分的标准) ; 第9 页 兰州大学硕士学位论文 提供电气电子可编程电子部件和子系统使用者在任何组件上使用。如传 感器的硬件和软件,执行器,可编程控制器,数据通信等; 帮助用户根据安全功能及其性能要求明确特定的需求; 帮助系统搭建人员满足用户对于电气电子可编程电子安全相关系统的 具体要求; 使得电气电子可编程电子安全相关系统便于维护; 为系统一致性评估和服务验证提供技术框架; 作为实施安全生命周期评估的基础; 3 目标 i e c 6 1 5 0 8 的主要目标是: 用技术手段改进安全性和经济绩效 在安全框架内推动技术发展 对所有的安全相关系统,包括软、硬件在内,从系统生命周期角度提供 一个系统方法 为安全技术的未来发展提供一个灵活的技术方案 提供分析安全相关系统安全功能要求的方法 建立一个基础标准,使其可直接应用于工业,同时也可以指导其他领域 标准的制定,使这些标准的起草具有一致性( 如基本概念、技术术语、对规定安 全功能的要求等) 让使用者和维护者放心使用以计算机为基础的技术; 建立一个统一的标准以利于: 增进系统的安全功能 发展用于各领域的安全技术和测试 开展安全评估 4 相关概念 为了深入的了解安全可靠系统在i e c 6 1 5 0 8 中明确的构建方法和措施,我们 需要了解以下的安全相关的概念: 第l o 页 兰州大学硕士学位论文 危害 指对于人体造成的物理上的损伤或者破坏,这些损伤或者毁坏可以是直接引 起的,同时也包含间接引起的,并且会对财产和环境造成破坏。 危险 指可能造成危害的潜在来源。这里既包括在短期内会造成危害的来源( 如火 灾和爆炸) ,也包括对于人体健康带来长期影响的因素( 如某些不会立即对人体 健康造成危害的有毒物质) 。 风险 包括危害发生的可能性以及严重性两方面。 可接受风险 指在当前的社会价值观下,在一个给定的上下文中可以被接受的危害。 剩余风险 指在提供了相应的保护措施之后仍然存在的风险。 安全 指不存在不可接受的风险。 功能安全 整个与受控设备和受控设备控制系统相关的部分安全,取决于电气电子可 编程电子安全相关系统正确的功能、其他安全相关系统和外部风险降低措施。在 某些情况下,只要受控设备处于不间歇的受控状态,那么就可以确保其安全状态。 安全状态 受控设备在达到安全时的状态。从存在潜在危害条件到最终的安全状态,受 控系统会经历许多中间的安全状态。 受控设备风险 指来源于受控设备或者受控设备与受控设备控制系统间的交互的风险。这里 的受控设备风险与特定的危险事件相关。确定受控设备风险是为了在不考虑电子 电气何编程电子安全相关系统、其他技术安全相关系统和外部风险降低策略的 前提下建立参考点。另外,对于该风险的评估还要考虑到人为因素。 受控设备控制系统 指运行过程中输入信号的系统以及产生输出信号使受控设备按照既定的行 为运转的系统。受控设备控制系统包括输入设备( 如传感器) 和执行器。 第“页 兰州大学硕士学位论文 可编程电子系统 基于一个或多个可编程电子设备( 包括系统中的所有元素如电源,传感器和 其他输入设备,数据总线和其他通信路径,传动装置和其他输出设备等) 用于控 制、保护或监听的系统。图2 1 为可编程电子系统的基本结构。 输入设备 转换器 信号传递 转换器 输出设备 输输 入 7 7 7 一溺 出 接 , ,竺桃! 孽 接 口 缸 口 兹纛二二。二纛二二。一n 图2 1 可编程电子系统基本结构 在实际的使应用中,一个可编程电子系统通常由多个可编程电子设备组成。 其基本应用结构如图2 2 图2 3 所示。 图2 2 一个可编程电子系统由两个可编程电子设备串联组成 图2 3 一个可编程电子系统由两个可编程电子设备并联组成 第1 2 页 兰州大学硕士学位论文 多样性 指完成一项需求功能的不同的方法。多样性的实现可以通过运用不同的物理 方法或者不同的设计方式。 冗余 现有的多种方法,加上可以实现功能单元执行需求或描述信息数据的足够多 的方法。冗余的主要目的是为了实现系统可靠性和可用性。如功能部件的复制和 附加的奇偶校验位都可称之为冗余。 安全功能 系统通过采用特定功能来确保危害控制在一定的可接受的范围之内。这样的 功能又称作安全功能。图2 - 4 为工业领域中安全功能作用模型。 图2 4 工业领域中安全功能作用模型 安全相关系统 系统的设计要求:实现必要的安全功能来达到或维护受控设备的安全状态; 在其所在的以及其他的电气电子可编程电子安全相关系统中,实现其他技术安 全相关系统或者外部风险降低策略,从而实现必要的安全完整性。该系统的设计 是为了实现在接到系统命令后,通过使用恰当的方法阻止可控系统进入危险状 态。安全相关系统的失败会导致重大的危害。尽管系统中存在着其他安全功能, 但是安全相关系统是根据其系统的可接受风险来设计实现的,它的实现能够更恰 当的解决系统中存在的不安全因素。该系统可以被设计为阻止危险事件的发生 ( 指如果安全相关系统开启,那么将不会有危险事件发生) ,或者减缓危险事件 对系统带来的影响( 进而降低风险) ,以及以上二者的结合应用。 必要风险降低 第1 3 页 兰州大学硕十学位论文 由电气电子可编程电子安全相关系统、其他技术安全相关系统和外部风险 降低机制来实现风险降低,确保现有风险降低到可接受的程度。 其他技术安全相关系统 基于其他非电气电子可编程电子技术的安全相关系统。如放泄阀系统就是 其他技术安全相关系统。 外部风险降低机制 指用于减少或者缓解风险的独立的机制,不使用电气电子可编程电子安全 相关系统或其他技术安全相关系统。如排水系统,防火墙以及修筑堤岸等都属于 外部风险降低机制。以上三个概念的作用范围以及三种风险的相互关系如图2 5 所示。 图2 5 三种风险及降低风险的措施 故障,失败,错误 故障是指导致系统功能单元的执行能力下降或完全丧失的不正常的状况。失 败是指功能单元执行能力丧失。错误是指计算、观察或测量的值或者条件和真实、 规范或理论值或条件之间的偏差。三者之间的关系及程度如图2 - 6 所示。 根据不同范围界限的划分,该结构还可呈多层次展开。在不同的界定域中, 一个域中的失败很可能成为另一个域中的错误。所以在系统中,必须根据失败进 行多层次的查找,最终找到最根本的原因,进而进行功能设计。 第1 4 页 兰州大学硕士学位论文 。、 乡。一i 图2 - 6 错误、故障和失败的关系及程度 普通原因失败 由一个或多个事件引起的,并在相同条件下可以重复产生的系统失败。 安全失败 指不存在使安全相关系统进入危险或功能丧失状态可能的失败。 危险失败 指可能使安全相关系统进入危险或功能丧失状态的失败。 我们所构建的可靠通信服务系统,就是基于可编程电子系统上的安全相关系 统,目的是通过安全功能的建立,将系统风险降低到一个可接受的范围内;通过 降低错误的发生几率,减少受控设备控制系统失败的发生几率,并尽可能的将危 险失败转换为安全失败的可靠系统。 安全开发相关内容 在本项目中,我们要应用到的是软件开发中的安全开发相关内容对软件开发 过程进行最大化的规范。其技术方法如下所示。 5 1 通用的技术和方法 a ) 项目管理 项目管理是在安全相关系统的开发和测试中采取组织化、结构化的模型、规 则和方法来避免失败的一项非常有效的措施。其重要的基本原理描述部分包括以 下几项: 设计组织架构的说明 组织单元的任务和责任 第1 5 页 兰州大学硕士学位论文 质量保证和开发的独立性 行为模型的计划说明 执行过程中的所有相关行为的确定,其中包括内部验收和日程安排 项目更新 配置管理 版本的检查和管理 对于修改造成的影响的检测 修改后的一致性检查 有关质量保证措施的定量评估的介绍 需求获取 错误统计 计算机辅助通用方法、工具和人员培训方面的介绍 b ) 文档 文档是十分重要的一部分,通过将开发过程中的每一步记录成文档,可以避 免失败的发生,并且便于系统安全性的评估。 操作上的性能和安全度,以及所有人员在开发过程中的关注程度,都需要在 评估中显现出来。为了能够展现对于系统开发的关注程度,以及在任何时候都能 够保证对于系统的验证是安全证明的验证,在文档中需要加入几项非常重要的部 分: 普遍应用的方法就是引入整体规划部分和计算机辅助工具,例如 整体规划部分将包括 确定分组计划 需要列表来记录具体内容 确定文档的格式 通过计算机中的辅助工具来管理文档,组织项目库 根据各种不同的情况,其方法还有: 将文档根据不同的需求分成不同部分,一般分为 需求定义文档 用户说明文档 开发详细文档( 包括验证部分) 第1 6 页 兰州大学硕士学位论文 根据安全生命周期将开发文档分组 定义标准的文档模块 明确标识文档的各个组成部分 标准化版本修订更新 文档中选择清晰易于理解的描述语言,包括 使用正规的符号标识 运用自然语言进行描述和验证 用图形图像来进行举例说明 给图形中的元素给予语义上的定义 专业词语需要予以解释说明 c ) 安全相关系统与安全无关系统的分割说明 两种系统的分离是为了阻止安全无关系统对于安全相关系统可能产生的不 良影响。另外在需求规范中需要明确的是安全相关系统与安全无关系统的分割是 否可能。清晰明确的需求规范中应该说明二者之间的交互关系。两部分系统的分 割将会降低测试安全相关系统的复杂度。 5 2 针对软件开发所应用到的技术和方法 曲防错性程序设计 使用防错性程序设计可以检测出程序在执行过程中产生的异常的控制流、数 据流或者数值,并以预定的和可接受的方式来进行相应的处理。在程序设计过程 中,很多的技术可以用来检测控制异常和数据异常。这些技术可以在对系统编程 的过程中被系统化的应用起来,来降低进行错误数据处理的可能性。 这里有两个防错性技术的重叠区域。固有的错误安全软件是基于弥补其自身 的设计缺陷来进行设计的。这些缺陷的产生可能来源于设计或编程时的错误,或 者来源于错误的需求。以下为几种常用的防错性技术: 变量需要进行范围检查 如果可能,变量值也要进行真实性检查 程序调用中的参数在使用前也要进行类型、维数及范围的检查 根据变量本身的特性以及变量在程序功能上的定义,结合以上的建议能够帮 第1 7 页 兰州大学硕士学位论文 助我们确保程序中用于操作的数值是恰当的。 可读以及可读写的参数应该被分开来,对其访问权限也应该进行检查。函数 中的任何参数都应该以只读形式来处理。字母常量一定是不可写的。通过这样的 方式可以帮助检测偶然的变量重写或变量使用错误。 容错软件是指产生的错误在其自身的范围之内,或者在期望的范围之外但表 现为预料中行为的软件。其技术包括: 根据变量本身的特性对于输入变量或者中间变量进行检查 检查输出变量的结果,最好是直接观察相关系统的状态改变情况 软件自身的配置也要进行检查,其中包括相应硬件的可访问性以及软件 自身的完整性。这一点在维护过程后期的集成维护阶段是相当重要的。 其他的一些防错性程序设计技术,如控制流顺序的检查等,也可以解决外部 的失败问题。 b ) 设计和代码编写标准 为了使验证更加方便,最好采取以组为中心的客观的方法来实施标准设计方 法。设计规则在项目的一开始就要确定并且在小组的各个成员中要协商一致。这 些规则包括遵循的设计和开发方法,以及相关的代码编写标准。规则的制定将会 使开发、验证、评估和维护更加容易。 为了方便验证产品代码,代码编写标准的制定也是十分必要的。代码编写过 程中需要贯穿始终的详细的规则说明需要在编写之前达成完全的一致。一般的规 则内容包括: 模块化的详细内容,如接口类型,软件模块的大小 如果使用面向对象语言,则要特别注意对于封装、继承和多态的使用 限制或避免使用某些特定的语言结构,如“g o t o ”、“e q u i v a l e n c e ”、动态对 象、动态数据、动态数据结构、递归、指针等 在执行安全关键的代码中对于中断要加以限制 代码设计规划列表 在高级语言编程中不存在无条件的跳转语句( 如“g o t o ”) 这些规则的使用将会使软件模块的测试、验证、评估和维护更加容易。下面 将对上述规则作详细的解释。 对于动态变量或对象的禁止使用是希望能够排除内存覆盖以及安全相关部 第1 8 页 兰州大学硕士学位论文 分运行时产生的资源瓶颈问题。在这个方法中,动态变量和对象的内存分配和绝 对地址是在运行时才确定的。分配的内存以及地址值取决于系统当时能够分配的 内存的状态,这就意味着它无法被编译器以及任何其他的离线工具所检查。另外, 这样的动态分配方式会导致在分配、使用变量或对象时产生错误。例如,当可分 配的内存空间无法满足动态申请的大小时,其他变量在内存中的内容将会在不经 意中被覆盖。如果没有使用动态变量或对象,那么错误是可以被避免的。 动态变量或对象创建时的在线检查也是十分必要的。在内存分配之前,需要 确保即将分配给动态变量或者对象的内存空间在运行时不会影响到已经存在的 变量、数据或者代码的部分。这需要通过各种硬件或者软件,在分配前确定即将 分配的内存单元是处于空闲状态。这种方法可以避免如栈溢出等原因带来的错 误。如果内存分配失败( 如可用的内存剩余空间大小小于请求的内存空间大小) , 那么需要采取一定的措施来进行处理。在动态变量或对象用完之后( 如子例程退 出以后) ,之前分配的整个内存空间必须要被释放掉。 限制中断的使用是为了确保软件的可验证性和可测试性。中断在简化系统上 可能会用到。在函数执行的重要部分中断的软件处理应该是禁止的。如果使用了 中断,则不可中断的部分需要一个特定的最大计算时间值,用来计算中断被禁止 的最长时间。中断的使用应该被详细的记录在文档中。 在指针使用上的限制是为了避免在未进行指针类型和范围检查的情况下访 问数据造成的问题。另外,指针的限制还能够使软件模块的测试和验证更加容易。 一般情况下,只有在访问前进行了类型和范围检查的指针才能够使用在原代码 中。应用软件的内部任务通信不应该以直接的方式在任务间进行。数据的交换应 该通过操作系统来进行。 递归的限制使用是为了避免子例程调用产生的无法验证和无法测试的情况。 如果使用了递归方法,则必须明确可预测的递归深度。 c ) 结构化编程 结构化编程的目的是为了设计和实现在非运行状态下对于程序的应用分析。 程序中可以只包括一个最小的不可测试的统计行为。为了使结构化的复杂度降到 最低,需要遵循以下原则: 将程序分为适当的小的软件模块,确保模块间达到尽可能的低的耦合度, 并且所有的交互都是清晰明确的 第1 9 页 兰州大学硕士学位论文 使用结构化的概念组合软件模块控制流,即顺序控制、迭代和选择 确保通过软件模块的路径数要尽可能的小,并且输入和输出参数也要尽 可能的简单 要避免复杂的分支,特别是在高级语言中要避免无条件的跳转语句 如果可以,将循环约束条件和分支与输入参数结合起来 在分支和循环的条件处避免使用复杂的计算 d ) 模块化方法 通过这种方式将软件系统划分成小的易于理解的部分可以降低系统的复杂 度。模块化的方法在软件工程的设计、代码编写和维护阶段包括几项规则。这些 规则根据设计方法的不同会有所差异。基本上包括以下几条规则: 软件模块应该实现定义明确的单个任务或者单个功能 软件模块间的联系应该被严格限制和明确定义,模块内部的内聚强度应 该较高 应该建立子程序的集合,从而提供软件模块的不同级别 子程序的大小应该加以限制,基本上在2 4 屏大小左右 子程序应该只存在单个进口和出口 软件模块间应该通过接口来进行通信,接口的访问应该是受控的,并且 需要验证 所有的软件模块接口都要有文档记录 任何软件模块的接口都应该包括参数 e ) 结构设计 错误检测和诊断 错误检测是系统有关错误状态的检查。系统的运行与受控系统并行,在检测 到自身的结果不正确时将会停止对于受控系统的控制。这就是自我检测过程。错 误检测基于冗余和多样性原则。错误检测通过在值域或时域上进行不同级别的检 查,特别是物理上、逻辑上、功能上或者外部检查。这些检查可能被记录下来用 于失败跟踪。 复杂的系统由许多子系统组成。因此,错误检测、诊断以及弥补就取决于子 系统间交互的复杂程度。因为子系统间的交互会导致错误的相互传播。错误的诊 断应该放在最小的子系统中,因为子系统越小,所能进行的错误诊断就越详细。 第2 0 页 兰州大学硕士学位论文 集成企业级的信息系统能够传达安全系统的相关信息给其他的监控系统,包 括诊断测试信息等。如果检测到异常,那么该异常就会被加以标识,并且会在危 险加剧之前触发相应的处理机制。如果发生事故,有关异常的记录文档将会对之 后的调查研究起到帮助作用。 误差检测和代码修正 对于n 位的信息数据,会产生k 位的代码块来进行误差检测和修正。两种 比较常见的例子就是海明码和多项式码。在安全相关系统中,一般情况下对于错 误数据的丢弃比修正更有意义,因为只有可预先确定的误差部分才能够进行正确 的修改。 软件多样性( 多样化的编程实现) 实现软件多样性的目的是为了检测和掩盖程序执行过程中残留的软件设计 和实现上的错误,阻止系统的安全关键的失败,从而保持高可靠性的运行状态。 在多样化的编程实现中,给定的程序规范说明要通过不同的方式设计和实现n 次。同样的输入值输入到n 个版本中,得到n 个结果进行比对。如果结果被认 为有效,那么结果将会被送到计算机的输出中去。n 个版本在不同的计算机上并 行运行,或者所有的版本在同一计算机上运行,但是结果的选择取决于内部的选 取策略。选取策略的使用取决于如下的应用需求: 如果系统存在一个安全状态,那么要求所有的n 个结果都要一致。这种方法 一般应用于n = 2 的情况。 对于系统中不存在安全状态的情况,可以采用大多数一致时采纳的策略。对 于无法得出大多数一致的情况,可以采取例如取中间值或者暂停输出重新计算直 到得出一致结果等策略来最大化的提高结果选择的正确率。 适度降级 适度降级是指为了维护更加重要的系统功能,放弃一些相对不重要的功能的 选择。这项技术将各个功能模块划分优先级,当系统资源不足时,确保高优先级 的功能能够完成。例如,事件记录功能的优先级就低于系统控制功能的优先级, 从而确保在事件记录相关硬件失败的情况下,系统控制可以继续运行。甚至,在 系统控制硬件失败时,事件记录硬件将接管控制功能。 第2 l 页 兰型丕芏堡主芏照堡皇 三、c e l l b e 处理器系统结构和具体技术细节 在本部分中,我们着重介绍在本项目中所用到的相关c e l l b e 处理器编程 技术和所要注意的相关技术细节【8 。 1 c e l l ,b e 处理器总体介绍 c e l l 宽带引擎处理器( c e l l ,be 后面简称c e l l 处理器) 是新一代的多 核处理器。其架构作为6 4 位p o w e r p c 架构的扩展,是索尼、日立和m m 三大 国际公司于2 0 0 1 年起进行共同的研究成果。尽管c e l l 处理器最初是希望应用 于富媒体( 具有动画、声音、视频和交互性信息的媒体) 消费电子设备,例如游 戏机控制终端和高清电视,与其他处理器相比,c e l l 处理器架构的设计使其在 性能上有着根本性的飞跃。 c e l l 处理器是一个单芯片的多处理器,它有9 个处理器单元,一个共享的 统一内存。c e l l 处理器对于当前的p c 和服务器的处理器进行了扩展,其最大 的特点就是尽管所有的处理器单元共享内存,但是根据功能的不同可将这些处理 器分为两大类:p o w e r 处理器单元( p p e ) 和协处理器单元( s p e ) 。一个c e l l 处理器拥有1 个p o w e r 处理器单元和8 个协处理器单元。其外观和基本机构图如 图3 1 和囤3 2 所示。 图3 - 1c e l l 处理器外观及基本组成 第2 2 页 兰州大学硕士学位论文 图3 - 2c e l l 处理器基本结构 由图3 2 可知,所有的处理器单元、片上内存以及输入输出控制器部分都是 通过单元互联总线进行相互问的连接。它实际上是一个强大的内部总线控制逻 辑。c e l l 处理器内所有的功能单元都通过单元互联总线连接在一起,它们所采 用的都是全双工的1 2 8 b i t 连接总线。如果c e l l 工作在4 g h z 频率上,c e l l 内 部的各个功能单元将拥有4 g h z x1 2 8 b i t h z x 2 ( 全双工) + 8 b y t e b i t = 1 2 8 g b p s 的带宽。 第一种类型的处理器单元一o w e r 处理器单元包括一个6 4 位的p o w e r p c 结构的核心。他遵循了6 4 位的p o w e r p c 架构的设计,他支持一个p o w e r p c 的虚 拟内存子系统,可运行3 2 位和6 4 位的操作系统和应用程序。该单元包含一个 3 2 k b 的一级指令数据缓存和一个5 1 2 k b 的二级缓存。它可以兼容p o w e r p c 架 构的软件。第二种类型的处理器单元协处理器单元。每一个协处理单元包含 一个精简指令内核,2 5 6 k b 的本地存储空间,一个1 2 8 位的寄存器文件。协处 理器单元对于单指令多数据流( s i m d ) 的操作应用作了专门的优化。他并不是 为运行操作系统而进行的优化。协处理器单元是独立的处理器单元,每个协处理 单元都可以运行独立的应用程序或线程。每一个协处理器单元都拥有对于共享内 第2 3 页 兰州大学硕士学位论文 存的完全访问权限,其中还包括内存映射i o 空间。协处理器单元通过通道 ( c h a n n e l s ) 来控制d m a 传输和通信。这些通道是由协处理器的内存流控制器 ( m e m o r yf l o wc o n t r o l l e r ,简称m f c ) 来实现和管理。通道是单向的信息传递 接口。p o w e r 处理器单元和其他的系统中的设备,包括其他的协处理器在内,都 可以通过内存映射输入输出( m e m o r ym a p p e di n p u t o u t p u t ,简称m m i o ) 寄存 器和队列来访问这个m f c 的状态。在内存地址空间中他们是可见的。 在p o w e r 处理器单元和协处理器单元之间存在着相互依赖关系。协处理器的 d m a 传输通过使用p o w e r p c 的有效地址来访问主存。协处理器的地址转换也是 通过p o w e r p c 架构的段页表来控制。段表和页表通过p o w e r 处理器单元上的授 权软件被载入协处理器中。协处理器单元要依靠p o w e r 处理器单元来运行操作系 统,并且在很多情况下,还要依靠运行于p o w e r 处理器单元上的第一级线程来进 行应用控制。而p o w e r 处理器单元要依靠协处理器单元提供的重要的运算能力。 在协处理器上可以运用高级的程序语言来进行编程设计,如c c + + ,但并不 局限于此。协处理单元能够支持大量的指令集,其中还包括单指令多数据流的操 作功能。就像传统的拥有单指令多数据流的操作功能的处理器一样,其数据类型 的使用是也是可选的,而并非强制性的。考虑到编程的方便,p o w e r 处理器单元 也同样支持标准的p o w e r p c 架构的指令以及向量单指令多数据流的多媒体扩 展。 对于一个应用程序而言,c e l l 处理器看起来就像是一个9 路的多核处理器。 在核心控制任务的分配上p o w

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论