chapter5嵌入式操作系统Linux概述总结_第1页
chapter5嵌入式操作系统Linux概述总结_第2页
chapter5嵌入式操作系统Linux概述总结_第3页
chapter5嵌入式操作系统Linux概述总结_第4页
chapter5嵌入式操作系统Linux概述总结_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

1、,第5章嵌入式Linux操作系统概述,内容摘要,Linux的诞生和发展Linux的内核结构Linux存储管理Linux进程管理Linux内核启动和初始化过程,Linux的诞生和发展,Linux的诞生和版本历史Linux的诞生Linux的版本开发历史Linux的应用领域Linux嵌入式UNIX操作系统是美国贝尔实验室于1969年夏天在DEC PDP-7小型计算机上开发的分时操作系统。Linux操作系统的诞生、开发和增长过程总是挂在以下五个重要支柱上:和MINIX系统是Andrew S. tanenbaum (ast)在1987年开发的,主要是为学生学习操作系统原理而开发的GNU程序,旨在开发类似

2、于Unix的完整操作系统(即自由软件)GNU系统。POSIX可移动操作系统接口标准是由IEEE开发的,并由ISO/IEC标准化的一系列标准。该标准基于描述操作系统的调用服务接口的现有UNIX实践和经验,以确保编译后的应用程序可以在源代码级别移植到各种操作系统。如果没有互联网网络,Linux绝对不能发展到当前水平。Linux版本开发历史,自Linux诞生以来,Linux内核从版本0.02升级到版本1999,突破性版本2.2,到目前为止,您还没有停止升级。Linux内核版本有两种用于稳定和开发Linux内核的命名机制:num.num.num。第一个数字是主要版本号第二个数字是次要版本号第三个数字是

3、修订号,Linux的应用领域,Linux,服务器,桌面系统,嵌入式应用程序,Linux嵌入式系统开发平台,系统软件平台,系统硬件平台,嵌入式Linux系统需要系统引导工具系统引导工具在打开系统电源后进行系统定位引导Linux微内核内存管理、程序管理初始化过程、成为整个操作系统并希望继续保持小型化的情况下,需要添加硬件驱动程序、硬件接口程序和应用程序组。在选择硬件平台之前,必须确定系统的应用程序功能和所需的速度,并建立外部设备和接口标准。这样可以准确定位所需的硬件方案,并获得性价比最高的系统。应用程序功能速度,1,外部设备接口标准,2,=,性价比,嵌入式Linux开发模式,构建交叉开发环境,交叉

4、编译和链接,交叉调试,系统测试,嵌入式Linux开发模式构建交叉开发环境,业务类型,与运行嵌入式应用程序(通常使用基于主机/目标的模型)的环境不同,常用的交叉开发环境主要有两种类型:开放和商业。开放式交叉开发环境的典型代表是GNU工具链、开放式类型、嵌入式Linux开发模式交叉编译和链接,以及在完成嵌入式软件的编码后编译和链接以生成可执行代码。大多数开发过程都在用于Intel x86系列CPU的通用计算机上执行,但是目标环境中的处理器芯片是系列微处理器(例如ARM、MIPS、PowerPC、DragonBall等),因此需要交叉编译和链接的交叉开发环境。交叉开发环境构建、交叉编译和链接、交叉调

5、试、系统测试、嵌入式Linux开发模式交叉调试、硬件调试:如果您不使用联机仿真器,请让CPU直接在内部实现调试功能,通过从开发主板上拖动的调试端口发送调试命令和接收调试信息,完成调试流程。软件调试:在Linux内核中,将调试文件设置为调试过程和主机之间的通信服务器。然后,主机通过调试器的串行端口与调试文件通信,并应用应用程序的调试。内置父应用程序的调试有两种方法:本地调试和远程调试。嵌入式Linux交叉调试,工作,嵌入式Linux开发模式系统测试,测试技术意味着软件测试的特殊方法和更有效地使用这些路径的特定方法。嵌入式软件测试往往折衷基于目标的测试和基于主机的测试。基于目标的测试需要时间和成本

6、,而基于主机的测试则在模拟环境中执行,即使成本较低也是如此。常用于嵌入式软件测试的测试工具:内存分析工具性能分析工具重叠分析工具缺陷跟踪工具,嵌入式Linux的问题,Linux的实时可扩展性,更改Linux内核体系结构,创建开发环境,1,2,3,解决方案,扩展Linux的实时性能,Linux的内核系统Linux支持范围广泛的设备,便于在智能信息产品(如机顶盒、Linux设备、PDA、手持设备、WAP手机、寻呼机、车载盒和工业控制)中使用。便携式设备、IA设备和信息家电的市场容量比PC高得多,而Linux嵌入式系统的强大生命力和利用价值则越来越多的企业和大学对此进行了研究和开发。Linux嵌入式

