基于Linux的嵌入式浏览器系统的设计与实现卢文成硕士论文.docx
- 文档编号:17883348
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:46
- 大小:310.48KB
基于Linux的嵌入式浏览器系统的设计与实现卢文成硕士论文.docx
《基于Linux的嵌入式浏览器系统的设计与实现卢文成硕士论文.docx》由会员分享,可在线阅读,更多相关《基于Linux的嵌入式浏览器系统的设计与实现卢文成硕士论文.docx(46页珍藏版)》请在冰点文库上搜索。
基于Linux的嵌入式浏览器系统的设计与实现卢文成硕士论文
摘要
随着计算机和通讯技术的发展,计算机网络,通讯网络和有线电视网络方面的研究和应用正逐渐渗透并且最后向着同一个方向发展。
这就为一个新的应用——交互式机顶盒系统提供了很好的基础。
而利用机顶盒系统与CATV网相连向用户提供高性能的WWW浏览服务已成为当前热门话题。
由于机顶盒系统的特点是代码精简、开销小且效率高,而当今盛行于INTENET上的WWW图形浏览器如InternetExplorer,Netscape则过于庞大,支持的功能虽然五花八门,但不可避免的对效率产生了影响。
所以在嵌入式操作系统上开发精简、高效、界面美观且功能齐备的图形浏览器很具有实际意义。
它在很大程度上节省了机顶盒成本的开销,并将更好的促进机顶盒推向市场。
我们是在以Linux为实时操作系统的机顶盒上实现嵌入式浏览器系统的,并采用了XWindows作为GUI。
作为流行的GUI,XWindows是一个在大多数Linux操作系统上使用的图形用户界面,它是一种与平台无关的客户/服务器模型,并提供了强大的与设备无关的图形接口。
我们的嵌入式浏览器设计主要包括六个模块——系统初始化、资源获取、输入模块、HTML解析器、显示模块和服务主程序,其中所涉及的关键技术包括超文本的二叉树解析、显示优化、字体存储优化和X-SERVER与客户端的汉化技术。
这些我们将在正文中进行详细解说。
最后,我们将提出对嵌入式浏览器系统的改进意见和未来的研究方向。
关键字:
EB,机顶盒,CATV,VOD,Linux,嵌入式系统,RTLinux,RTOS,PDA,GUI,XWindows,X-SERVER
ABSTRACT
Nowadays,computerandcommunicationtechniquesaredevelopingatveryfastspeed.Uponthat,theresearchandapplicationofcomputernetworks,communicationnetworks,andCATVareintegratinganddevelopingtothesamedirection.Alltheseprovideagoodenvironmentforanewapplication——interactiveSet-topBoxsystem.Anditisbecomingahottopicforprovidinghigh-performanceservicebycommunicationbetweenSet-topBoxandCATV.However,WWWbrowserswhicharepopularinInternetarealwaystoohuge.Theydefinitelyimpactefficiencythoughprovidingpowerfulfunctions.AndthatdrawbackconflictswithsimplifiedSet-topBoxseriously.Asaresultofthat,itdoesneedtodevelopasimplified,high-performanceandpowerfulgraphicbrowserwhichhasbeautifulinterface.AllwhatwedowillgreatlysavethecostfordevelopingSet-topbox,andwillbringgreatbenefittopeople.
WeimplementedtheembeddedbrowsersystemsunderLinux-basedSet-topBoxwithXWindowsasGUI.XWindowsisapopulargraphicaluserinterfaceunderLinux.ItisakindofClient/Servermodel,andprovidespowerfulgraphicalinterfaceindependentwithdevices.Ourdesignofembeddedbrowsersystemsincludessixmodules——initializingsystems,acquiringresource,inputingmodule,HTMLparser,displayingmoduleandservicemodule,whichinvolveHTMLparsingbasedonbinarytree,optimisingdisplaying,optimisingstorageoffontlibraryandmakingX-SERVERandClientChinese.Allabovewillbediscusseddetailedlyinmyarticle.
Atlast,wewilloffersomeadvicesforimprovingtheembeddedbrowsersystems.
Keyword:
EB,Set-topBox,CATV,VOD,Linux,EmbeddedSystems,RTLinux,RTOS,PDA,GUI,XWindows,X-SERVER
第一章绪论
1.1嵌入式系统的发展状况
计算机技术的应用已经渗透到科学研究、工程设计、军事技术、各类产业和商业文化艺术、娱乐业及人们的日常生活,每一个人都在日常生活中利用计算机技术提供的服务。
在这其中,嵌入式系统扮演着十分重要的角色。
令人耳目一新的可穿戴PC在Comdex上的露面,着实让人们大吃一惊,原来嵌入式应用竞是如此的广泛与亲切。
如今,随着嵌入式计算机、VCD、车载PC等与人们日常生活息息相关的嵌入式应用纷至沓来,生活也许从此将会改变。
一个普通的人可能没有接触过电脑,可是他一定接触过嵌入式系统,在家里,嵌入式系统可以存在于他家的冼衣机、空调器等家用电器里;外出时,嵌入式系统可以存在于他的汽车、摩托车等交通工具里;当他打电话或是发传真时,嵌入式系统就在他的电话机或传真机里;甚至当他生病进医院时,嵌入式系统还可以存在于各种各样的医疗仪器里。
嵌入式系统在应用数量上远远超过了各种通用计算机,一台通用计算机的外部设备中就包含了5-10个嵌入式微处理器,键盘、鼠标、软驱、硬盘、显示卡、显示器、Modem、网卡、声卡、打印机、扫描仪、数字相机、USB集线器等均是由嵌入式处理器控制的。
在制造工业、过程控制、通讯、仪器、仪表、汽车、船舶、航空、航天、军事装备、消费类产品等方面均是嵌入式计算机的应用领域。
随着计算机技术和产品对其它行业的广泛渗透,以往的将计算机分为大型机,中型机以及小型机的分类方法变得越来越模糊,PC机实际上已经占据了全球计算机工业90%市场,其处理速度也超过了当年大、中型计算机的定义。
以应用为中心的分类方法变得更为切合实际,也就是按计算机的嵌入式应用和非嵌入式应用将其分为嵌入式计算机和通用计算机。
通用计算机具有计算机的标准形态,通过装配不同的应用软件,以类同面目出现并应用在社会的各个方面,其典型产品为PC;而嵌入式计算机则是以嵌入式系统的形式隐藏在各种装置、产品和系统中。
32位,64位高性能微处理器传统上主要是用作PC机和工作站的中央处理器(CPU)。
然而,统计数据表明,1998年此类高性能微处理器在嵌入式系统(即嵌入式系统)中的用量第一次超过了在计算机中的用量。
据估计,今后五年内在嵌入式系统中的用量将为计算机用量的三倍。
嵌入式设备从来没有象现在这样风靡过。
据IDC预计,在未来的10年内,包括网络接入设备、通信系统、消费类电子产品,乃至娱乐设备在内的嵌入式应用系统的市场总额将增长到近20亿美元。
而基于嵌入式系统的网络设备有望以每年翻一番的速度增长。
由于微处理芯片技术的发展,尤其是其性价比的提高,越来越多的微处理芯片用于一些新的嵌入式应用系统中,如消费电子、通信设备、控制系统等等。
换句话说,由于微处理器性能的提高,拓宽了嵌入式系统的应用领域,从早期的工业控制应用为主的范围扩展到消费电子、通讯、信息设备等新领域,并将深入到信息社会的各个角落。
另一方面,这些新的嵌入式应用系统要求支持的功能也更多更强。
而这些功能,需要通过强大的软件来支持,开发这些基于控制芯片的硬件平台的软件,构成了嵌入式应用系统开发的主要难点之一。
同时,缩短产品的开发周期对于新近涌现出的消费电子类等嵌入式产品,至关重要。
因而提供支持多类嵌入式微处理器的操作系统软件(EOS),能够有效地支持嵌入式应用系统的快速开发,同时也有效地满足复杂的嵌入式软件的开发需求。
在当今数字信息技术、网络技术高速发展与发达的后PC时代,嵌入式系统无处不在,并将不断涌现出新的嵌入式应用系统,因而研究与开发嵌入式操作系统,对有效的支持广大的嵌入式应用系统开发具有重大意义,是十分必要的。
前段时间,微软公司的Venus计划以及相对应的“女娲”计划,激发了对嵌入式操作系统的研究与开发的高潮。
事实上,国际上对嵌入式操作系统的研究与开发由来已久,已形成的主要产品有ISI的pSOSystem、IMAG公司的VxWorks、QNX的QNX以及Microsoft的WindowsCE等等,另外日本也早在96年,开始了TRON(TheReal-timeOperatingSystemNucleus)项目,用于制定支持嵌入式系统的实时操作系统规范。
从国内来看,进行嵌入式操作系统相关工作的公司与研究单位很少,有一些技术积累与不成熟的原型系统或产品,如凯思公司的HOpen,浙大计算机系系统所与深圳DIC合作开发的STB-RTOS,但与国外还有很大差距,因而就嵌入式操作系统开展研究与应用开发具有重要的意义。
本文将对操作系统对嵌入式系统的支持技术,特别是基于实时操作系统的嵌入式系统的开发进行深入的探讨。
嵌入式系统的一个关键需求就是实时,因而其所需要的核心也同样是实时操作系统。
不过除此之外,嵌入式系统对于系统的可配置性、可靠性等还有要求,另外还包括一些系统引导、模块动态加载、系统调试等等众多的应用内容。
1.2自由软件的代表—Linux的特点
Linux的源头要追溯到最古老的UNIX。
1969年,Bell实验室的KenThompson开始利用一台闲置的PDP-7计算机开发了一种多用户,多任务操作系统。
很快,DennisRichie加入了这个项目,在他们共同努力下诞生了最早的UNIX。
Richie受一个更早的项目——MULTICS的启发,将此操作系统命名为Unix。
早期UNIX是用汇编语言编写的,但其第三个版本用一种崭新的编程语言C重新设计了。
C是Richie设计出来并用于编写操作系统的程序语言。
通过这次重新编写,Unix得以移植到更为强大的DECPDP-11/45与11/70计算机上运行。
后来发生的一切,正如他们所说,已经成为历史。
Unix从实验室走出来并成为了操作系统的主流,现在几乎每个主要的计算机厂商都有其自有版本的Unix。
而Linux起源于一个学生的简单需求。
LinusTorvalds,Linux的作者与主要维护者,在其上大学时所买得起的唯一软件是Minix.Minix是一个象Unix一样的被广泛用来辅助教学的简单操作系统。
Linus对Minix不是很满意,于是决定自己编写软件。
他以学生时代熟悉的Unix作为原型,在一台Intel386PC上开始了他的工作。
他的进展很快,受工作成绩的鼓舞,他将这项成果通过互连网与其他同学共享,主要用于学术领域。
后来有人看到了这个软件并开始分发。
每当出现新问题时,会有人立刻找到解决办法并加入其中,很快的,Linux成为了一个操作系统。
值得注意的是Linux并没有包括Unix源码。
它是按照公开的POSIX标准重新编写的。
Linux大量使用了由麻省剑桥免费软件基金会的GNU软件,同时Linux自身也是用它们构造而成。
Linux的迅速成长与用户享有修改并发行程序新版本的“自由”权利是分不开的。
显然,冲击世界Linux的热浪,并不仅仅因为其低廉的成本和高的性能,而主要在于其真正开放的结构和所遵循的标准,以及Linux爱好者和开发者所奉行的信念。
Linux是一套以Unix系统为基础发展而成的操作系统。
自1991年诞生至今,Linux在很多方面已经赶上,甚至超过了商用的Unix系统。
它充分利用了X86CPU的任务切换机制,实现了真正的多任务、多用户环境,由于最初的设计目的就是面向Unix系统低端,所以在提供强大功能的同时,Linux对硬件配置的要求却非常低——它能够在4M内存的386处理器上很好地运行。
新版本的Linux支持许多处理器芯片。
更重要的是,它是一种自由软件,许多软件设计高手都愿意在Linux上开发东西。
鉴于国际的流行状况和我国目前操作系统的研究状况,选取Linux作为嵌入式操作系统的是很好的选择。
将Linux作为一个嵌入式操作系统具有许多的优点:
●系统稳定、功能强大、支持多种硬件平台、应用软件多、简单易用;
Linux在许多方面与Unix类似,但是它是一个完全独立的操作系统,它可以非常稳定地运行在许多种处理器上,系统的规模小到8位的嵌入式系统大到HPIA-6464位结构的机器,它有许多与Unix相似的命令和编程接口,大量习惯Unix操作的用户和程序员可以很方便地学会使用在它。
而且许多商用的软件已经开始有Linux版本,Applix和Star公司提供了数种字处理、电子表格、图形应用等程序;CorelWordPerfect7、AdabasD和RaimaDatabaseManager++数据库、NetscapeNavigator3.0和Fast-TrackWeb服务器、AdobeAcrobatPDF阅读器、FreeBuilder等的Linux版均已问世;甚至连微软这样的软件业巨人也正在准备推出其分布式计算标准DCOM的Linux版。
近几年来,商用Unix系统开始将Unix往大的方向发展,往往以企业级系统网络服务器方式出现,这使得Unix系统的复杂性不断增加,而管理整个Unix系统也变得非常地复杂。
而Linux却做到了简单易用,并且系统管理也不复杂,加上Linux能够很好地胜任企业级网络服务器的要求,所以Linux近几年在企业网络服务器市场占有率的不断提高,大有取代商用Unix系统之势。
●使用成本底;
大多数的商用操作系统,微软的Windows等,都要为每个使用的拷贝支付相当数量的费用,而Linux是免费软件,只要用户遵守GPL(GeneralPublicLicense)的规定,可以免费使用和分发任意多的拷贝。
商用的操作系统除了要为操作系统本身付费以外,还要为该平台下的软件开发工具付费。
而Linux还提供了相当完善的免费软件开发工具包,包括开发C,C++,Java等程序的编译器和调试工具,这些工具功能不亚于商用的软件开发包,它们支持各种类型的计算机体系结构和调试环境。
●文档完善
Linux有非常多的文档支持,从为初学者准备的各种教程到非常详细的联机机帮助文档,Linux是Internet充分发展的产物,许多关于Linux的文档都可以在Internet上找到和下载,LinuxDocumentProject是为Linux提供系统化的文档支持的项目,在世界上许多程序员和用户的帮助下,它已经收集了非常详细的系统文档和使用文档。
而且,各种关于Linux的书籍和杂志正如雨后春笋般地出现,我们甚至可以在书店里看到专门为Linux书籍开辟的区域。
●强大的网络功能
Linux操作系统最突出的是网络部分,基本上所有的网络协议和网络接口都可以在Linux上找到,由于它使用了固定大小的缓冲区而不是象Unix一样使用muf或STREAMS缓冲区,Linux核心比标准的Unix能更加高效地处理网络协议,系统的网络吞吐性能非常好,这也是为什么Linux在网络服务器市场上占据越来越大市场分额的一个原因。
●支持XWindows
XWindows是一个在大多数Unix工作站上使用的图形用户界面,它是一种与平台无关的客户/服务器模型,可以让用户在一台机器上打开另一台机器上的窗口。
正是这种特性使得Unix和Linux系统上的用户和应用程序非常自然地通过网络连接在一起。
Linux提供各种各样的窗口管理器,用户可以根据自己的口味挑选各种的风格,对于那些习惯于Windows95的用户来说,甚至他还可以挑选像Window95一样的窗口管理器。
当然,最重要的是Linux不是某个公司的私有财产,它是一个开放软件,是免费的和源代码公开的。
Linux在这几年不断成熟,越来越多的人加入了Linux的行列,以前Linux只是一群黑客的玩具和专家的实验用操作系统,而现在即使是电脑的普通用户也在用Linux。
为Linux提供服务的公司也开始出现,为客户提供专业化的技术支持。
但实际上不用花钱也可以通过Internet新闻组得到强大的Linux技术支持和帮助。
Linux有一个庞大的支持者群体,其中许多人都编写驱动程序和其它的更新程序并且免费的通过Internet网络进行分发。
这意味着对新硬件的Linux驱动程序甚至比用于其它的UNIX系统如Solaris的驱动程序还来得及时。
Linux的庞大的志愿者网络在生产“补丁”程序方面反应很快。
如,当PentiumII的bug被发现以后,Linux就是最早提供解决这个问题的方案的操作系统。
如果一个Linux应用是流行的,用户一般都可以通过Linux新闻组得到很好的支持。
有许多Usenet新闻组可供Linux用户寻求帮助。
对一般Linux问题的回答时间可同一些厂商的E-mail支持(甚至是电话支持)相比。
对Linux的支持绝大部分是通过用户团体在Usenet新闻组上提供的。
这上面广泛收集有大量的FAQ,其内容包括Linux安装、配置和故障定位的方方面面。
在Usenet上提供的许多这方面的材料现在已经被一些出版商如WalnusCreek等公开出版了。
所有的这些,都是现有的嵌入式操作系统所无法比拟的。
1.3论文的组织
我们针对上述两种背景在Linux上设计并开发出一个基于机顶盒的嵌入式浏览器系统。
我们在第二章对该机顶盒系统进行了详细的描述;由于嵌入式浏览器系统的设计与实现和X-SERVER紧密相连,我们将在第三章介绍X-SERVER的相关知识;第四章的内容主要用于介绍嵌入式浏览器系统的设计与实现,它包括该嵌入式浏览器的系统结构和处理流程、主要功能模块的构成和所涉及的关键技术。
最后一章的内容是作者在总结工作的基础上,对基于Linux的嵌入式浏览器系统发展存在的问题以及它的应用前景提出了自己的观点和建议。
第二章嵌入式浏览器系统的硬件结构
嵌入式浏览器系统是一种以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
嵌入式浏览器系统的特点是种类繁多,功能专一,价格低廉,使用方便。
通信网络
图1:
嵌入式浏览器系统的层次结构图
我们开发CHIMERA浏览器的目的主要是把它集成到机顶盒系统中,将其作为面向用户的界面,上图是CHIMERA浏览器在机顶盒系统中的层次图。
我们设计的嵌入式中文浏览器位于机顶盒系统的最上层,机顶盒系统的层次结构,从下到上分别是:
在最下层是基本的硬件层,包括网络,视频,输入/输出,以及存储系统。
在硬件层之上是一个微内核的实时操作系统和TCP/IP网络管理程序,再之上便是汉化后的X-SERVER,最上层的是机顶盒的应用部分,包括WWW浏览器,电子邮件系统和视频点播系统。
并通过有限电视网和中心系统通讯。
2.1嵌入式浏览器系统的硬件核心--嵌入式微处理器
嵌入式浏览器系统的心脏是嵌入式微处理器,与PC市场不同,没有一种微处理器芯片公司可以主导嵌入式系统市场,仅以32位的CPU而言,就有100种以上嵌入式微处理器。
嵌入式系统的差异性极大,这就导致了多样化的需求,不同的嵌入式系统如手持电话、传真机、机器人、打印机和网络路由器等,所对所使用的嵌入式微处理器的要求肯定是不一样的的:
在某种情况下,性能极为重要;而在另一种情况下,低功耗又成为最关键的因素;另外,支持软件的多少、代码的大小以及多种渠道的资源和设计者过去的经验都会使他们作出选择不同的微处理器的决定。
在嵌入式系统微处理器的的供应商中,我们可以找到如Motorola、Intel、AMD等很有名气的大公司;也可以找到一些小的公司如QED(Santa Clara.CA)虽然名气很小,但也生产很优秀的微处理器;另外,有一些公司,如ARM、MIPS等,只设计而并不生产CPU,他们把生产权授予世界各地的半导体制造商。
一些半导体厂商生产的CPU不单纯以传统的封装形式出售,而是以一种软件模型库方式向用户供应ASIC设计。
截至1997年底,所有各种形式的32位嵌入式微处理器的销售额超过1.8亿美元。
Motorola传统的68K结构仍是32位CPU的主流,虽然它起源于80年代初,但在1997年依然销售了8000万个,并基本上是传统680xx芯片(00、20、40K),另外就是683xx(60、02、32、28K)以及Coldfire。
68K嵌入式微处理器最大的挑战者是MIPS的授权制造商。
众所周知,MIPS属于SGI公司,而MIPS主要做嵌入式系统,SGI工作站只是MIPS芯片销售额的1%;紧跟在MIPS后的另一个RISC芯片制造商是Hitachi的SH,SH主要在远东销售(日本最多),北美则很少有人使用。
ARM是另外一种近年来在嵌入式系统有影响力的微处理器制造商,ARM的设计非常适合于小的电源供电系统。
Apple在Newton手持计算机中使用ARM,另外有几款数字无线电话也在使用ARM。
除MIPS、SH和ARM之外,就数PowerPC和X86了。
这两款微处理器在桌面系统用量极大,但在嵌入式系统中的影响却不够大。
1997年,Intel、AMD及其他X86兼容厂商共生产了900万个X86嵌入式CPU。
实际上,在嵌入式X86CPU方面,AMD的工作远比Intel多,如AMD186/188系统和AMD基于386、486的Elan系统(把整个PC基成在单个芯片上)。
2.2.1高性能的微处理器
对于需要高性能的嵌入式系统来说,最好使用新的处理器,如IBM和Motorola的PowerPC。
以前Intel的i960是销售极好的RISC高性能芯片,但是最近几年却遇到强劲的对手,让位于MIPS、SH以及后起之星ARM。
另一种趋势就是越来越多的人在磁盘控制器、数码相机、手持电话、调制解调器等方面使用DSP。
采用DSP的好处是可以大大减少系统内CPU的数目,提高效率,并使编程简单,但是毕竟DSP不能完全替代CPU的功能。
目前已经有公司宣布推出复合型的微处理器,如Motorola的M.Core(一种新一代的16/32位微处理器),它将跨越CPU与DSP。
据悉,TI、Siemens也在开发相似的产品。
IntelPentium无疑是一种高性能处理器,但由于其体积大、散热差等原因,除客户使用OEM板外,在用户自己设计的系统中则较少使用。
2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Linux 嵌入式 浏览器 系统 设计 实现 文成 硕士论文