(计算机系统结构专业论文)提高磁盘阵列性能的策略研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
华中科技大学硕士学位论文
摘要“
随着信息技术的飞速发展,存储系统在整个计算机系统中的地位日益突出,而存储“瓶颈”问题却日益严峻。
为缓解这一矛盾,人们~直在不断地进行着各种研究与尝试,已经取得了不少成果和进展,但这相对于信息技术的发展来说还是远远不够的。
为了缓解这种状况,以改进磁盘阵列的“O性能为出发点,在原有研究的基础上,提出了两种改进磁盘阵列IJO性能的有效途径,从而满足了某些对存储系统性能要求较高的应用需求。
通过研究原有阵列体系结构,对原有阵列控制软件进行了改进,进而提出了流水写回调度策略。
流水写回策略改变了常规阵列处理写命令的流程,实现了写命令的流水线式执行过程,这样不仅充分利用了系统硬件资源,使其充分合理地并行工作,而且阵列可以同时处理多个写请求,进而实现了“第一次I/0合并”。
因为流水写回策略实现了在处理连续写命令过程中的主从通道并行工作,从而“隐藏”了磁盘的寻道定位时间,“第一次I/O合并”又减少了磁盘的I/O次数,所以,流水写回策略对阵列的写性能提高是很显著的。
对于阵列的读性能,采用了一种自适应预取算法。
该算法改变了常规顺序预取的机械、盲目的缺陷,它通过分析主机过去一段时间的读请求特性来决定是否进行预取以及预取长度。
这样,对于主机的连续的顺序读请求,预取具有很高的命中率,极大地提高了阵列的读性能;对于非顺序的读请求,该算法也能够自动识别,一般不进行预取,保持了随机读的阵列性能。
关键词:磁盘薛螽;流水奎貊策略;I/o.隆甏:c。
艋;自窘乏预取
‘本文的研究工作受到国家自然科学基金(69973017)的资助
华中科技大学硕士学位论文
Abstract
Withthedevelopingofinformationtechnology,storagesubsystemisbecomingmoreandmoreoutstandinginthewholecomputersystem,buttheproblemofstoragebottleneckisbecomingacute.Inordertoovercomethisstatus,manypeoplehavebeen
beenmade,butitisnotresearchingallkindsofways.Someconsiderableprogresshas
enou曲forthedevelopingofinformationtechnology.Byanalyzingtheoriginalresearch
forimprovingI/OOntheRAIDsystem,tWOkindsofwayshavebeenproposed
performanceofthediskarray.
TheRAIDcontrolsoftwarehasbeenalteredandanewpipeliningwritebackpolicyisproducedaccordingtheanalysisoftheoriginalRAIDarchitecture.ThepipeliningwritebackpolicychangestheprocessofthetraditionalRAIDsystemexecutingwritingcommand,anditexecutesthewritecommandbyapipeline.Thereby,thispolicymakesfulluseoftheresourceofthesystem,expandstheparalleldegree.ThispolicyalsomakestheRAIDsystemCanprocessmorethanonewritecommandatthesanletime,andthismakesthe“firstI/Ocombination”cometoreality.Forthecontinuouswriterequest,principalchannelswhichconnecttothedisksandsubordinatechannelwhichconnectstothehostcallworkparallelbypipeliningwritebackpolicyandthe’‘firstI/0combination”decreasesthenumberofdiskI/O.Sothepipeliningwritebackpolicyimprovingtheperformanceofdiskarrayisverynotable.
Anauto-adaptingprefetchingalgorithmisproposedtoimprovetheperformanceofthediskarrayforreadrequest.Itanalyzesthecharacteristicofthereadrequestsfromthehostrecently,anddecidesdemandofprefetchingorthedatalengthoftheprefetching.Thisalgorithmavoidsthelimitationofsequenceprefetching.Forthesequencereadrequestfromthehost,prefetchinghashighbitratioandimprovesthereadingperformanceofdiskarraygreatly.Fortherandomreadrequest,thealgorithmCanautomaticallyidentifyitanddecidenottoprefetchforremainingtherandomreadperformance.
Koywords:RAID;PipeliningWriteBackPolicy:I/OPerformance;Cache:Auto—adaptingPrefetching
+ThisresearchissupportedbyNationalNaturalScienceFoundation(69973017)
11
华中科技大学硕士学位论文
1序言
1.1存储系统面临的挑战与机遇
1.1.1传统I/O瓶颈
存储系统作为计算机系统的三大组成部分之一,和其他组成部分具有同等的重要性。
存储系统能否适应当今计算机处理技术和传输技术的发展,直接决定着计算机系统的整体性能。
遗憾的是从第一台计算机的产生到目前为止,计算机的存储设备从最初的纸带穿;fLN目前的由高速Cache—RAM一磁盘等外存储设备构成的多级金字塔形存储系统,其性能都始终远远落后于计算机的处理能力,而且外存储系统的发展速度也不及处理器的进步速度。
图1.1显示了处理器的处理能力增长速度与磁盘性能增长速度的差距。
萋鎏
鍪
199819992000200120022003
年份
图l_1CPU与DISK的速度增长差距
自从计算机互联网技术出现以后,信息的传输速度也得到了长足的发展。
目前.具有Tbps的传输带宽已经实现,千兆位以太网技术已经开始进入居民生活小区,USB、Pl394、光纤通道(FC)等高速通道技术不断进步成熟【1,21,这样就保证了信息的传输速度。
我们把一个计算机系统的运行分为处理、传输和存储三个部分,设这三部分的执行时间百分比分别为P、T、S,M、N、L
分别为某段时期中三部分的性能提高倍数,则根据著名的Amdahl法则【3】,整个计算机系统的性能加速LP,S由下式得到:
黔i毒丐
当M、N”L时,那么整个系统性能的提高就受限于存储系统性能的提高速度。
这就是我们通常所说的存储系统“I/O瓶颈”。
华中科技大学硕士学位论文1.1.2信息数字化时代的新需求
近几年来,随着信息科学的飞速发展,电子商务、无线Web、视频点播服务等数字化技术的兴起和普及,需要存储的信息量也呈爆炸式地增长,对存储系统的安全性和性能要求也是越来越高。
以视频服务为例,假设视频带宽为5M赫兹,制式为队L,每秒为25帧,取样大小为24位,存储数字化每帧数据量为1.2MB。
则每秒需要存储的数据总量为30MB。
一段长约3分钟的新闻片段,则总的存储数据量为5,400MB:一部120分钟的电影节目的存储容量将达到210GB,即使按MPEG2标准压缩,也需要大约4.7.IOGB的存储空间,正常播放时,需要至少10Mbps的带宽‘4561。
普通的磁盘在容量和速度上都很难达到这一要求。
对于电子商务和金融系统来说,除了要求存储系统具有高速大容量的特点之外,作为客户数据信息的载体,企业需要更安全的存储系统。
由于光通信技术的进步,光纤网络的普及使得网络带宽不再成为人们上网的“瓶颈”。
今天,人们在网上浏览所需的文字信息、音乐、彩色图像、动画已成为现实。
网上图书馆、博物馆、音乐会馆、公园、三维都市、各种游乐场所、各种多媒体服务等已经进入了人们的日常生活。
在网上寻找一本书、~件商品、一条信息,只需几秒钟。
而在过去,通过传统方式所花费的时间会以天为单位,效率提高了几百倍、几千倍。
这样就对传统的外存储设备提出了一个新的要求,即适应网络应用需求,同时对性能的要求也就更高。
1.1.3存储产业的兴起
具调查,2001年,存储及其相关产品占整个服务器花费的70.80%,企业已经由传统的根据服务器配置选择存储系统转变为根据存储系统选择服务器产品。
人们对存储产品及其服务需求的快速增长,无疑给存储技术的进步和存储服务产业的发展提供了良好的契机。
由此而出现了很多知名的以存储设备为龙头的IT企业,如Qlogic,LSI,EMC,DECCorp.等,一些传统的计算机行业巨头如IBM,HP,COMPAQ等也都推出了自己的存储类产品,并且占有相当比例。
软件方面,专注于开发存储管理软件的VERITAS公司已经成为全球10大软件公司之一。
根据IDC(Intemational
华中科技大学硕士学位论文
DataCorporatiOnl的测算,2000年全球用户的存储市场总值就以达356亿美元。
所有这些都说明存储系统已经为业界高度重视,预计在未来的几年里,全球存储产业还会有更大的发展。
1.2常见的存储解决方案
磁盘阵列(RAID)磁盘阵列[781是一种在专用服务器中接入多个磁盘(专指硬盘),以磁盘阵列方式组成~个超大容量、响应速度快、可靠性高的存储子系统。
通过对数据分块和交叉存取两项技术的使用,使CPU实现通过硬件方式对数据的分块控制和对磁盘阵列中数据的并行调度等功能。
使用RAID可大大加快磁盘的访问速度,缩短磁盘读写的平均排队与等待时间。
我们将在1.3节中详细介绍这项技术。
附网存储(NetworkAttachedStorage,NAS)附网存储p·10,“1的基本思想是将存储设备直接连接到网络上,它是解决常规文件服务器模型中存在的速度缓慢和服务中断现象的一条途径。
文件服务器模型的缺点在于,将文件服务器安放在存储系统的前端,而存储系统一般通过并行接线配置中的SCSI总线【12I与磁盘阵列相连。
多台文件服务器对来自用户和其他服务器的存储请求进行读写操作,并且只有一台服务器访问保存文件的磁盘阵列。
因此,这台服务器有可能形成单故障点或瓶颈(bottleneck)。
NAS有效地将存储的数据从服务器后端移出,直接将数据放在传输网络上。
NAS设备使用网络接口卡来传输LAN上的数据流和存储数据。
由于这类存储设备不需要文件服务器,消除了低速的文件服务器硬件或操作系统造成的任何延时。
NAS设备采用通用文件服务器访问协议,因此它们可以处理来自网络上各个系统的请求,运行多种操作系统。
NAS还降低了由于文件服务器的使用将服务器与存储磁盘连接起来的并行SCSI总线而引起的物理复杂性。
NAS减少了作为文件服务器部署一部分的并行接线、主机总线适配器和终端的麻烦的设置。
尽管有许多优于文件服务器模型的优势,但NAS没有解决一个备份过程中的带宽消耗这个关键性问题,系统扩展能力受到网络带宽的限制。
附网存储是存储系统朝着存储局域网络发展的一个步骤。
存储区域网(StorageAreaNetworks,SAN)存储区域网【131是一种高速的专用
3
华中科技大学硕士学位论文
网络,它将各种数据存储设备和相应的数据服务器互连起来,并允许所有用户通过服务器进行访问。
它是建立在服务器、磁盘阵列和磁带库之间的一种直接连接。
它像扩展的存储器总线一样,将专用的集线器、交换器以及网关或桥路互相连接在一起。
硬件结构上它有--+层面,其中心为存储设备,互联成网:第二层为服务器,作为用户端与存储域之间的中介桥梁,最外层面为用户。
这样的存储结构为大规模网络及其存储带来了极大的开放性、灵活性和可扩展性,同时也提高了网络的可用性与可靠性。
SAN常使用光纤通道。
一个SAN可以是本地的或者是远程的,也可以是共享的或者是专用的。
SAN主要有如下特点:便于出现失败后的恢复;提高SCSI接口I/O的效率;方便批量安装;共享存储器资源;扩充存储器容易。
存储器簇(StorageCluster)存储器簇f】4l是将多个存储设备或存储子系统用互联网连接起来,统一调度,以实现数据的超大容量存储和高速传输的分布存储系统。
它可归并为两大类。
一类是在PCCluster或workstationCluster中将分散的存储设备用局域网连接,形成一个物理载体分散、存取调度集中的存储系统,它依附在PCCluster或者工作站网中;另一类是将附网存储设备通过局域网连接,形成~个集中的海量存储系统,它可作为高性能计算机或工作站的存储子系统。
存储器簇具有可扩展性,有利于系统的并行访问,系统可以根据I/0请求的分布进行负载均衡和智能调度。
1.3磁盘阵列(RAID)技术简介
RAID技术的产生是为了解决I/O瓶颈,而它的思想和其他很多技术领域的思想一样,磁盘存储器的设计者认识到,如果使用~个组件(磁盘)对性能推进有限,那么可以通过使用多个并行组件来获得额外的性能提高‘”’161,这就导致了独立地、并行运行的磁盘阵列的研究。
通过多个磁盘,多个独立的I/O请求可以并行的进行处理,只要它们所需要的数据驻留在不同的磁盘中。
此外,如果要访问的数据块分布在多个磁盘上,I/O请求也可以并行地执行。
术语RAID(RedundantArrayof[ndependemDisks)最初是在加利福尼亚大学伯克利分校的D.A.Patterson教授的~篇论文参考文献f71中提出的。
当时RAID缩写代表廉价磁盘冗余阵列(RedundantArrayot’lnexpensiveDisks),是相对于
华中科技大学硕士学位论文
I.3.3RAID4级
采用块交叉方式独立存储,即在扇区一级进行数据交叉,使用一个专用的冗余盘存放奇偶检验信息。
RAID4的数据存放格式如图1.4所示。
由5:RAID4使用了一个专有的校验磁盘,所以,RAID4在处理写请求时有一个内在的瓶颈,考虑F{qRAID写额外开销所引起的性能问题,这是一个双倍性能损失。
因为RAID4支持对所有磁盘的独立访问,阵列中的多个写操作都要读出校验数据,再重写到单个磁盘,因此,校验磁盘必须支持所有等待的写操作,这种对校验磁盘的依赖性是一个系统瓶颈,随着磁盘数量和交叉操作数目的增多,对校验磁盘的访问速度变得越来越慢。
由于这个原因,RAID4子系统支持的磁盘和磁盘臂的数量受到一定的限制,因此,RAID4在灵活性和扩展性方面就受到限制,这使RAID4并不是很不常见。
1.3.4RAID5级
采用块交叉方式独立存储,将校验信息分散存放在阵列中所有盘上,解决了争用RAID-4中专用校验盘瓶颈问题。
根据校验信息存放策略不同,/LAID.5可分为左对称、左不对称、右对称、右不对称、平面左对称等多种结构。
RAID.5中多个盘可以并行读/写,是纠单错磁盘阵列中性能价格比较优的一种阵列结构。
图1.5是RAID5左对称结构数据存放示意图。
1.3.5RAID6级
RAID6采用分块交叉技术及双磁盘驱动器容错技术。
如图1.6所示,由于它有两个磁盘驱动器用于存放检、纠错冗余代码,即使在双盘出错的情况下,仍能保证数据的完整性和有效性,因此,它有很高的数据有效性和可靠性。
数据和校验信息分块交叉存储在所有磁盘上,多个磁盘可同时读写,170传输率较高。
但每次写入数据时要对三个磁盘驱动器(一个数据盘和两个校验盘驱动器)访问两次,因此写性能比RAID一5差。
通常的RAID.6是采用RS(Reed—Solomon)彤q错的结构。
华中科技大学硕士学位论文
照霸感鼎龠翮用期吲划削幽剖h葛卅R赢卅R蕊一I、嘉Fll、i丽7l
世=:!纠世兰!!{}!竺:lL:JU竺纠h矧h忑卅际嗣而『简l乜竺列出竺■世!刿雌:!!纠嶂兰纠
陌F.k—wk召陌Idl—wk翻陌鬲翻I阳赢百Il阳面再Iil二|II,IIH·Kk4{i‘“·Nk’Ji11lz·I,’J
卜————一卜————一卜———一卜————一h————1图14RAID4数据存放格式
翮翮翮霈鞫—观h————一h————卅p—————卅、————一1P————卅‘hI.wkJIi,4·Hk5IlhI·《kf·j—l、J-j’Il““Mk?I
h————卅r————一1r————卅?—————lr————叫Ihi·“KlIl¨坩k·’ll兀舡rIlj、I¨tHkI”llhLw-klIJ
p————卅卜————卅卜—————1、—————1卜————吉1I
hhKkI:IlHI二15,llI■·wkIJIN·”k14jlNwk皓J
h—。
..。
—1r——..——1r——————d、——————1r——————1Ini6.191llhhH'kI^lltd们k}?|b“《kt“I1114悄-ktvl
h——√h———√h———√k_h——√图1.5P,AID5左对称结构数据存图
冈酗霞鳓慝鳓筒=≥瞬瞬鳓冈圈陶lI■IKkI●llI■·KkIIlbI‘Kk二I【仆wk‘llINO-5)I1a0-3}j
卜————卅卜—————1卜—————1卜—————1卜———卅卜、————1Il_·NkJIlIH_HkjflhhHkn|}n4一:+lla4∞IIhkKk7l
h—————叫卜—————一卜—————叫卜—————●卜—二。
—卅卜——.,卅IId例'kRllI■州k。
’flp13-ll}I}Q墨Il’{lI■叫kⅢI1F.k_-k11I
b—.——卅卜————卅卜————一卅■————一一卜—.——卅卜————卅lI.k*kt2llPIt;峙lIlql:.15}l}岫HkI,}I¨#AIJI|l目州k搏I
hh.——,—ih—.——,—oh—,————?h—。
——,一一h————.oi^———..oj1.3.6RAJDlO级
图1.6RAID6数据存放格式
RAID10是一种采用分块与镜像技术相结合的阵列级别,它实际是RA【D0-1-RAIDl。
由于采用了分块技术,多个盘可以并行操作,镜像技术则保证了高的容错能力,是一种比较理想的阵列级别。
但由于采用了镜像技术,也带来了写性能的降低和较高的容错代价。
RAD方案包括的这些不同级别并没有高低之分,它们表明了不同的设计结构,这些设计结构有三个共同的特性:
I.RAID是一组物理磁盘驱动器,操作系统把它看作是一个单独的逻辑驱动器:2.数据分布在物理驱动器阵列中;
3.使用冗余的磁盘容量保存奇偶校验信息,从而保证当一个磁盘失败时,数据
具有可恢复性(RAID0除外)。
不同的RAID级别中,第二个特性和第三个特性的细节不同:RA[D0不支持第
华中科技大学硕士学位论文
三个特性。
1.4本文研究的目的和意义
1.4.1国内外研究概况
自从20世纪80年代磁盘阵列的概念提出以来,国外许多厂家不惜投入重金,致力于磁盘阵列技术研究。
这些厂家分为两类:只生产用于其专有主机系统的RAID与出产可用于通用平台的RAID系统。
前者包括SUNMicrosystem,DECCorp.,IBM等,其产品特点在于充分利用了如高速系统总线等专用平台的优势,容量大,数传率高。
以SUNMicrosystem的Fiber2000为例,其总存储容量可达Pera(1Pera=1000Tera)级,同时数传率也达到了100MB/s左右,但价格极其昂贵。
属于后一类的厂家有EMC,Mylex,Accusys,Adaptec,LS[等公司,它们的产品价格也比较高,但适用面广。
随着高速外围通道技术的不断进步,基于FC,P1394接口的阵列也已出现,同时廉价的EIDE阵列也己占有已部分市场,但目前RAID主流产品仍然是采用SCS[通道,其通道数传率已达到320MB/s。
在国内,已经有不少高校、科研院所和计算机产品供应商开始关注存储领域,但由于缺乏基础,他们大都还处于起步阶段。
由我们实验室自行研制的集成式磁盘阵列已经获得国家专利,成功的推出了国产磁盘阵列产品。
这种阵列具有价格便宜、维修方便、容易升级等诸多优点,在国内属于领先水平。
在随后的研究中,我们实验室又发明了“基于协议变换的异构双通道的网络磁盘阵列”,受到有关专家的一致好评。
在存储系统性能研究方面,人们提出了很多提高性能的策略,其中研究最多的是Cache技术‘22‘281和预取技术【29301。
在预取技术中,美国CMU大学的G.A.Gibson教授领导的研究小组提出了信息透明预取技术【3L32I,具有较好的性能,但目前尚处于研究阶段。
另外,基于SCSI接口的磁盘阵列的I/O多线程技术‘33】己经在很多阵列产品中实现,在我们自行研制的集成式磁盘阵列中还实现了I/O合并技术|34351。
华中科技大学硕士学位论文
1.4.2本文研究的目的与意义
虽然我们已经推出了自己的阵列产品,但是,其速度性能一直是制约我们进一步开发研究的一大障碍。
随着信息化的不断进步,IT业界对磁盘阵列的需求越来越大,同时也对磁盘阵列的性能提出了新的要求。
以视频服务为例,要能满足无压缩的视频播放和实时采集功能,除了要求阵列具有相当的容量之外,其稳定的数传率至少要达到30MB/s。
此前我们的阵列是无法满足这以要求的。
为此,我们采取了一系列的新技术和新方法,对现有的磁盘阵列进行技术改造,采用新的调度策略和Cache技术,加之高速通道和集/散(Gather/Scatter)技术,达到了提高阵列的//O性能,满足应用需求之目的,也为我们的研究成果进一步走向市场打下良好的基础。
与此同时,这些研究成果也为我们的基于协议变换的EIDE阵列和异构双通道的网络磁盘阵列在性能改进方面提供了重要的参考价值。
本文基于国家自然科学基金“直接联网的海量存储系统组成原理与核心技术研究”(69973017)和全国优秀博士论文专项基金展开研究的。
1.5本文研究的主要内容
1.分析原有的基于实时操作系统的集成式磁盘阵列体系结构,并对其软件结构进行改造。
描述了改进后的各软件模块间的相互关系。
2.对阵列执行主机的命令请求的调度过程进行了分析,找出了其中影响系统性能的不足之处。
3.提出了并实现一种新的流水写回式调度策略,并进行了测试。
通过分析测试结果,总结了该策略的优越性。
4.分析了常用Cache地址映射、替换算法和预取算法的优劣,提出了自适应预取算法。
5.运用Cache的策略实现了这种自适应并行预取Buffer的管理,并分析比较了该自适应预取算法与常规顺序预取算法的优劣。
O
华中科技大学硕士学位论文
2基于实时操作系统的磁盘阵列系统结构
2.1实时操作系统简介
2.1.1实时系统特性
实时系统是指系统中任务要求在指定的时限内完成,如果任务没能在这个时限内完成就认为系统出错。
实时系统还可以进一步分为硬实时系统和软实时系统。
在硬实时系统中,如果任务的执行时间超过了规定的时限将会发生灾难性的后果,如在实时控制系统中超时可能会导致设备损坏甚至是人员伤亡:在软实时系统中的超时没有硬实时系统那么严重的后果,但也是很不希望发生的p…。
在实时系统中,如果采用基于优先级的调度,一般会采用单调频率(rate
monotonic)调度算法[t9】以保证周期性的任务在规定的时限内完成,调度程序总是选择具有最高优先级的就绪任务,这在通用操作系统中是不可接受的,因为这样会出现低优先级的任务“饿死(starving)”现象,但在实时系统中如果不这样就会出现因为低优先级的任务的执行导致高优先级的任务超时。
单调频率调度原理仅适用于在独立的任务调度,如果两个或多个任务需要通过信号量或其他进程间通信方式保持同步,就会出现优先级倒置的现象,这也会影响高优先级的任务的及时完成。
为了解决优先级倒置问题,在实时系统调度中又引入了优先级继承协议(BasicInheritanceProtocol,BIP)和优先级限制协议(PriorityCeilingProtocol,PCP)。
在BIP协议中,当最高优先级的任务等待一个被低优先级任务占有的信号量时,低优先级的任务的优先级会暂时提升至最高直到它释放该信号量,释放信号量后它的优先级复原。
BIP虽然能够解决优先级倒置问题,但是不能预防死锁,而PCP贝,tJ可以预防死锁和链式等待。
PCP为每个信号量设置一个优先级上限,也即访问该信号量的任务的最高优先级,使用这个优先级上限系统就会拒绝那些会导致死锁或链式等待的任务申请该信号量。
从性能上讲,实时操作系统和普通的操作系统的区别主要是在“实时”二字上””。
实时操作系统一般具有软件代码的高质量和高可靠性,任务切换时间短,中断响应及时等显著的性能优势。
因此,在很多工业控制系统、航天设备、智能仪表、
华中科技大学硕士学位论文
仿真系统中都采用了实现操作系统。
在磁盘阵列系统中,因为需要面向I,O任务,I/O中断和任务切换都很频繁,所以一般也选用实时操作系统。
2.I.2实时Linux系统
Linux从诞生至今不过短短的10年时间,但在这10年中它却得到了飞速地发展,特别是1997年刮起的Ljnux旋风,不仅使Lillux在服务器市场上大出风头,在智能数字终端操作系统这个才显端倪的市场上,Linux更是大有先声夺人之势。
事实上,
除了智能终端领域外,Linux在移动计算平台、智能工控设备、金融终端系统,甚至军事领域都有广泛的应用前景。
这些Linux称为“嵌入式Linux”,其中很多还具有实时性,称为“嵌入式实时Linux”ij“。
Linux之所以在嵌入式实时系统领域获得如此快的发展,与它自身的优良特性密不可分:
1.开放源代码,软件资源丰富,节省了开发时间;
2.高效、稳定、多任务的强大内核:
3.支持包括x86、ARM、MIPS、ALPHA、SPARC等多种体系结构;
4.完善的网络通信、图形和文件管理机制;
5.支持大量的周边硬件设备,驱动程序丰富;
6.大小功能都可以定制,一般整个系统所占的空间不会超过几兆大小:
正是由于Linux的这些特性使得目前不少国内外大学、科研机构和知名公司都加入到嵌入式实时Linux的研究开发工作中,较成熟的嵌入式Linux产品不断涌现,如RT-Linux、HardHatLinux、uClinux等。
RT-Linux是美国新墨西哥理工学院开发的基于标准Linux的嵌入式操作系统,已经成功地应用于航天飞机的空间数据采集、科学仪器测控和电影特技图象处理等广泛的应用领域。
RT-Linux提供了一个精巧的内核,并把标准Linux核心作为实时核心的一个进程同用户的实时进程一起调度,这样就对标准的Linux改动小,充分利用了Linux下的丰富的软件资源。
HardHatLinux是MontaVistaSoftware公司推出的功能强大的嵌入式Linux。
它具有很好的可靠性和实时性,有很友好的交叉开发环境,并且提供gjpSOS、VxWorks
2
华中科技大学硕士学位论文
HardHatLinux的软件代码移植工具,极大地减少了程序开发、移植的工作量。
UClinu)(是专门用于微控制领域的嵌入式Linux操作系统,已经被成功地移植到很多硬件平台上。
它的最大特点就是体积小和没有内存管理单元模块。
2.1.3商用VxWorks实时系统
VxWorks是美国WindRiverSystems公司推出的优秀的商用实时操作系统。
VxWorks具备一个高效的微内核。
微内核支持实时系统的一系列特征,包括多任务,中断支持,任务抢占式调度和循环调度。
微内核设计使VxWorks缩减了系统开销并加速了对外部事件的反应。
内核的运行非常快速和确定,例如,在68K处理器上上下文切换仅需要3,8微秒。
中断等待时间少于3微秒。
VxWorks具有可伸缩性,开发人员能按照应用需求分配所需的资源,而不是为操作系统分配资源。
从需要几K字节存储区的嵌入设计到需求更多的操作系统功能的复杂的高端实时应用,开发人员可任意选择多达80种不同的配置。
WindRiverSystems公司为VxWorks配套发行的开发工具包Tornado。
Tornado包括强大的开发和调试工具,尤其适用于面对大量问题的嵌入式开发人员。
这些工具包括C和c++远程源码级调试器,目标和工具管理,系统目标跟踪,内存使用分析和自动配置等,很容易增加和交互式开发。
VxWorks还支持广泛的工业标准如POSIX1003.ib等。
这些标准促进多种不同产品间的互用性,提升了可移植性,保护用户在开发和培训方面的投资。
2.1.4商用pSOSystem实时系统
pSOSystem是集成系统有限公司(IntegratedSystems,Inc.)研发的世界上最早的实时系统之一,也是最早进入中国市场的实时操作系统。
该公司在2000年2月16日与WindRiverSystems公司合并,被并购的同时包括其旗下的DIAB—SDS,DoctorDesign和TakeFiveSoftware,两公司合并之后已成为小规模公司林立的嵌入式软件业界里面的巨无霸。
目前pSOSystem的最新版本是pSOSystem3。
pSOSystem是一个完全可扩展的嵌入式实时操作系统,它包含单处理器支持模块(pSOS+),多处理器支持模块(pSOS+m),文件管理器模块(pHILE),TCP/IP通讯包。