构建嵌入式Linux操作系统创新.pptVIP

  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文档。上传文档
查看更多
第4章 构建嵌入式Linux操作系统 目前流行的嵌入式操作系统有Linux、WinCE、VxWorks等。Linux作为一种免费的类UNIX操作系统,由于其功能强大,在嵌入式产品的应用中非常广泛。本章将对Linux操作系统做简单的介绍,并简述怎么自己构建一个可以运行的Linux操作系统。 4.1 Linux操作系统的介绍 Linux操作系统是嵌入式系统的主流操作系统,本节将对Linux操作系统进行简要的介绍。同时对Linux操作系统适用与嵌入式系统的原因进行简要分析。 4.1.1 Linux操作系统 Linux操作系统是一个类Unix计算机操作系统。Linux操作系统的内核的名字也是“Linux”。Linux这个词本身只表示Linux内核,但在实际上人们已经习惯了用Linux来形容整个基于Linux内核的操作系统。Linux的最初版本由Linus Torvalds开发,此后得到互联网上很多计算机高手的支持,目前的版本已经到了2.6,已经是一个非常成熟稳定的操作系统。下面从不同方面对Linux操作系统进行简要的介绍。 4.1.2 Linux操作系统的优点 Linux操作系统有很多优点,具有十分丰富的应用功能。这些功能特别适用于嵌入式系统,这些优点如下所示: 1.价格低廉 2.高效性和灵活性 3.广泛性 4.2.2 内存管理 内存是计算机的主要资源之一,可以将内存理解为一个线性的存储结构。用来管理内存的策略是决定系统性能的主要因素。内核在有限的资源上为每一个进程创建一个虚拟地址空间,并对虚拟地址空间进行管理。为了方便内存的管理,内核提供了一些重要的函数。这些函数包括kmalloc、kfree等。另外设备驱动程序需要使用内存分配,不同的分配方式对驱动程序的影响不同,所以需要对内存分配有比较清晰的了解。 4.2.3 文件系统 在Linux操作系统中,文件系统是用来组织、管理、存放文件的一套管理机制。Linux文件系统的一大优点是,它几乎可以支持所有的文件格式。任何一种新的文件格式,都可以容易的写出相应的支持代码,并无缝的添加入内核中。虽然不同文件格式的文件以不同的存储方式存放在磁盘设备中,但是在用户看来,文件总以树形结构显示给用户。 4.2.4 设备管理 无论是桌面系统还是嵌入式系统,都存在各种类型的设备。操作系统的一个重要功能就是对这些进行统一的管理。由于设备的种类繁多,不同设备的操作方法都不一样,使管理设备成为操作系统中非常复杂的部分。Linux系统通过某种方式较好的解决了这个问题,使设备的管理得到了统一。 设备管理的一个主要任务是完成数据从设备到内存的传输。一个完全的数据传输过程是:数据首先从设备传入内存,然后CPU对其进行处理,处理完后将数据传入内存或设备中。 4.2.5 网络功能 网络功能也由操作系统来完成。大部分的网络操作与用户进程都是分离的,数据包的接收和发送操作都是由相应的驱动程序来完成的,而与用户进程无关。进程处理数据之前,驱动程序必须先收集,标识和发送或重组数据。当数据准备好后,系统负责用户进程和网络接口之间的数据传送。另外内核也负责实现网络通信协议。 4.3 Linux源代码结构分析 了解Linux源代码结构对理解Linux如何实现各项功能是非常重要的。对驱动程序的编写也非常重要,这样,驱动开发人员知道应该在何处找到相关的驱动程序,一方面可以对其进行改写移植,另一个方面可以模仿以往的驱动程序,写出新的驱动程序。Linux源代码以目录的方式组织,每一个目录中有相关的内核代码。下面对各个主要的目录进行介绍。 4.3.1 arch目录 随着Linux操作系统的广泛应用,特别是Linux在嵌入式领域的发展,越来越多的人开始投身到 Linux驱动的开发中。面对日益庞大的Linux内核源代码,驱动开发者在完成自己的内核代码后,都将面临着同样的问题,即如何将源代码融入到Linux内核中,增加相应的Linux配置选项,并最终被编译进Linux内核。这就需要对Linux源代码结构进行详细的介绍,首先介绍arch目录。 4.3.2 drivers目录 drivers目录中包含了Linux内核支持的大部分驱动程序。每种驱动程序都占用一个子目录。 4.3.3 fs目录 fs目录中包含了Linux所支持的所有文件系统相关的代码。每一个子目录中包含一种文件系统,例如msdos和ext3。Linux几乎支持目前所有的文件系统,如果发现一种没有支持的新文件系统,那么可以很方便的在fs目录中添加一个新的文件系统目录,并实现一种文件系统。 4.3.4 其他目录 除了上面介绍的目录外,内核中还有其他一些重要的目录和文件。每一个目录和文件都有自己特殊的功能。 4.4 内核配置选项 自己构建嵌入式Linux操作系统,首先需

文档评论(0)

武神赵子龙 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档