




已阅读5页,还剩46页未读, 继续免费阅读
(电力系统及其自动化专业论文)linux在电力系统状态同步监测中的应用研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华中科技大学硕士学位论文 a b s t r a c t m o d e mp o w e rs y s t e mi sc h a r a c t e r i z e db yl a r g es c a l ep o w e rg r i dw i t ha r e ap o w e r s y s t e m st ob ei n t e r c o n n e c t e d ,a n dm o r ea n dm o r eh i 曲c a p a c i t yg e n e r a t o r sp u t t i n gi n t o o p e r a t i o n c o n s e q u e n t l y , t h es t a b i l i t yp r o b l e m i so fm u c hm o r ec o n c e mt h a ne v e rb e f o r e ar e a ll i m ed i s t r i b u t e dm o n i t o r i n gs y s t e ms y n c h r o n i z e db yg l o b a lp o s i t i o ns y s t e m ( g p s ) t i m i n gw i t hh i g ha c c u r a c ys h o u l db et h ed e s i r e ds o l u t i o nf o rs u c hp r o b l e m t h eg p s b a s e ds y n c h r o n o u sm o n i t o r i n gs y s t e ms a m p l e st h ev o l t a g ea n dc u r r e n tv a r i a b l e sa tt h e m a i nb u s e sa n dt h em a j o r g e n e r a t o r s t e r m i n a l ss i m u l t a n e o u s l yi nad i s t r i b u t e dw a y t h e n t h eo p e r a t i o np a r a m e t e r ss u c ha sv o l t a g em a g n i t u d ea n dp h a s ea n g l ea tt h em a i nb u s e s , a c t i v ea n dr e a c t i v ep o w e r t h r o u g ht h em a i ns t a t i o na n dp l a n t s ,r o t o ra n g l e so f t h em a j o r g e n e r a t o r s ,e t e ,a r ec o m p u t e da n ds e n tt ot h em o n i t o r i n gc e n t e ri nr e a lt i m e t h i st h e s i s d e v o t e dt od e v e l o p i n gas o f t w a r es y s t e m ,船ap a r to ft h em o n i t o r i n gs y s t e m ,w i t hh i g h p e r f o r m a n c ef o rt h ec o l l e c t i o na n dm a n a g e m e n to f t h er e a l - t i m ed a t aa tt h ec e n t e lt h e l i n u xo si ss e l e c t e da st h ep l a t f o r mf o rt h es o f t w a r ed e s i g n s p e c i a lc o n s i d e r a t i o n sa r e p a i dt o t h er e a l - t i m ep e r f o r m a n c ea n dt h es t a b i l i t yo ft h ep r o g r a m ,w h i c hi so fv i t a l s i g n i f i c a n c ef o rt h er e a l i z a t i o no f e n t i r em o n i t o r i n gs y s t e m t h ep r i n c i p l ea n d a p p l i c a t i o n o fl i n u xo si s e x t e n s i v e l y s t u d i e da tf i r s t i ti s d e m o n s t r a t e dt h a tp r o g r a md e v e l o p e db a s e do nl i n u xo ss h o u l db et h ed e s i r e do n e m e e t i n gt h eh i g hp e r f o r m a n c er e q u i r e m e n t sb yt h er e a lt i m em o n i t o r i n gs y s t e m t h e w h o l es o f t w a r ef r a m e w o r ki st h e np u tf o r w a r db a s e do nd e m a n da n a l y s i sa n dm o d u l e f i m c t i o nd e s i g nm e t h o d d e t a i l so ft h em a n a g i n gm e c h a n i s mo fc o m m u n i c a t i o nb e t w e e n l i n u xo sa n di t sp e r i p h e r a ld e v i c e s 鹌w e l la st h ep r o c e s ss c h e d u l e rm e c h a n i s ma n d s e c u r i t ym e c h a n i s mo f l i n u xo sa r ea n a l y z e di nad e e pw a y s o m ec o u n t e r m e a s u r e sa r e r a i s e dt os t r e n g t h e nt h es e c u r i t yo fs o f t w a r es y s t e ma n dg u a r a n t e et h ep r o g r a ms t a b i l i t y a n dt h er e a l t i m ep e r f o r m a n c eo ft h es o r w a r e s y s t e mf i o md a t aa c c e s s i n g ,p r o c e s s i n gt o s t o r i n g f i n a l l y , t h ed e s i g n e ds o l a r es y s t e mi s i n t r o d u c e dt ot h e a p p l i c a t i o no ft h e r e a l t i m em o n i t o r i n gs y s t e mo fh u n a n p o w e rg r i d t h ec o n c e r n i n gd e t a i l so ft h ep r a c t i c a l i m p l e m e n t a t i o n , s u c ha st h es t r u c t u r ea n dd e s i g no ft h es o i t w a r es y s t e mo fr e a l t i m e m o n i t o r i n gs y s t e mo f h u n a np o w e rs y s t e m ,t h em e a s u r e s t oa c h i e v et h es t a b i l i t y ,r e a l - t i m e p e r f o r m a n c ea n ds oo n ,a r ed i s c u s s e d t h es u m m a r yo f t h em a i nc o n t e n t sa r ep r e s e n t e da t t h ee n do f t h et h e s i sa n df u r t h e rw o r ki ss u g g e s t e d k e y w o r d :p o w e rs y s t e m r e a l - t i m es y n c h r o n o u s m o n i t o r i n g g p sl i n u x i i 独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工 作及取得的研究成果。尽我所知,除文中已经标明引用的内容外,本 论文不包含任何其他个人或集体已经发表或撰写过的研究成果。对本 文的研究做出贡献的个人和集体,均已在文中以明确方式标明。本人 完全意识到本声明的法律结果由本人承担。 学位论文作者签名:蔼刊氏 渤4 年f 民tb 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即: 学校有权保留并向国家有关部门或机构送交论文的复印件和电子版, 允许论文被查阅和借阅。本人授权华中科技大学可以将本学位论文的 全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫 描等复制手段保存和汇编本学位论文。 保密口,在年解密后适用本授权书。 本论文属于 不保密囱 ( 请在以上方框内打“4 ”) 学位论文作者签名:磷剞氏 指导教师签名: 刁法 砌车年r 月 f 日讪年占月署日 华中科技大学硕士学位论文 1绪论 1 1l i i 1 1 1 x 在电力系统状态同步监测系统中应用的意义 随着全国电网互联的实施,我国电网规模不断扩大,系统运行方式的变化越来 越频繁,电力系统的稳定性问题越来越突出。为了更好地研究、分析大型电力系统 的动态特性以便发展新的控制手段,准确、全面、实时地获取电力系统的运行状态 是电力系统监测的重要任务。 全球卫星定位系统g p s ( g l o b a lp o s i t i o ns y s t e m ) 的出现,为建立电力系统广域时 间同步系统提供了廉价的高精确时间基准,使全系统内实现广域相量的同步测量成 为可能。另外,通信技术的发展使得大量电力系统监测数据的实时传输得以实现。 电力系统的实时运行数据必须经过采集处理才能够被工作人员使用,对于电力 系统状态监测软件来说,实时可靠的处理、存储和共享监测数据是其最重要的任务。 d o s 操作系统资源开销较小并且可以较好的处理实时任务,但是由于其网络和数据 库等方面的支持能力较差已逐渐被淘汰,w i n d o w s 操作系统在网络、数据库以及桌 面系统功能都很强大,但也带来了系统庞大,各方面的开销较多和系统稳定性不够 等问题。比如w i n d o w s 操作系统正常运行时就必须运行其桌面系统,对于提供繁重 的服务器功能的计算机来说使用图形化的用户界面( g u i ) 是对系统内存和处理器的 极大浪费,这对于运行实时性和稳定性要求很高的电力系统监测软件来说是不适合 的。 l i n u x 操作系统近年来发展迅速,由于其源代码的开放性、可定制和稳定性等优 点在电力系统中得到了越来越广泛应用。从电网监测系统软件的特殊要求来说,采 用定制l i n u x 操作系统的方式比使用w m d o w s 操作系统有更多的优势。l i n u x 操作系 统具体优势如下: a 稳定性:l i n u x 借鉴了u n i x 的设计体系,核心代码稳定高效,运行可靠。 l i n u x 具有可剪裁性,用户可以根据自己的需要,去掉不需要的功能,定制出最符合 需要的系统,可进步提高系统运行的稳定性。 b 实时性:l i n u x 系统开放源代码并提供“模块”机制,用户可以方便的根据 需要开发用户驱动程序。用户通过对驱动程序的处理可以进一步提高系统的实时性 和可靠性。 另外,l i n u x 在进程调度上区分实时进程和普通进程,采用不同的调度 华中科技大学硕士学位论文 策略。在多进程环境中通过对进程设置适当的调度策略,也可以提高特定进程的 实时性。 c 支持多种数据库:l i n u x 提供了运行客户柳服务器结构数据库应用程序的稳 固平台。l i n u x 除支持多种商业化关系型数据库外,还支持多种免费数据库软件。 除以上几点之外,w i n d o w s 操作系统的技术完全被微软所垄断,而l i n u x 的源 代码是完全公开的,因此在安全性等问题上l i n u x 更胜一筹。这也是近期中国,法 国。韩国等政府在采购政务系统时均作出了有利于l i n u x 的决定的原因之一。 电力系统同步状态监测系统对实时性、稳定性以及安全性等方面都提出了较高 的要求,d o s 和w m d o w s 等操作系统由于其功能的限制不适于电力系统状态监测软 件的使用。l i n u x 操作系统具有源代码公开、系统可以定制、内核稳定、数据库和网 络功能强等特性,用户可以根据需要定制出适合应用的系统。因此,研究基于l i n u x 的电网状态监测软件具有实际意义。 1 2 l i n u x 操作系统介绍 l i n u x 是免费的3 2 位类u n i x 操作系统,同时兼容于s y s v 与b s du n i x ,并 且符合p o s i x 标准。l i n u x 是一个支持多用户、多进程、多线程、实时性较好、功 能强大而稳定的操作系统。l i n u x 最大的特点在于它是g n u ( g n ui sn o tu n i x ,类 u n i x 的操作系统和应用环境) 的一员,遵循公共版权许可证g p l ( g e n e r a lp u b l i c l i c e n s e ) ,秉承“自由的思想,开放的源码”的原则,在价值观念上,与以微软公 司为首所倡导的收费软件观念相对立。正是l i n u x 操作系统源代码的开放性使得成 千上万的专家及爱好者可以通过i n t e r n e t 在不断地完善并维护它,l i n u x 得以不断的 壮大和发展,其内核也在不断的、快速的更新,目前,l i n u x 已经推出其2 6 0 版本 的内核。 l i n u x 于1 9 9 0 年诞生于芬兰,经过初步发展届加入g n u 并遵循g p l ,这使得 g n u 和l i n u x 都得到很大增强。几乎所有应用的g n u 库软件都可以移植到l i n u x 上,这完普并提高了l i n u x 的实用性。l i n u x 遵循公共版权许可证使其在继承自由软 件精神的前提下,不再排斥对自由软件的商业行为( 如把自由软件打包以光盘形式 出售) ,不排斥商家对自由软件进一步开发,不排斥在l i n u x 上开发商业软件。这 使得l i n u x 的发展又出现了一次飞跃,世界上出现了很多的l i n u x 发行版本,如美国 华中科技大学硕士学位论文 发行的r e d h a t 、d e b i a n 、s l a e k w a r e 、o p e nl i n u x ,欧洲的s u s e ,日本的t u r b ol i n u x , 支持中文的有b l u e p o i n t 以及红旗l i n u x 等。其中应用最广泛的是r e d h a tl i n u x ,现 在推出其9 0 发行版。国内开发的发行版中红旗l i n u x 应用广泛,是由中国科学院软 件所、北大方正电子有限公司、康柏电脑公司三家合作共同推出的国产中文操作系 统,预装了炎黄中文平台和方正t r u e t y p e 字库,并且从安装到使用提供了全中文化 的操作环境。而l i n u x 主要是指操作系统内核,对所有发行版内核源代码基本相同, 每一种发行版本彼此之间的差异主要表现在它们各自的安装程序包上,还表现在其 选择的应用程序侧重点不同。 经过了十多年的发展,l i n u x 已经是一个比较完善的操作系统。目前,国内外许 多公司在l i n u x 上开发商业软件或把u n i x 平台的软件移植到l i n u x 操作系统上。世 界著名的从事i t 行业的公司,如i b m 、h p 、i n t e l 、o r a c l e 、n e t s c a p e 等也都已经宣 布支持l i n u x 操作系统。众多公司的加盟,弥补了l i n u x 纯自由软件的不足和发展障 碍。 l i n u x 发展到现在,在l i n u x 专家及爱好者的完善之下已经比较成熟并且形成了 自己的特色,l i n u x 主要的特点及功能如下: ( 1 ) 软件开放性好,可选的硬件资源丰富。l i n u x 支持多种编程语言并具有功能 齐全、免费、易用的开发工具,l i n u x 可以高效运行在x 8 6p c 、s u n 、s p a r e 、a l p h a 、 6 8 0 x 0 、p o w e rp c 、m i p s 等多种机型上,它是支持硬件平台最多的操作系统。由于 l i n u x 系统开放源代码以及它的“模块”机制,在l i n u x 系统上,用户可以方便的为 自行设计的外部设备编写驱动程序,从这个角度上说,l i n u x 是可以适合任何硬件的。 ( 2 ) 稳定性强。稳定性是所有大型计算机系统所具有的性质,l i n u x 借鉴了u n i x 的设计体系并延续和发展了u n i x ,甚至可以说l i n u x 是各种u n 版本与变种的集 大成者 1 】。另外,由于l i n u x 是开放源代码的,用户可以更深入地检验系统的安全性 和可靠性,而且众多的l i n u x 专家及爱好者在共同开发和维护着l i n u x ,一旦l i n u x 被发现有什么漏洞,很快就能获得修正。 ( 3 ) 网络功能强大。l i n u x 的网络功能除了基本的连线功能,如t e l n e t 、f 晒、r s h l o g i n 、f i n g e r 等外,建立各种网络服务器的能力更把l i n u x 的网络功能发挥的淋漓尽 致,比如,在l i n u x 上可以建立邮件服务器、路由器或网关、w w w f t p 站、数据 库服务器等【2 】。l i n u x 还提供了建立i n t e r n e t 服务器所需要的各种软件以及通过局域 华中科技大学硕士学位论文 := = = = ;高= 皇= 芦= = ;牟毫= = 鲁= 譬皇毫= ;譬;= ;皇= 皇;= 奄 网或调制解调器连接i n t e m e t 的各种网络支持。通过网络,l i n u x 可以与w i n d o w s , n e t w a r e ,v m s 和各种u n i x 操作系统进行局域网或广域网范围的互联,确保l i n u x 与不同操作系统的相互通信。 ( 4 ) 支持多种数据库。和所有的u n i x 操作系统平台样,l i n u x 提供了运行客 户机朋务器数据库应用程序的稳固平台。l i n u x 支持m s q l 、m y s q l 和p o s t g r e 等免 费数据库,同时支持了c ,c + + ,o d b c ,j d b c ,p e r l ,p h p 等应用编程接口。免费数据 库的运行速度、性能、稳定性和可靠性完全满足中小规模的应用系统的要求,而采用 这些免费数据库可以迸一步大幅度降低软件开发的成本。另夕 ,l i n u x 操作系统也支 持o r a c l e 、s y b a s e 和i r t f o r m i x 等商业化关系型数据库系统。l i n u x 操作系统对多种免 费和商用数据库的支持使用户可选的数据库系统非常丰富。 ( 5 ) 较高的实时性:l i n u x 在进程调度上区分实时进程和普通进程,对于不同 类型的进程采用不同的调度策略。在多进程环境中,通过对进程设置适当的调度策 略,可以提高特定进程的实时性。l i n u x 系统提供“模块”机制,用户可以根据需要 开发用户驱动程序,用户通过对驱动程序的处理可以进一步提高系统的实时性和可 靠性。 ( 6 ) 图形化的人机界面和面向对象设计开发方法的支持:l i n u x 原来提供的界 面管理器比较单调,操作也不方便,现在l i n u x 上的w i n d o wm a n a g e r 加上xd e s k t o p e n v i r o n m e n t 桌面集成环境软件g n o m e 和k d e 使得操作界面更加友好。l i n u x 提供 x w i n d o w s 软件和m o t i f 开发工具包,支持开发图形界面。同时支持o p e n g l 图形 开发库,支持跨平台二维、三维图形开发。l i n u x 同时支持c + + 和j a v a 编程语言, 提供面向对象的开发工具。 l i n u x 经过多年的发展和完善已经成为自由软件成功的典范,它以简洁、透明、 高效的优秀品质而备受推崇。l i n u x 的在各个领域的应用已经成为大的发展趋势。 1 3l i i l u x 的应用状况 因为l i n u x 操作系统的稳定性和强大的网络功能,更因为l i n u x 是免费的自由软 件,近几年l i n u x 已经渗透到网络公司、软件开发公司、多媒体公司、电信公司、 银行金融公司、电力及电力设备公司等各种行业中,其应用范围从网络服务器、桌 面p c 一直到各种嵌入式设备。其中较典型的应用有n e t s c a p e 用l i n u x 做w w w 服 4 华中科技大学硕士学位论文 务器、邮件服务器,中国应用l i n u x 开发政务系统,日本s o n y 用l i n u x 作为p l a y s t a t i o n 2 的系统开发平台,另外国内也有北京大学、黑龙江邮政、深圳商业银行、河南电力 等企业用户选用了l i n u x i3 1 。以下介绍一下l i n u x 在几个主要方面的应用情况。 l i n u x 嵌入实时领域的应用。通常所讲的l i n u x 是一个通用的操作系统,将其应 用于嵌入实时领域有很多缺点和不足,但是l i n u x 的操作机制为其扩展改造为嵌入 实时操作系统提供了途径。嵌入式l i n u x 操作系统在国外已经有很大的市场一些 公司已经开发出成型的产品。一些传统的l i n u x 公司也开展了这方面的研究,如r e d h a t 等;一些世界著名的大公司,如i b m 、m o t o r o l a 、i n t e l 等也进行了l i n u x 嵌入式 方面的研究和开发。2 0 0 2 年,i b m 已经研制出运行l i n u x 腕表式计算机,支持x 1l 图形技术和蓝牙通讯技术1 4 】。f s m k l a b s 公司的r t l i n u x 应用于仪器设备及其化工生 产控制领域h j 。文献【6 ,7 应用r t a i l i n u x 实现实时通讯,文献【8 】中通过对l i n u x 内 核的修改和编制相应驱动程序,实现将嵌入式l i n u x 应用于数字电视系统。最近, l i n u x 在移动电话中也有应用的报道,比如,m o t o r o l a 推出了基于“n u x 操作系统的 移动电话。国内嵌入式l i n u x 系统厂商队伍也正在扩大,主要有联想嵌入式l i n u x 、 红旗嵌入式l i n u x 、蓝点嵌入式l i n u x 、华恒嵌入式l i n u x 等。嵌入式u n u x 在国内 电力系统电网自动化中已有应用【9 - 1 o 】。 l i n u x p c 平台广泛应用于电力系统、工厂自动控制领域“,正在研究应用也有 很多。比如应用l i n u x p c 建立基于网络的可视化有声家庭f l2 】等。 在国内的电力系统领域,清华大学电机系从1 9 9 9 年起就着手进行把原来在s u n 和a l p h a 工作站上运行的t h e m s d t s1 1 3 1 - - 体化系统移植到p c l i n u x 平台上的工 作,弗在此基础上对系统的软件环境进行了全西的移植与改进,使之能在p c l i n u x 平台上运行。从1 9 9 9 年起就以p c ,l i n l l x 为开发平台,构建新版的t h 2 1 0 0e m s ,d t s 一体化系统,2 0 0 0 年初,广西玉林地区电网投运了清华大学开发的国内第一套 p c l i n u x 平台的一体化t h - e m s d t s 系统i l3 1 。2 0 0 1 年,清华大学设计并实现了基 于u n i x l i n u x 的电力市场综合报表系统i j 4 】。同时,应用l i n u x p c 构建电力系统 s d a c a 通用平台探讨也已经开始展开【j 5 1 。 在电子商务平台f 钾方面,我国已逐渐开始重视l i n u x 操作系统。2 0 0 0 年年底政 府开始采购l i n u x 桌面。现在电子政务的基本工作已经都已经可以在l i n u x 桌面上完 成。现在l i n u x 与o f f i c e 、浏览器等有限的、关键性的应用软件已经能够实现与 华中科技大学硕士学位论文 w i n d o w s 的精确兼容。2 0 0 3 年1 1 月信息产业部科技司组织召开软件产业研讨会,成 立l i n u x 标准,要通过联合国内产、学、研、用等企事业单位和高校各方力量,进 行有关l i n u x 的标准研究和制修订工作,以确定l i n u x 产业的发展方向,推动l i n u x 在我国的应用。 l i n u x 除了以上网络、嵌入式以及p c 应用方面外,还在电影特效处理、超级 计算机1 9 1 等方面得到了成功的应用。 1 4 论文的主要工作和章节安排 论文的工作是以“湖南电力系统状态g p s 同步监测系统”项目为应用背景展开 的,该项目目的是实现湖南电力系统的主要发电厂和枢纽变电站的运行状态的同步 监测。论文的主要工作是基于l i n u x 的电力系统状态同步监测系统软件的研究和实 现。论文中主要分析了应用l i n u x 操作系统应用于电网同步状态监测系统软件的几 个关键技术问题,即l i n u x 操作系统对外设的管理机制;l i n u x 操作系统的进程调度 机制以及数据库系统的应用;建立w e b 服务器以及加强软件系统安全措施等。进而, 论文结合湖南电力系统状态同步监测系统提出了在l i n u x 操作系统下实现实时可靠 的监测主站与下层通讯单元数据交换和建立安全稳定的服务器的行之有效的技术方 案,探讨了下层系统故障后上层软件保持正常运行的对策,并实现了湖南电力系统 状态g p s 同步监测系统的软件系统。所开发的软件系统已经应用到实际系统中。 全文的章节安排如下: 第一章首先简要阐述了l i n u x 在电力系统状态同步监测系统中应用的意义,然 后介绍了l i n u x 操作系统的发展概况及其特点和l i n u x 操作系统的应用状况,最后对 本文的主要工作和章节安排作了说明。 第二章研究了l i n u x 操作系统的外部设备管理机制,讨论了如何为外部设各编 写驱动程序以实现l i n u x 操作系统与外部设备进行实时数据交换,并说明了驱动程 序模块加载后系统的整体运行机制。 第三章分析了l i n u x 操作系统的进程调度及进程中的数据处理的问题,本章探 讨了用户系统采用相应的调度策略使多个进程得到合理调度以满足用户系统实时性 要求的方案。然后,讨论了如何对进程中处理的数据进行有效的管理。 第四章讨论l i n u x 操作系统的安全性,提出了增强系统安全性的措施,同时讨 6 华中科技大学硕士学位论文 讨论了数据库系统安全访问的管理机制。 第五章介绍了湖南电力系统状态g p s 同步监测系统及其监测软件的总体设计方 案、详细论述了基于r e d h a t l i n u x 的监测主站软件的实现方法。 第六章对全文进行了总结,指出了今后有待进步开展的工作。 华中科技大学硕士学位论文 2 l i n u x 操作系统外部设备管理 任何一个计算机系统都是需要与输入,输出( i 0 ) 设备交换信息,l i n u x 操作系 统可以采用多种通讯方式和接口与外部设备通讯,其与外部设备交互通过设备驱动 程序实现。本章主要讨论了l i n u x 操作系统外部设备的管理方式和外部设备驱动程 序的设计方法,最后对驱动程序模块与内核的交互机制进行分析。 2 1lif l u x 操作系统外部设备的管理方式 l i n u x 操作系统采用文件系统对外部设备进行管理,l i n u x 将所有设备都看作文 件,纳入文件系统的范畴。l i n u x 操作系统将文件操作作为操作外部设备的上层界面, 将设备驱动作为文件操作的底层服务。掩盖系统硬件设备的特殊性i 捌。在l i n u x 操作 系统中外设被映射成普通文件,这种文件方式为用户程序访问外设提供了接1 2 ,在 用户程序中使用库函数对文件访问可以实现对外设操作的目的。对于一个具体的 l i n u x 的设备管理而言,一般可以划分为应用、文件系统和设备驱动三个层次。l i n u x 操作系统访问普通硬盘文件与访问其它外设文件机制对比如图2 1 所示。 对上层用户来说,文件系统呈现了文件的同一性,屏蔽了普通的硬盘文件和外 设文件的差别。这种统一文件的方式简化了系统管理,方便了用户使用,为用户提 供一个统一的、抽象的、虚拟的文件系统界面,即所谓的虚拟文件系统v f s ( v i r t u r d f i l e s y s t e ms w i t c h ) 1 2 1 , 这个界面由一组标准的文件操作构成,以系统调用形式提供 给用户,如o p e n ( ) 、r e a d ( ) 等。这样用户可以对任何设备进行一致操作,无需关 心文件操作的具体实现。应用层处于用户空间,如果需要和个设备进行连接,就 只需调用文件处理的库函数打开该设各所映射成的文件( 后简称设备文件) 即可。 文件系统层管理不同的文件系统,不同的设备和文件系统通过不同的程序来实 现各自的功能。为实现对各种不同文件系统的统一管理,文件系统层为下层的不同 文件系统和设备提供统一的界面,界面的主体为f i l eo p e r a t i o n s 数据结构 2 2 l ,l i n u x 将其定义在u s r s r c l i n u x i n c l u d e i i n u x f s h 中,具体定义如下: s t r u c tf i l e _ o p e r a t i o n s s t r u c tm o d u l e o w n e r ; i o 垣t ( * l l s e e k ) ( s t r u c tf i l e + ,1 0 丘j ,i n t ) ; 华中科技大学硕士学位论文 s s i z et ( + r e a d ) ( s t r u c tf i l e + ,c h a r + ,s i z et ,l o 町+ ) j 每一种加载到v f s 中的文件系统或者设备都有自己的f i l eo p e r a t i o n s 结构,内容即是 设各操作的函数指针,目的是提供对本文件进行相应操作的入口函数。在相应的函 数内部实现对文件或设备的具体操作,即完成从设备逻辑空间到设备物理空间的映 射。 如图2 1 所示,进程每打开o p e n ( ) 一个文件,成功后都会获取一个f i l e 数据 结构,该数据结构保存了打开的文件的相关信息。f i l e 结构定义于 u s r s r c i n e l u d e l i n u x f s h 文件,具体定义如下: 。叙竺 普通文件l ?pll 。 :。l 外设文件 ill ;从普通文件的逻辑空间; 文件系统层 l 到设备逻辑空间的映射 l 。 从设备逻辑空间到设备从设备逻辑空间到设备 物理空间的映射物理空间的映射 世薯鳜动屡 s t r u c tf i l e 图2 1l i n u x 的设备管理层次圈 s t r u c tf i l e + f _ n e x t ,+ fp r e v ; i ! ! ! ! ! 巴笪;:巳i dq e :n g 皿望尘l 塑! q ! q h q 丛i db 血! 一一一9 华中科技大学硕士学位论文 s t r u c ti n o d e + fi n o d e ; s t r u c tf i l e o p e r a t i o n s + f _ o p ; ) 结构中的f i l eo p e r a t i o n s 结构指针f _ o p 指向该文件所对应的文件系统的 f i l e _ o p e r a t i o n s 结构。这样。抽象的文件操作就会和具体的设备操作挂钩。 2 2 驱动程序与内核的通讯机制 将设备驱动程序加载到系统核心有两种方式:种是在系统需要的时候将驱动 模块加载到核心,在不需要的时候卸载,这种方式可以提高核,心对系统资源的使用 效率:第二种是将设备驱动程序静态的编译到核心映像,适用于设备经常使用的情 况。 2 2 1 模块的注册和注销 l i n u x 核心用标准的方式和驱动程序交互通讯。当驱动程序以模块方式编译入 内核时,统一的模块入1 3 函数为i n i t _ m o d u l e o ,如果将驱动程序直接编译并连接到内 核映象,可以用其他的入口名。由于l i n u x 系统整体采用层次式管理方式,上层模 块可以调用下层模块中的函数,但要提供下层模块需要引用的符号;下层模块的函 数通过向上层模块“登记”的方式递交给上层。除此之外,上层模块不能也不应该访 问下层模块的函数与变量。下层模块与上层模块之间是调用关系,其运行环境由上 层模块提供,不能脱离上层的环境而运行【2 3 j 。 驱动模块向上层登记是通过d e v f s _ r e g i s t e r c h r d e v o 进行的,这个函数由内核提供 并移出。函数定义为: i m d e v f s r e g i s t e r c h r d e v ( u n s i g n e d i n tm a j o r ,c o n s tc h a rn a m e , s t r u c tf i l e _ o p e r a t i o n s + f o p s ) 模块向上层登记时使用三个参数,第一个参数代表设备的主设备号,第二个参 数为模块名,第三个参数是指向该设备的f i l e _ o p e r a t i o n s 结构,即v f s 为设备驱动 提供的标准界面。核心向驱动模块提供了通用的接口,这也就意味着核心可以将不 同的外部设备和外部设各驱动程序当作相同的模块看待。 兰堕坚塞塑至耋盟堡鲑堡鱼! 至煎塑堡:迭丝圣塑旦鳖丝釜:丝主蕴篮盔左倒: 1 0 华中科技大学硕士学位论文 内核通过d e v i c es t r u c t 结构类型的数组c h r d e v s 来管理字符型外设,d e v i c es t r u c t 结 构定义为: s t a t i cs e u c td e v i c e s t r u c t c o l l s tc h a r n a m e ; s t r u c tf i l e _ o p e r a t i o n s f o p s ; ) ; 由下层模块向内核登记,就是将由模块提供的f i l e _ o p e r a t i o n s 结构指针填入这个数组 中的某一项。设备的主设备号就是相应的数组下标,n a m c 即是模块名称。这样系统 内核调用相应的服务程序时,只需知道设备的主设备号,即可找到设备的各种驱动 函数。 下层模块登记之后,上层的模块即可管理这个模块。但是应用程序还是不能使 用设备。为了能够让应用层使用设备,必须为设备在文件系统中创建一个代表它的 节点。文件节点根据主设备号和次设备号创建,创建文件节点由函数d e v f sm kd i r ( ) 完成。节点一般创建在d e v 目录下,这个目录下每一个节点都代表一个具体的设备。 在v f s 中创建文件节点后,应用层就可以访问设备了。 l i n t t x 操作系统允许用户在核心建立时通过配置脚本包含设备驱动程序,将驱动 程序静态加入内核。当系统启动的时候这些设备驱动程序初始化,但操作系统可能 发现没有它们可以控制的任何硬件。另外,驱动程序可以在需要的时候作为核心模 块加载。为了处理设备驱动程序的这种动态的性质,设备驱动程序在它们初始化的 时候向核心登记,l i n u x 会自动维护已经登记的设备驱动程序列表1 2 4 1 。 系统注销模块通过调用m o d u l e _ e x i t o 来实现, i n tu n r e g i s t e r _ c h r d e v ( u n s i g n e di n tm a j o r ,c o n s tc h a r + n a m e ) ; 模块注销的同时释放该模块向系统所申请的内存、中断号和端口号等资源。 2 2 2 系统资源的申请和释放 驱动模块向系统注册并在v f s 中形成文件节点之后,应用程序就可以访问该驱 动程序对应的外部设备。为了实现设备的具体功能,模块还需要向系统申请相应的 资源实现对设备可靠管理及与设备通讯。为了保证系统资源的充分利用,在模块 注销后要释放相应模块申请的系统资源。 设各驱动程序在注册函数内实现系统资源的申请。内核维护系统的各种资源并 l l 华中科技大学硕士学位论文 为驱动程序申请资源分别提供相应的函数接口。本章只讨论i s a 总线板卡驱动模块 所需要的资源申请。为了与实现系统与i s a 总线板卡的数据交换,系统为模块驱动 应该分配i 0 端口、系统内核的内存以及中断通道1 2 5 1 三类资源。 系统内核管理外设使用端口,端口的使用状况显示于p r o c i o p o r t s ,通过使用内 核提供的端口检测函数 e x t e mi n tc h e c k _ r e g i o n ( u n s i g n e dl o n gf r o m ,u n s i g n e dl o n ge x t e n t ) 可以从f r o m 地址开始的e x t e n t 个端口中找出模块可以使用的端口。当找到符合要求 的端口后,模块可以使用如下函数申请所需端口: e x t e r nv o i dr e q u e s t _ r e g i o n ( u n s i g n e dl o n gf r o m ,u n s i g n e dl o n ge x t e n t , e o n s tc h a r + n a m e ) 。 驱动模块注销时,一定要释放相应模块申请的系统资源。模块的注销调用如下 函数: e x t e r nv o i dr e l e a s e _ r e g i o n ( u n s i g n e dl o n gf r o m ,u n s i g n e dl o n ge x t e n t ) 。 外设可以采用中断或者查询的方式与系统通讯:查询方式一般适合于数据交换 实时性要求不高的场合,查询方式效率较低;中断方式适合于实时性要求较高的数 据交换场台,中断方式可以提高c p u 的利用率。l i n u x 操作系统中,中断的使用状 况显示于p r o c i n t e r r u p t s 文件中,可以通过对该文件的检查来确定l i n u x 中断的使用 情况,找出可以使用的硬件中断号码,以及进行中断号码的申请。同时,可以通过 对b i o s 的设置为i s a 总线分配特定的中断号码。l i n u x 操作系统为外设提供了中断 号申请函数,定义如下: i n tr e q u e s ti r q ( u n s i g n e di n ti r q , v o i d ( + h a n d l e r ) ( i n t ,v o i d4 ,s t r u c tp t _ _ r e g s + ) , u n s i g n e dl o n gi r q f l a g s ,c o n s tc h a r + d e v n a m e , v o i d + d e v _ _ i d ) 参数i r q 为所需要申请的中断号;第二个参数为该中断的指向中断服务函数入口的指 针;参数i r q f l a g s 是标志位,用来表示是否与其它中断源共用中断等;d e v n a m e 为中 断设备名;如果与其它设备共用中断,必须提供非零的参数d e v i d 加以区别。 当系统卸载模块时,采用如下函数释放外设使用的中断号: v o i df r e ei r q ( u m i g n e di n ti r q ,v o i d + d e v i d ) 。 系统与外设通过内存单元实现交换的数据,所以驱动程序中申请一定数量的内 1 2 华中科技大学
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 1.3 恒星的一生说课稿-2023-2024学年华东师大版九年级下册科学
- 综合复习与测试说课稿-2025-2026学年高中数学人教B版必修3-人教B版2004
- 浙教版科学九上2.4 物质的分类 说课稿
- 蔬菜一家亲课件简介
- 2025年部编版新教材语文二年级上册全册单元复习课教案(共8个单元)
- 吉林长春版《心理健康》一年级上 第四课 很高兴认识你 教案
- 第六课 计算机的硬件系统说课稿-2025-2026学年初中信息技术苏教版八年级全一册-苏教版
- 人教版地理七下第八章第四节《澳大利亚》说课稿
- 《第四单元 建立网站 第13课 制作网站 四、使用书签》说课稿教学反思-2023-2024学年初中信息技术人教版七年级上册
- 2025年北京燃气考试题库及答案
- 2025年医卫类病理学技术(中级)专业知识-专业实践能力参考题库含答案解析(5套试卷)
- 2025上海科技馆事业单位工作人员招聘10人笔试备考题库及答案解析
- 八年级语文上册期末考点专题17 新闻阅读(解析版)
- 【初二】【八年级】【道法】2025【秋】上学期开学第一课【统编版】(课件)
- 监狱消防安全应急预案
- 军事类面试题目及答案
- 《工程勘察设计收费标准》(2002年修订本)
- GB 1886.45-2016食品安全国家标准食品添加剂氯化钙
- 26个英文字母(课堂PPT)
- 无脊椎动物类群三腔肠动物门
- 生活离不开规则观课报告
评论
0/150
提交评论