(计算机应用技术专业论文)基于uclinux的远程监控系统的研究与设计.pdf_第1页
(计算机应用技术专业论文)基于uclinux的远程监控系统的研究与设计.pdf_第2页
(计算机应用技术专业论文)基于uclinux的远程监控系统的研究与设计.pdf_第3页
(计算机应用技术专业论文)基于uclinux的远程监控系统的研究与设计.pdf_第4页
(计算机应用技术专业论文)基于uclinux的远程监控系统的研究与设计.pdf_第5页
已阅读5页,还剩55页未读 继续免费阅读

(计算机应用技术专业论文)基于uclinux的远程监控系统的研究与设计.pdf.pdf 免费下载

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

文档简介

擒要 基于u ci in u x 的远程监控系统的研究与设计 摘要 随着信息技术、网络技术和自动化控制等研究领域的相互渗透,使得 工业控制技术中嵌入式系统已应用到工业控制的各个领域,所以嵌入式技 术已成为现代控制技术的发展方向之一。 本文应用了a r ml i n u x 嵌入式网络技术,实现了通过w e b 及t e l n e t 两种方式远程监控现场设备。本文首先介绍了远程监控系统的总体设计方 案及软硬件开发环境的搭建方法,然后分别研究了两种监控方式的实现方 法。 基于w e b 的远程监控方式通过b o a 嵌入式w e b 服务器和c g i 动态 网页设计技术编写出适用于嵌入式远程控制网络运行的动态网页监控界 面,从而使得远程用户可以通过此界面对现场运行的设备进行工作状态监 测和参数修改。本文通过修改b o a 的源代码,对文件路径进行隐藏,增 加了系统的安全性。另外,传统的c g i 程序编写简单地用p r i n t f 0 函数来 产生h t m l 源代码,这样的c g i 程序代码冗长,不利于阅读,且容易出 错。针对这一问题,本文提出了仿“a s p ”技术的解决方法,即预先将需 要显示的网页保存成文件,并设计配置文件将需要动态显示的内容进行替 换。实验表明,该方法可显著减少c g i 程序代码量,且便于修改升级。 采用t e l n e t 远程登录的方式,现场设备通过t e l n e t 服务器可以直接连 接到i n t e m e t i n t r a n e t 上,方便了客户端没有安装图形化界面的用户与现场 北京化工大学硕士学位论文 设备进行交互。采用t e l n e t 方式登录,占用网络带宽小,适合应用在网络 环境还不完善的工业控制领域。此外,本系统采用了模板和实现两部分相 分离的方法,双方通过模拟w i n d o w s 消息机制的方式进行通信,可以方 便用户版本的更新,大大降低了今后系统的维护成本。 从实验测试的效果看,这种基于a r ml i n u x 嵌入式网络系统在设计 原理上是合理的,采用的软硬件能保证系统通信和数据采集功能及远程访 问等功能的实现。本系统为嵌入式远程监控系统的研究提供了一个良好的 解决方案。 关键词:嵌入式系统,w e b 服务器,通用网关接v i ( c g i ) ,t e l n e t 协议, w i n d o w s 消息机制 h r e s e a r c ha n dd e s i g no fr e m o t e m o n i t o r i n gs y s t e mb a s e do nu c u n u x w i t ht h ed e v e l o p m e n to fi n f o r m a t i o na n dn e t w o r kt e c h n o l o g y , e m b e d d e d s y s t e mh a sp e n e t r a t e di n t oa l lf i e l d so fi n d u s t r i a lc o n t r o l ,a n dw i l la l s ob e o n e o ft h ed e v e l o p m e n ta b o u tm o d e mc o n t r o lt e c h n o l o g y t h i sp a p e ru s e sa r ml i n u xt oa c h i e v er e m o t em o n i t o r i n gt h r o u g hb o t h w e ba n dt e l n e t t h i sp a p e rf i r s ti n t r o d u c e st h ed e s i g np l a na n dt h eb u i l d i n g m e t h o da b o u tt h i sr e m o t em o n i t o r i n g s y s t e m t h e ni n t r o d u c e s t h i st w o i m p l e m e n t a t i o n s o n em e t h o do fr e m o t em o n i t o r i n gi sb a s e do nw e b ,u s e sb o ae m b e d d e d w e bs e r v e ra n dc g id y n a m i cw e bp a g ed e s i g nt e c h n i q u et ow r i t eo u tt h e d y n a m i cp a g e st h a ta d a p tt or e m o t ec o n t r o l l i n g s ot h a tr e m o t eu s e r sc a n m o n i t o rt h e e q u i p m e n tc o n f i t i o na n dm o d i f yi t sp a r a m e t e r st h r o u g ht h i s i n t e r f a c e t h i ss y s t e mc a nh i d et h ef d ep a t hb ym o d i f y i n gt h es o u r c ec o d eo f t h ew e bs e r v e rb o a ,a n dt h i sm e t h o dc a ni n c r e a s ei t s s e c u r i t y i na d d i t i o n , t r a d i t i o n a lc g ip r o g r a m m i n gw i t has i m p l ep r i n t f0f u n c t i o nt og e n e r a t et h e 胁,s o u r c ec o d e ,s u c hl e n g t h yc g ic o d ei sn o tc o n d u c i v et or e a d i n g ,a n d e r r o r - p r o n e t h i sp a p e rp r o p o s e sas o l u t i o ns i m i l a rt oa s pt e c h n i q u e ,s a v et h e p a g e st h a tw a n tt od i s p l a ya sd o c u m e n t s ,a n dd e s i g nc o n f i g u r a t i o nf i l et o 1 1 1 北京化工大学硕士学位论文 r e p l a c ec o n t e n t st h a tw a n tt od y n a m i c a l l yd i s p l a y t h ee x p e r i m e n tr e s u l t sh a v e t e s t i f i e dt h a tt h i sa p p r o a c hc a ns i g n i f i c a n t l yr e d u c et h ev o l u m eo fc g i c o d e , a n dc a l le a s i l ym o d i f yi t t h eo t h e rm e t h o do fr e m o t em o n i t o r i n gi sb a s e do nt e l n e t ,d e v i c e sc a nb e d i r e c t l yc o n n e c t e dt ot h ei n t e r n e t i n t r a n e tt h r o u g ht h et e l n e ts e r v e r t h i si s c o n v e n i e n tt ot h eu s e r st oi n t e r a c tw i t hr e m o t ed e v i c e st h a th a v en o ti n s t a l l e d g r a p h i c a li n t e r f a c e u s i n gt e l n e t ,n e t w o r kb a n d w i d t ho c c u p i e db ys m a l l ,i ti s s u i t a b l ef o ru s e r sw h o sn e t w o r ke n v i r o n m e n ti sn o tp e r f e c t i na d d i t i o n ,t h i s s y s t e mi ss e p a r a t e dt ot w op a r t so ft h et e m p l a t ea n dt h er e a l i z a t i o n ,t h et w o s i d e sc o m m u n i c a t et h r o u g ht h e m e s s a g e s a n dt h i s c a ne a s i l yu p d a t et h e s y s t e mf o rt h ef u t u r e p r a c t i c eh a sp r o v e dt h a t t h i sd e s i g np l a ni s l o g i c a l ,c a l le n s u r er e m o t e a c c e s si m p l e m e n tp e r f e c t l y t h i sp a p e rp r o v i d e sag o o ds o l u t i o nf o re m b e d d e d r e m o t em o n i t o r i n gs y s t e m k e yw o r d s :e m b e d d e ds y s t e m ,w e bs e r v e r , c o m m o ng a t e w a yi n t e r f a c e , t e l n e tp r o t o c o l ,w i n d o w sm e s s a g em e c h a n i s m i v 北京化工大学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立 进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文不含 任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重 要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声 明的法律结果由本人承担。 作者签名:塞厕终 作者签名:丞硼塑一一 日期:o 哩孑 关于论文使用授权的说明 学位论文作者完全了解北京化工大学有关保留和使用学位论文的规 定,即:研究生在校攻读学位期间论文工作的知识产权单位属北京化工大 学。学校有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允 许学位论文被查阅和借阅;学校可以公布学位论文的全部或部分内容,可 以允许采用影印、缩印或其它复制手段保存、汇编学位论文。 保密论文注释:本学位论文属于保密范围,在上年解密后适用本授 权书。非保密论文注释:本学位论文不属于保密范围,适用本授权书。 作者签名:鲞鱼塑日期:型! :垒:三: 导师签名:茎! 驾 日期:望:z :兰 第一章绪论 1 1 课题的研究背景及意义 第一章绪论 基于i n t e r n e t 技术的网络监控系统快速发展,并已广泛的应用于工业、民用、社 会公共设施等诸多领域,如工业控制、电力系统电网设备检测、智能家居等领域。这 类网络监控系统的优点是:在网络通信方面,不需要单独铺设专用的通信介质,只要 借助于现有的i n t e r n e t 互联网通信介质就能将信息传送到天涯海角;通信协议是现有 和公开的;信息直接反应在终端上,实时数据会自动更新,设备操作会有及时可见的 反馈。无论从经济角度还是从技术角度来说,这类监控系统都具有早期监控系统无法 比拟的优越性。近年来,根据市场需求,许多公司纷纷开发了各类带有驱动程序的设 备和产品,例如带u s b 接口的摄像头,各种监控模块等,用户只需要在计算机上安 装相应的驱动程序,借助于计算机强大的软硬件功能,就可以设计出一套实用的监控 系统1 1 , 2 1 。这种以专用计算机为中心的网络监控系统是目前监控系统的主要形式。 然而,以专用计算机为中心的网络监控系统也存在它的弊端和不足。计算机的价 格昂贵,系统庞大,而许多应用场合要求系统功能强、价格低、体积小、可靠性高。 因此亟需一种符合这种需要的分布式监控系统。 嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可裁剪,功能、可 靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式技术已经在通信、家电、 数码产品等多个领域获得了广泛的应用。而另一方面,i n t e r n e t 技术的高速发展也推 动着各个技术领域的变革和科技进步,目前大多数嵌入式系统还孤立于i n t e m e t 之外, 但随着i n t e r n e t 的发展以及i n t e r n e t 技术与信息家电、工业控制技术结合日益密切,嵌 入式设备与i n t e r n e t 的结合的技术正蓬勃发展。基于嵌入式i n t e m e t 技术的网络监控系 统就是其中一个最典型的实例,它改变了过去监控系统通信介质要专用,通信协议要 自行编写,配套软件和硬件要自己设计等诸多条件的限制,是一种低成本、高可靠性、 快捷的技术方案。 1 2 课题的开发环境 本课题是在l i n u x 系统下开发,通过建立交叉编译环境运行在u c l i n u x 嵌入式操 作系统下。 l i n u x 是个与u n i x 相似、以核心为基础的、完全内存保护、多任务、多进程的操 作系统,支持广泛的计算机硬件,包括x 8 6 、a l p h a 、s p a r e 、m i p s 、p p c 、a r m 、 n e c 、m o t o r o l a 等现有的大部分芯片。l i n u x 带有u n i x 用户熟悉的完善的开发工 北京化工大学硕士学位论文 具,几乎所有u n i x 系统的应用软件都已移植到了l i n u x 上。l i n u x 提供了强大的网络 功能,强大的语言编译器g c c 、g + + 等也可以很容易得到,不但成熟完善,而且使用 方便t m 。 选用l i n u x 作为开发平台,主要基于以下几点考虑【4 朋: 1 开发成本低 大多数商业操作系统,如w i n c e ,v x w o r k s 等对每套操作系统均收取一定的许 可证使用费用。相对而言,l i n u x 是一个免费的操作系统,公开源代码,而且,l i n u x 系统内核是层次结构,不同领域和不同层次的用户可以根据自己的应用需要很容易地 对内核进行改造,在低成本的前提下,设计和开发出真正满足自己需要的嵌入式系统。 2 移植容易 l i n u x 是一个多平台的操作系统,可以运行于a r m 、x 8 6 、p o w e rp c 、m i p s 等多种处理器之上,对嵌入式应用尤为重要。 3 强大的网络功能 l i n u x 天生就是一个网络操作系统。几乎所有的网络协议和网络接口都已经被定 制在l i n u x 中。 4 完整的开发工具链 l i n u x 提供c 、c + + 、j a v a 以及其他很多的开发工具。更重要的是,容易自行建 立嵌入式系统的开发环境和交叉编译环境,并且可以跨越嵌入式系统开发中仿真工具 的障碍。l i n u x 基于g n u 的工具包提供了完整的与无缝交叉平台相配套开发工具, 从编辑器到底层调试,并充分考虑到了支持各种不同的微处理器结构和调试环境。 本课题通过在l i n u x 操作系统上建立交叉编译环境,完成了基于w e b 和基于 t e l n c t 两种接入方式的嵌入式远程监控系统的开发。 1 3 课题主要研究内容 本文以嵌入式i n t e r n e t 为应用背景,u c l i n u x 操作系统为研究对象,从理论、技术、 设计与应用四个层次进行了初步的分析和研究。本课题设计的嵌入式远程监控系统包 括了基于w e b 和基于t e l n e t 两种接入方式。 基于w e b 的远程监控方式可以让操作者通过浏览器维护和管理监测点,查看并 修改监测数据。本课题创造性的提出仿“a s p 技术的c g i 程序设计方法,实验表明, 该方法可显著减少c g i 程序代码量,且便于修改升级。另外通过修改w e b 服务器b o a 的源代码,对文件路径进行隐藏,增加了系统的安全性。 基于t e l n e t 的远程监控方式提供远程登录到设备端的方式进行数据采集及参数修 改,提出了基于消息封装的处理方式来实现的设计方案。 2 第一章绪论 1 4 论文结构 本文各章的内容安排如下: 第一章研究了课题的背景和意义,介绍了开发环境l i n u x 操作系统及通过建立交 叉编译环境运行在u c l i n u x 嵌入式操作系统下,并阐述了本文主要的研究内容。 第二章介绍了系统的总体设计方案,本文采用w e b 页面登录和t e l n e t 远程登录 两种方式实现了对远程设备的实时监控。,并介绍了硬件开发平台的搭建及软件开发 环境的建立方法。 第三章研究了基于w e b 的远程监控系统的设计与实现。首先通过分析嵌入式w e b 服务器,选择了最适合本系统的b o a 服务器。随后对b o a 源代码进行分析并制定了更 安全的改进方案。最后采用c g i 动态页面技术实现了通过浏览器对远程设备的实时监 控并给出实验结果。 第四章研究了基于t c l n e t 的远程监控系统的设计与实现。本系统采用模拟 w i n d o w s 消息机制的方式实现,因此首先分析了t e l n c t 协议和w i n d o w s 消息机制。 随后介绍了系统模型和设计原则,接着介绍了系统的具体实现过程。最后给出了实验 结果。 第五章为总结和展望。对本文所做工作进行了总结,并提出了下一步研究方向。 3 第二章系统方案设计与开发平台的建立 第二章系统方案设计与开发平台的建立 本章提出了一个基于u c l i n u x 的远程监控系统的设计方案,并针对该方案设计搭 建了一个开发平台。系统分为三个模块:嵌入式w e b 服务器、c g i 程序设计和t e l n e t 服务器。w e b 服务器的功能包括:为用户浏览器和服务器之间提供交互平台并响应用 户端的请求,对w e b 浏览器的访问进行有效性检查;c g i 程序接收w e b 浏览器发送 给w e b 服务器的信息,进行处理,将响应结果再回送给w e b 服务器及w e b 浏览器; t c l l l e t 服务器采用远程登录的方式为用户和监控设备之间提供交互平台。 在开发平台搭建过程中考虑了所选择的器件是否适合应用要求,硬件资源是否足 够用以编程调试并保证系统性能优良,同时还要兼顾硬件资源满足系统需求的前提下 尽可能降低成本;对于软件开发环境主要考虑的是所选操作系统的性能、稳定性是否 满足应用要求,以及是否支持相应的配套开发工具。 2 1 远程监控系统的总体设计 2 1 1 系统需求分析和设计思路 本文基于网络传输技术和嵌入式技术设计了一个远程监控服务器系统,我们希望 该系统具有如下功能: 1 支持w e b 页面登录和t e l n e t 远程登录。 2 提供一定的用户管理和安全登录机制。 3 根据客户端请求把指定设备参数通过网络传送到任一个合法的客户端。 4 根据客户端请求修改指定设备参数。 5 扩展性好,系统将来的升级要方便。 本系统采用w e b 页面登录和t e l n e t 远程登录两种方式实现了对远程设备的实时 监控。 采用w e b 页面登录的方式,现场设备通过嵌入式w e b 服务器可以直接连接到 i n t e r n e t i n t r a n e t 上,w e b 服务器的主要任务是完成用户和系统的交互功能,它有自己 的口地址,在监控端可以通过浏览器界面访问远端设备。这种方式大大方便了嵌入 式设备的以太网接入,而且客户端只要通过普通w e b 浏览器就能与现场设备进行交 互及实时监控,简化了客户端的软件设计。 采用t e l n e t 远程登录的方式,现场设备通过t e l n e t 服务器可以直接连接到 i n t e r n e t i n t r a n e t 上,方便了客户端没有安装图形化界面的用户与现场设备进行交互。 另外,采用t e l n e t 方式登录,占用网络带宽小,适合应用在网络环境还不完善的工业 5 北京化t 大学硕士学位论文 控制领域 2 12 远程监控系统的总体设计 根据本文所表述的综合监控系统的目的可以确定系统的功能需求,根据功能需 求,可以确定系统所需要的各种硬件、软件资源。图2 1 是系统的结构组成,其中嵌 入式w e b 服务器和t c l n e t 服务器位于现场。现场监控端完成对目标设备数据的监测, 并将监测结果实时传送至w e b 界面或t e l n e t 客户端,使得无论监控人员在哪里,只 要连接至i n t c m e t 网络,便可对目标设备参数实时观测。 远程监控点1远程监控点2远程监控点3 |瞳 现场监控点l 现场监控点2 现场监控点3 图2 - 1 综合监控系统结构图 f i g 2 - 1 m o n i t o rs y s t e ms t m c t o 犯 2 2 硬件开发平台的搭建 本系统的硬件架构如图2 - 2 所示,包括主机、a r m 开发板和目标系统。 第= 章系统方案设计与开投平台的建立 22 1 朋简介 圈2 - 2 系统的主要硬件框架 f i g 2 2 m o s t l y h a r d w a r e f z a m c o f t h es y s t e m a r m 公司f a d v 蛆c cr i $ cm a c b i n el i m i t e d ,简称a r m u m i t e x l ) 正式成立于1 9 9 0 年。目前,a r m 架构处理器已经在高性能、低功耗、低成本的嵌入式应用领域占据 领先地位。a r m 公司也是嵌入式r i s e 处理器知识产权口供应商,它为a r m 架构 处理器提供了a r m 处理器内核( m m z r d m l 、a r m g t d m i 、a r m z o t d m i ) 和a r m 处理器核等。a r m 内核采用r i s “精简指令集计算机) 体系结构,r 1 s c 是一种设计思 想,目的是设计出一套能在高性能时钟频率下单周期执行,简单而有效的指令集。r i s c 的设计重点是在于降低由硬件执行的指令复杂度,这是因为软件比硬件容易提供更大 的灵活性和更高的智能。很多半导体公司在上述处理器内核或处理器核基础上进行了 再设计嵌入式各种外围和处理部件,形成各种嵌入式微处理器m p u 或微控制器 m c u l 6 , 7 1 。a r m 体系结构的一些基本特征降 1 q : 1 l o a d - s t o r e 架构:多数a r m 指令仅仅操作存放在寄存器中的数据,这使得指 令操作简单快速。 2 定长指令:所有a r m 指令都是相同的长度。这样就消除了在译码时计算指令 长度的必要性,同时也消除了使用多次内存访问来完成单个指令取指的潜在危险。 3 正交寄存器:大部分a r m 寄存器都可以用来存储地址或数据。 4 单周期执行:太部分a r m 指令都在一个机器周期内执行完。装载和存储指令除 外。 22 28 3 0 4 4 8 0 介绍 s 3 c 4 4 8 0 x 是s a m s u n g 公司生产的a r m t t m d i 微处理器。这种微处理器是以英 国剑桥a r m 公司芯片技术开发的a r m 7 系列微处理器。该公司成立于1 9 9 1 年,是 专门从事基于r i s e 技术芯片设计开发的公司,a r m 微处理器主要包括a r m 7 系列、 北京化工大学硕士学位论文 a r m 9 系列、a r m 9 e 系列和a r m l 0 e 系列。本论文文涉及的s 3 c 4 4 b o x 开发板的硬 件结构如图2 3 所示1 1 0 , 1 1 , 1 2 】。 图2 - 3s 3 c 4 4 b o x 硬件结构框图 f i g 2 - 3h a r d w a r es t r u c t u r eo fs 3 c 4 4 b o x s 3 c 4 4 b o x 由3 2 位微处理器存储器、姻端口和图形控制器等组成,其软硬件可 按需求选取。 2 3 软件开发环境的建立 基于嵌入式l i n u x 开发环境一般由目标系统硬件开发板和装有l i n u x 桌面版的主 机平台p c 组成。l i n u x 主机上操作系统采用r e d h a t 9 0 版本。目标系统硬件开发板用 来运行u c l i n u x 操作系统、用户系统应用程序等,而主机平台用来进行嵌入式操作系 统内核编译,文件系统的制作和系统应用程序开发和调试等。双方通过串口或者以太 网口等建立连接。 2 3 1u c lin u x 操作系统概述 嵌入式操作系统e o s ( e m b e d d e do p e r a t i n gs y s t e m ) 负责嵌入式系统的全部软、硬 件资源的分配、调度、控制、协调并发活动。它必须体现其所在系统的特征,能够通 过装卸某些模块来达到系统所要求的功能。随着i n t e r n e t 技术的发展、信息家电的普 及应用及e o s 的微型化和专业化,e o s 开始从单一的弱功能向高专业化的强功能方 向发展【1 3 j 。 u c l i n u x 这个英文单词中u 表示m i c r o ,小的意思,c 表示c o n t r o l ,控制的意思, 所以u c l i n u x 就是m i c r o c o n t r 0 1 l i n u x ,字面上的理解就是“微控制领域中的l i n u x 系统 。u c l i n u x 专门针对没有m m u 的c p u ,是由l i n u x 2 0 忪4 内核派生而来,沿袭 了主流l i n u x 绝大部分特性,其内核结构与标准l i n u x 系统相似,如图2 。4 所示1 1 4 。 8 第二章系统方案设计与开发平台的建立 - l : u c l i n u x l - i - 图2 _ 4u c l i n u x 内核体系结构 f i g 2 - 4u c l i n u xk e r n e ls y s t e ms t r u c t u r e 但与l i n u x 相比,主要有以下几大方面的区别1 1 5 l : 1 内存管理 这部分是u c l i n u x 与标准l i n u x 区别最大的地方。 标准l i n u x 是针对有m m u 的处理器设计的。在这种处理器上,虚拟地址被送到 m m u ,把虚拟地址映射为物理地址。通过赋予每个任务不同的虚拟物理地址转 换映射,支持不同任务之间的保护【阚。 对于u c l i n u x 来说,其设计针对没有m m u 的处理器,即u c l i n u x 不能使用处理 器的虚拟内存管理技术。u c l i n u x 仍然采用存储器的分页管理,系统在启动时把实际 存储器进行分页。在加载应用程序时程序分页加载。但是由于没有m m u 管理,所以 实际上u c l i n u x 采用实存储器管理策略。这一点影响了系统工作的很多方面。u c l i n u x 系统对于内存的访问是直接的,所有程序中访问的地址都是实际的物理地址。操作系 统对内存空间没有保护,各个进程实际上共享一个运行空间。一个进程在执行前,系 统必须为进程分配足够的连续地址空间,然后全部载入主存储器的连续空间中。 2 u c l i n u x 的内核加载方式1 1 7 1 u c l i n u x 的内核有两种可选的运行方式:可以在f l a s h 上直接运行也可以加载到内 存中运行。后者可以减少内存需要。 f l a s h 运行方式:把内核的可执行映像烧写到f l a s h 上,系统启动时从f l a s h 的某 9 北京化工大学硕士学位论文 个地址开始逐句执行。这种方法实际上是很多嵌入式系统采用的方法。 内核加载方式:把内核的压缩文件存放在f l a s h 上,系统启动时读取压缩文件在 内存里解压,然后开始执行,这种方式相对复杂一些,但是运行速度可能更快( r a m 的存取速率要比f l a s h 高) 。同时这也是标准l i n u x 系统采用的启动方式。 3 u c l i n u x 的根( 1 0 0 t ) 文件系统 u c l i n u x 系统采用:r o t o r s 文件系统,这种文件系统相对于一般的e x t 2 文件系统 要求更少的空间。空间的节约来自于两个方面:首先内核支持r o m f s 文件系统比支持 e x t 2 文件系统需要更少的代码;其次r o m f s 文件系统相对简单,在建立文件系统超级 块( s u p e r b l o c k ) 需要更少的存储空间。r o m f s 文件系统不支持动态擦写保存,对于 系统需要动态保存的数据采用虚拟 a m 盘的方法进行处理( r a m 盘将采用e x t 2 文件系 统) 。 4 u c l i n u x 的应用程序库 u c l i n u x 小型化的另一个做法是重写了应用程序库,相对于越来越大且越来越全 的酉i b c 库,u c l i b c 对l i b e 做了精简。 u c l i n u x 对用户程序采用静态链接的形式,这种做法会使应用程序变大,但是基 于内存管理的问题,也就是基于没有m m u 的特性,只能这样做,同时这种做法也更 接近于通常嵌入式系统的做法。 5 可执行文件格式 可执行文件格式与操作系统的支持有关,加载可执行文件由操作系统进行,加载 可执行文件的模块就称为可执行文件加载器。因此针对一种可执行文件,操作系统必 须具有这种格式的加载器。u c i i n u x 系统使用f l a t 可执行文件格式,g o = 的编译器不能 直接形成这种文件格式,但是可以形成c o f f 或e l f 格式的可执行文件,这两种文件分 别需要c o f f 2 f l t 或e l f 2 f l t 工具进行格式转化,形成f l a t 文件。 先解释几种可执行文件格式。 c o f f ( c o r l i i i l o no b j e c tf i l ef o r m a t ) :一种通用的对象文件格式; e l f ( e x e c u t i v el i n k e df i l e ) :一种为l i n u x 系统所采用的通用文件格式,支持动态连 接和重定位: f l a t :扁平格式。e l f 格式有很大的文件头,f l a t 文件对文件头和一些段信息做了简 化,可执行程序小。 经过如上所述的专为嵌入式系统的小型化所作的改动,形成了一个高度优化的、 代码紧凑的嵌入式l i n u x ,虽然它的体积很小,u c l i n u x 仍然保留了l i n u x 的大多数的 优点:稳定、良好的移植性、优秀的网络功能、完备的对各种文件系统的支持、以及 标准丰富的a p i 。而更重要的一点是它是开放的源代码和免费的,同其他的嵌入式操 作系统相比有很大的优势1 1 8 l 。它的主要特征如下: 1 通用l i n u xa - p i 1 0 第二章系统方案设计与开发平台的建立 2 内核体积 脚定 i f ( 1 i s t e n ( s e r v e r _ s ,b a c k l o g ) = = 一1 ) ) 监听 r e t u r ns e r v e rs : 第三章基于w e b 的远程监控系统的设计与实现 ) 4 判断数据传输方式 b o a 的表单数据传输方式:g e t 和p o s t 。系统发现有客户端新请求时,在判断 数据传输方式前,会初始化r e q 结构体,填充一些公共的环境变量,在判断数据提交 方式是g e t 或p o s t 后,才分别填充不同的环境变量,从而对不同方式的数据进行 分别解析。 ( 1 ) g e t 方式表单数据解析 b o a 的默认数据传输方式是g e t 方式,b o a 服务器会将客户端提交的表单数据填 充到嘲- q u e r y _ s t r i n g 变量中,在解析时,通过g e t e n v ( q u e r ys t r i n g ”) 的方式解 析表单数据,返回的数据即为用户提交的数据字符串。 ( 2 ) p o s t 方式表单数据解析 在判断数据传输方式时,如果发现是p o s t 方式,b o a 服务器会将客户端提交的 表单数据填充到r e q - c o n t e n l l e n g t h 变量中,在解析时,通过 g e t e n v ( c o n t e n t _ l e n g t h ”) 的方式获取字符流表单数据,然后通过标准输入输出 ( s t d n n s t d o u t ) 的方式解析表单数据。 在c g i 程序当中,可通过检查r e q u e s t环境变量来确定采用的哪种 数据传送方法。 方式最终解析出来_的m表et单h数odget厅ost据字符串格式均为如下结构: v a r i a b l e l = v a l u e l & v a r i a b l e 2 = v a l u e 2 & e t c 5 判断请求页面类型 b o a 解析请求页面时,首先通过g e t c 文件当中的i n i t _ g e t o 函数解析文件目录,再 通过调用c g i c 文件中的i n i l c g i 0 函数来判断是不是c g i 页面,b o a 通过创建一个新 的线程来处理c g i 和h t m l h t m 静态页面1 2 9 , 3 0 。 图3 2 为处理静态页面请求的i n i t _ g e t o 函数的基本工作流程。图中p r o c e s s _ g e t 0 函数完成的功能为将r e q u e s t 结构中的d a t a _ m e n 字符串返回套接字并在用户浏览器上 显示相应的内容。 2 1 北京化工大学硕士学位论文 r 开始 、 0 终止c g i 环境变量 上 打开文件目录r e q - p a t h n a m e 上 取得文件信息 j 根据r e q 结构更新文件信息 上 将数据写a r e q - d a t a m e n 上 修改状态使之调用 p r o c e s s _ g e t o 上 在用户浏览器中显示 返回主函数 图3 - 2i n i t _ g e t 函数流程 f i g 3 - 2t h ef l o wc h a r to ft h ef u n c t i o ni n i t _ _ g e t 对c g i 程序的处理函数i n i tc 舀0 首先调用一系列函数完成对c g i 环境变量的设 置, e r e a t e _ c o m m o n _ e n v ( ) ,c o m p l e t ee n v ( ) 完成了大多数c g i 环境变量的注册工作。 采用p i p e ( 管道) 方式,就是将c g i 程序的输出重定向到管道,然后b o a 从管道读取 并转发给客户端浏览器。整个流程结束后,返回到主函数的无限循环中等待处理下一个 套接字连接的到达。i n i t c g i 0 具体工作流程如图3 3 。 管道读取函数r e a d _ f r o m _ p i p e 0 完成的主要功能是从套接字r e q d a t a _ f d 读取数据 到r e a l h e a d e r中并进行处理,然后修改 来调用 _ e 将n d - 的内容返回套接r e 字q f d s t 并a t u 在s = 用p i 户p e 浏w 览r 器i t 上e w r i t e _ f r o mp i p e 0 r e q h e a d e r l i n e 显示相应 的内容。 第三章基于w e b 的远程监控系统的设计与实现 3 2 3b o a 工作流程 图3 - 3i n l c g i 函数流程 耵9 3 3t h ef l o wc h a r to ft h ef u n c t i o ni n i l c g i 由以上对b o a 源代码的运行机制的分析,得出b o a 的工作流程如图3 - 4 所示: 北京化工大学硕士学位论文 3 2 4 修改配置文件b o a c o n f 图3 4b o a 工作流程 f i g 3 - 4t h ef l o wc h a r to ft h eb o a b o a 的配置文件主要有两个,一个是b o a 源码包中的e x a m p l e b o a c o n f ,另一个是 要从宿主机的e t c 目录下不需做任何修改地拷贝m i m e t y p e 文件到b o a c o n f 中指定的 路径。其中,b o a c o n f 配置文件对b o a 的启动和运行起着非常关键的作用。 为了使运行后的b o a 能正常工作必须合理配置b o a c o n f ,下面介绍几个主要的配 置选项: p o r t b o a 充当服务器的端口默认是8 0 u s e r 能授权b o a 运行的当前主机用户名默认是n o b o d y g r o u p 能授权b o a 运行的当前主机用户组名默认是n o b o d y s e r v e r n a m e 此选项在b o a 源代码中的初始状态是被注释的,从b o a 源代码的运行机制中可知 一定要指定s e r v e m a m e ,因此只要去掉注释符,并任意指定一个s e r v e m a m e 即可。 e r r o r l o g 出错日志文件的放置地址 a c c e s s l o g 第三章基于w e b 的远程监控系统的设计与实现 访问日志文件的放置地址 c # i o g c g i 访问日志文件的放置位置 d e f a u l t t y p et e x t p l a i n 此选项是指定c g i 页面的默认的文本类型 d o c u m e n t r o o t 指定系统默认的静态页面的存放地址 d i r e c t o r y l n d e xi n d e x h t m l 指定默认静态页面的文件名,一般来说都是指定为i n d e x h t m l k e e p a l i v e m a x 每个连接允许的活动访问数 s c r i p t a l i a s c g i b i n h o m e w e b c g i - b i n 此选项比较关键,是指定c 萄应用程序存放的路径。本文将所有编译生成的c 舀 程序全部放在h o m e w e b c g i - b i i i 目录中。 m i m e

温馨提示

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

评论

0/150

提交评论