uClinux下的Shell研究.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
uClinux下的Shell研究.doc

  uClinux下的Shell研究|第1 摘要:本文先就Linux下的常见数据库技术做了分析,然后指出了嵌入式系统开发中对数据库的需求特点,基于此对SQLite嵌入式数据库的体系结构和开发技术做了论述,最后结合ARM-Linux开发平台讲述了具体的实现方法。 关键词:嵌入式数据库;SQLite;ARM-Linux 引言 随着嵌入式系统的广泛应用和用户对数据的处理及管理需求的不断提高,各种智能设备和数据库技术的紧密结合已经得到了各方面的重视。目前,基于嵌入式数据库应用的市场需求已经进入加速发展的阶段。 500)this.style.ouseg(this) [ 相关贴图 ] 500)this.style.ouseg(this) 图1SQLite体系结构 Linux下常见的 数据库技术分析 基于Linux平台的数据库非常多,大型的商用数据库有Oracle、Sybase、Informix、IBMDB2等等,中小型的更是不胜枚举,常见的主要有PostgreSQL、MySQL、mSQL、BerkeleyDB、SQLite等等。 大型商业数据库功能强大、系统体积庞大,并要求付费使用。MySQL在保持中等体积的情况下提供了较为适用的功能,已经成为中小规模数据库应用的首选,但商业应用也要收费,而且对于嵌入式开发来说空间占用仍然太大。mSQL是一种简化的SQL数据库,短小精悍,开发方便,适用于嵌入式开发,但它只有30天的使用期限,并非完全的开源。余下的开放源码数据库中,PostgreSQL是Linux下最完善的开源SQL数据库,但体积也较大;BerkeleyDB速度极快,可靠性高,但学习起来有一定难度,必然会加大开发成本。 SQLite支持绝大多数标准的SQL92语句,采用单文件存放数据库,速度又比MySQL快上1~2倍,存储量也不是问题,在操作语句上更类似关系型数据库的使用,其版权允许无任何限制的应用,包括商业性的产品。由于具有这些优良特性,SSQLite已集成至PHP5中。 嵌入式开发对 数据库的需求特点 嵌入式系统开发环境决定了其对数据库的需求有如下特点: 嵌入式系统对于数据的存储与程序的运行一般都有较强的空间限制,所以,适用于嵌入式使用的数据库首先应该有一个适当的体积; 嵌入式开发中有很多应用,用户需求的多样化决定了开发中需要有一个功能齐备的数据库来实现对数据的管理,对开发人员来说,同时还要求采用的数据库技术能够提供完备开发的文档而且易于开发; 作为产品的开发,开源的代码不仅可以减少产品的生产成本,更重要的是为产品的维护完善和稳定运行都提供了最为彻底的解决手段。 SQLite的设计思想是小型、快速和最小化的管理,简单易用,同时提供了丰富的数据库接口,功能虽较BerkeleyDB略有逊色,但在开源组织的推动下差距正在缩小。实际上,很多情况并不需要存储过程或复杂的表之间的关联,这时会发现SQLite在大小和功能之间找到了一个理想的平衡点。另外它还允许自由地用于任何目的甚至包括商业应用,完全的开源代码使其可以称得上是理想的嵌入式数据库。 SQLite的体系结构 及开发技术 SQLite是一个用小型C库实现的嵌入式关系数据库管理体制,有着很强的内聚性。它提供了对SQL92的大多数支持,支持多表和索引、事务、视图、触发以及一系列的用户接口及驱动。此外它还可以运行于从ARM/Linux到SPARC/Solaris的多种硬件平台。 体系结构 SQLite有一种优雅、标准化的设计。它可以分成8个主要子系统,如图1所示,其中有一些相当接近于关系数据库管理。 在图的顶层是标记处理器(tokenizer)和分析器(parser)。SQLite有自己高度优化的分析器生成器,可以快速产生高效率的代码,并对内存泄漏有着特别的抵抗力。 在底部是基于Knuth经过优化的B树,这样就可以运行在可调整的页面缓冲上,有助于将对磁盘的查找减到最小。 再往下是页面高速缓存,它作用在操作系统的抽象层之上,这样的安排有助于数据库的移动。 体系结构的核心是虚拟数据库引擎(VDBE)。VDBE完成与数据操作相关的全部操作,并且是客户和存储之间进行信息交换的中间单元。在SQL语句被分析之后,VDBE开始起作用。代码生成器将分析树翻译成一个袖珍程序,随后这些袖珍程序又被组合成用VDBE的虚拟机器语言表示的一系列指令。如此往复,VDBE执行每条指令,最终完成SQL语句指定的查询要求。 SQLite开发技术 SQLite的API极其易于使用,只需要三个用来执行SQL和获得数据的函数。它还是可以扩展的,允许程序员自定义函数然后以callback的形式集合进去。C语言API是其它接口的基础,开放源码团体基于此已经扩展了众多的客户接口,使得其他语言对SQLite的使用也成为可

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档