- 1、本文档共31页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
uClinux简介课件
xlanchen@2007.5.28 Embedded operating system uClinux简介 xlanchen@2007.5.28 μClinux uClinux是应用于嵌入式设备的最著名、应用最广泛一个Linux发行版本,它也是一个开放源码的项目,uClinux的源代码和开发工具可以免费从 上下载得到。 uClinux的含义:Micro-Control-Linux:专门针对微控制器领域而设计的嵌入式Linux系统 主要内容 uClinux的特点 uClinux的开发环境 uClinuc的实时解决方案 uClinux的内存管理 uClinux的源代码结构和Makefile uClinux的特点(1) 和主流的Linux相比, uClinux有以下的特点 1.简化了内核加载方式 uClinux 的内核有两种可选的运行方式:可以在flash上直接运行,也可以加载到内存中运行。 (1)Flash运行方式:把内核的可执行映象烧写到flash上,系统启动时从Flash的某个地址开始逐句执行。这实际上是很多嵌入式系统采用的方法。 uClinux的特点(1) (2)内核加载方式:把内核的压缩文件存放在flash上,系统启动时读取压缩文件在内存里解压,然后开始执行,这种方式相对复杂一些,但是运行速度可能更快(ram的存取速率要比flash高)。同时这也是标准Linux系统采用的启动方式。 uClinux的特点(2) 2.采用了romfs文件系统作为root文件系统romfs文件系统相对于一般的ext2文件系统要求更少的空间。空间的节约主要来自两个方面:(1)内核支持romfs文件系统比支持ext2文件系统需要更少的代码(2)romfs文件系统相对简单,建立文件系统的超级块需要更少的存储空间。Romfs文件系统不支持动态擦写,对于系统需要动态保存的数据采用RAM盘的方法处理,RAM盘采用ext2文件系统。 uClinux的特点(3) 3.使用Flat可执行文件格式elf格式有很大的文件头,flat文件对文件头和一些段信息做了简化。gcc的编译器不能直接形成这种文件格式,但是可以形成coff或elf格式的可执行文件,这两种文件需要coff2flt或elf2flt工具进行格式转化,形成flat文件。 uClinux的特点(4) 4.重写了应用程序库 uClinux重写了应用程序库,相对于越来越大且越来越全的glibc库,uClibc对libc做了精简。 uClinux对用户程序采用静态连接的形式,这种做法会使应用程序变大,但是基于内存管理的问题,不得不这样做,同时这种做法也更接近于通常嵌入式系统的做法。 uClinux的开发环境 uClinux源码包 http: ///pub/uClinux/dist/ uClinux、uClibc以及用户应用程序 交叉编译环境 http: ///pub/.../arm-elf-tools/ 交叉编译器、Binutils工具以及Gdb等 uClinux的实时解决方案 uClinux本身并没有关注实时问题,它并不是为了Linux的实时性而提出的。 uClinux可以使用Rt-linux的patch,以增强其实时性,使得 uClinux可以应用于工业控制、进程控制等一些实时要求较高的应用。 Rt-linux在前面已经介绍过。它的执行管理器把普通 Linux 的内核当成一个任务运行,同时还管理了实时进程。而非实时进程则交给普通Linux 内核处理。 uClinux的实时解决方案 这种方法已经应用于很多的操作系统以增强操作系统的实时性,包括一些商用版UNIX系统,Windows NT 等等。 这种方法优点: (1)实现简单,且实时性能容易检验。 (2)由于非实时进程运行于标准Linux系统,同其它Linux商用版本之间保持了很大的 兼容性。 (3)可以支持硬实时时钟的应用。 uClinux的内存管理 uClinux同标准Linux的最大区别就在于内存管理 下面将把uClinux内存管理同标准Linux的那内存管理部分进行比较分析: 1、标准Linux使用的虚拟存储器技术 2、uClinux针对NOMMU的特殊处理 1、标准Linux的虚拟存储器技术 标准Linux使用虚拟存储器技术 用于提供比计算机系统中实际使用的物理内存大得多的内存空间。 使用者将感觉到好像程序可以使用非常大的内存空间,从而使得编程人员在写程序时不用考虑计算机中的物理内存的实际容量。 为了支持虚拟存储管理器的管理,Linux系统采用分页(paging)的方式来载入进程。 所谓分页即把实际的存储器分割为相同大小的段,例如每个段1024个字节,这样1024个字节大小的段便称为一个页面(page)。
文档评论(0)