7、操作系统的技术优势和独特的开发模式在业界成为新的原因,因为我们相信,它可能成为internet时代嵌入式操作系统中最强大的声音。内容摘要,Linux的诞生和发展Linux的内核结构Linux存储管理Linux内核启动和初始化进程,Linux内核结构,Linux内核概述Linux内核功能Linux 2.6内核的新增功能Linux内核的配置存储和进程管理存储管理进程调度内核源目录结构,Linux内核功能,Linux内核功能,Linux内核完整源代码是符合GPL软件许可证的免费软件,开发人员可以免费获得社区的贡献、支持、确认代码和测试。驱动程序顺序可以免费发布给其他人,也可以静态编译到内核中。每个内

8、核版本和补丁版本的二进制程序,Linux2.6内核的新功能,Linux2.4,Linux2.6,新调度程序,内核抢占,新线程模型,文件系统,声音,总线,电源管理,网络,确保流程能够公平访问CPU,并确保核心及时执行必要的硬件任务。内核管理器(MM)允许多个进程安全地共享系统的主存储系统并支持虚拟内存。虚拟文件系统(VFS)为所有设备提供公共文件接口,VFS抽象了不同硬件设备的精细部分。VFS还支持与其他操作系统兼容的其他文件系统格式;网络接口(NET)提供对许多实施标准和网络硬盘部件的访问。进程间通信(IPC)子系统提供了进程和进程之间通信的一些机制。,这五个部分是基于页面的存储管理机制,该机

9、制屏蔽了互依关系、存储管理、内存管理、任务和各种硬件的内存结构,并向上层返回了统一访问接口,每个页面的大小都基于处理器芯片支持虚拟内存。硬件相关部分包含内存管理硬件的虚拟接口、分类、页表,每个进程都有一个将进程空间的虚拟地址转换为物理地址的页表。流程时间表,如果需要选择运行下一流程,请选择调度程序最能运行的流程。根据每个进程的task_struct结构,policy是两种类型的Linux进程,它是进程的调度策略。常规和实时进程的实时进程的优先级高于其他进程,优先级是计划管理员分配给进程的优先级是进程可以运行的时间。Rt_priority实时进程之间的选择调度程序使用此域授予相对于每个实时进程的

10、优先级,系统调用可以更改实时进程的优先级。counter包含与体系结构相关的部分内核代码,其中包括进程剩馀的时间片、内核源目录结构、内核源目录结构、和体系结构相关的部分include目录编译内核所需的大部分头文件init目录包含内核的初始化代码mm此目录包含所有内存管理代码drivers目录包含系统的所有设备驱动程序arch此目录包含Linux操作系统内核的进程间通信代码部分,包含进程调度、创建和取消进程的代码此目录列出了Linux支持的所有文件系统。此目录是内核的网络部分,代码lib目录在核心库代码scripts目录下没有代码,它包含用于配置内核的脚本文件。documentation目录对每

11、个目录的作用的具体说明、参考、内容摘要、Linux的诞生和发展Linux的内核结构Linux存储管理Linux进程管理Linux内核启动和初始化进程、Linux存储管理、进程虚拟空间管理虚拟空间映射和虚拟区域构建Linux的分页存储管理物理内存空间分配和释放内存分配和释放Mm_struct结构的第一个地址位于任务配置task-struct成员条目mm: struct mm-struct *mm中。Linux中的存储管理主要是管理进程的虚拟内存的用户区域,Linux操作系统使用请求分页存储管理方法。系统为每个进程提供4GB虚拟内存空间。每个进程的虚拟内部存储相互独立。进程运行时,可访问的存储空间

12、只是虚拟内存空间。仅显示属于当前进程的虚拟内存。,mm_struct结构在/include/Linux/schul.h中定义,流程虚拟空间管理,struct mm _ struct int countPgd _ t * PGDUnsigned long contextUnsigned long start _ code、end _ code、start _ data、end _ dataUnsigned long start _ brk、brk、start _ stack、start _ mmapUnsigned long arg _ start、arg _ end、env _ start、e

13、nv _ endUnsigned long RSS、total _ VM、locked _ VMUnsigned long def _ flagsStruct vm _ area _ struct * mmapStruct vm _ area _ struct * mmap _ avlStruct semaphore mmap _ semmm _ struct结构在/include /linux/schedul.h中管理进程虚拟空间,struct VM _ area _ struct mm _ struct * VM _Unsigned long vm _ startUnsigned long

14、 vm _ endPgprot _ t vm _ page _ protUnsigned short vm _ flagsShort vm _ avl _ heightstruct VM _ area _ struct * VM _ AVL _ left;struct VM _ area _ struct * VM _ AVL _ right;Struct vm _ area _ struct * vm _ nextstruct VM _ area _ struct * VM _ next _ share;struct VM _ area _ struct * VM _ prev _ shar

15、e;struct VM _ operations _ struct * VM _ ops;Unsigned long vm _ offsetStruct inode * vm _ inodeUnsigned long vm _ pte在定义/include /linux/mm.h中,每个虚拟区域都用一个vm-area-struct结构描述,虚拟空间映射和虚拟区域的建立,虚拟存储技术用户的代码和数据(执行映像)都映射到虚拟内存空间,而不是完全加载物理内存。如果进程需要访问内存,则Unsigned long do _ mmap(struct file * file、unsigned long addr、unsigned long len、unsigned long prot,如要访问的程序代码和数据)页表必须

温馨提示

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

评论

0/150

提交评论