嵌入式Linux体系结构.ppt
《嵌入式Linux体系结构.ppt》由会员分享,可在线阅读,更多相关《嵌入式Linux体系结构.ppt(59页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、东南大学集成电路学院国家ASIC系统工程技术研究中心嵌入式操作系统第十五章 嵌入式Linux体系结构戚隆宁戚隆宁longn_longn_国家ASIC系统工程技术研究中心主要内容主要内容n什么是嵌入式什么是嵌入式Linuxn嵌入式嵌入式Linux的特点的特点n嵌入式嵌入式Linux系统结构系统结构国家ASIC系统工程技术研究中心什么是嵌入式Linuxn 嵌入式Linux一般是指对标准Linux进行裁剪、定制乃至改造处理之后,适合于特定嵌入式应用场合的专用Linux操作系统。uCLinuxRTLinuxRTAIMontaVista Linux(Hard Hat Linux)MobiLinuxEmb
2、edixBlue Cat LinuxAndroid Linux国家ASIC系统工程技术研究中心什么是嵌入式Linux:Linux简介nLinux 还是 GNU/Linux?Linux:开源的类UNIX操作系统内核GNU/Linux:集成GNU(GNUs Not Unix)软件(窗口系统、编译器、各种 shell、应用程序和开发工具等)和Linux内核的操作系统。GPL(GNU General Public License)许可证协议下,GNU软件可以自由地“使用、复制、修改和发布”(CopyLeft)LGPL(GNU Lesser General Public License)国家ASIC系统
3、工程技术研究中心什么是嵌入式Linux:Linux简介n1991年,Linux之父,芬兰赫尔辛基大学的学生:Linus Torvalds,发布第一个Linux版本国家ASIC系统工程技术研究中心什么是嵌入式Linux:Linux简介nLinux内核版本2.6.342.6.34国家ASIC系统工程技术研究中心什么是嵌入式Linux:Linux简介n0.00(1991年24月):两个进程分别显示AAA BBB。n0.01(1991年9月):第一个正式向外公布的Linux 内核版本。n0.11(1991年12月):基本可以正常运行的内核版本。n0.13/0.95(1992年3月):加入虚拟文件系统思
4、想的内核版本。n1.0(1993年3月):在一批高水平黑客的参与下,诞生第一个正式版本。n2.0(1996年6月):可支持多个处理器SMP。n2.2(1999年1月):增加了对进程的POSIX能力的支持。n2.4(2001年1月):进一步提升SMP系统的扩展性,集成了很多用于支持桌面系统的特性,如对USB、PCMCIA的支持,内置的即插即用等功能。n2.6(2003年12月):更好地支持大型多处理服务器;更好地支持嵌入式设备,如手机、网络路由器或者视频录像机等;对鼠标和键盘指令等用户行为反应更加迅速;块设备驱动程序做了彻底更新,如与硬盘和CD光驱通信的软件模块。国家ASIC系统工程技术研究中心
5、什么是嵌入式Linux:Linux简介nLinux 内核版本是由Linus Torvalds 作为总体协调人的Linux开发小组(分布在各个国家的近百位高手)开发出的系统内核的版本号nLinux 内核采用的是双树系统稳定树(stable Linux kernel tree,简称stable tree),主要用于发行非稳定树(unstable Linux kernel tree,简称unstable tree)或开发树(development tree),用于产品开发和改进。一旦开发树经过了足够的发展,开发树就会成为新的稳定树nLinux内核版本号由3 位数字组成,形式为x.y.zx:主版本号。
6、y:次版本号。对于稳定树来说,y是偶数;对于开发树来说,y比相应的稳定树大1,即为奇数。z:修改号。表示小的修订次数。国家ASIC系统工程技术研究中心什么是嵌入式Linux:Linux简介nGNU/Linux发行套件国家ASIC系统工程技术研究中心什么是嵌入式Linux:嵌入式Linuxn内核的定制:嵌入式Linux 内核为特殊的硬件配置、或为了支持特别的应用而经过特别的裁剪的修改过的Linux 内核n系统的定制:嵌入式Linux 系统为了在嵌入式系统中使用而剪裁过的Linux系统软件n发行套件的定制:嵌入式Linux 发行套件为了在嵌入式系统中使用而剪裁过的Linux应用软件国家ASIC系统
7、工程技术研究中心什么是嵌入式Linux:嵌入式应用国家ASIC系统工程技术研究中心什么是嵌入式Linux:嵌入式应用n实时性硬实时软实时宽松时限n硬件规模小型(CPU100MHz,内存32MB)中型(CPU500MHz,内存1GHz,内存1GMB)国家ASIC系统工程技术研究中心什么是嵌入式Linux nuClinux(Micro-Control-Linux):专门针对无MMU的微控制器领域而设计的嵌入式Linux 系统nARM Linux:专门针对无ARM处理器(有MMU)的嵌入式Linux 系统nRTLinux:硬实时微内核的实时操作系统,将普通Linux系统作为一个低优先级的任务来运行,
8、其他的实时任务优先级比普通Linux 系统要高。nRATI(RealTime Application Interface):嵌入式Linux 系统的硬实时补丁,类同RTLinux,但通过实时硬件抽象层实现实时任务和Linux的交互。国家ASIC系统工程技术研究中心嵌入式Linux的特点n标准Linux的特点(1)单体内核(monolithic)借鉴了微内核的特性,具有动态调入模块的观念,比传统的单体内核操作系统可移植性更强。多任务采用时间片轮转优先级抢占的算法,实现多任务并行。多用户多个用户可以在同一时间内使用系统,同一用户可以同时并行执行多个任务。操作系统可以同时管理多个用户的请求和多个任务
9、。国家ASIC系统工程技术研究中心嵌入式Linux的特点n标准Linux的特点(2)支持多种处理器体系结构X86、ARM、MIPS、M68K、PowerPC、SH、SPARC支持MMU和non-MMU的处理器支持32位和64位的处理器支持多处理器(SMP)支持32个CPU并行工作支持多种总线接口和外部设备国家ASIC系统工程技术研究中心嵌入式Linux的特点n标准Linux的特点(3)支持虚拟内存4GB虚拟地址空间,用户空间3GB。支持多种文件系统通过虚拟文件系统(VFS)屏蔽了各种不同文件系统的内在差别,使得用户可以使用同样的方式访问各种不同格式的文件系统:EXT、FAT、YAFFS。通过逻
10、辑卷管理(LVM)可以在运行时动态伸缩文件系统的大小,或增加文件系统。支持网络文件系统(NFS)支持内核虚拟机(KVM)允许在宿主 Linux 内核的用户空间中运行其他客户操作系统。国家ASIC系统工程技术研究中心嵌入式Linux的特点n标准Linux的特点规范性和可移植性支持POSIX(Portable Operating System Interface)标准GNU工具的支持:GCC、GDB、GNU make、GNU ld实时性支持内核线程(守护进程),2.6版本以后内核线程可抢占。有效的延迟机制:下半部分,软中断,tasklet和工作列队等。可以针对任务的轻重缓急,更细粒度的选择执行时机
11、。保证了系统运行时尽量在安全时间(不关中断)。国家ASIC系统工程技术研究中心嵌入式Linux的特点n标准Linux的特点开放性遵循GPL许可证协议,开放源代码,全世界的开发者共同使用和维护无授权费用开源社区的支持,快速的技术更新国家ASIC系统工程技术研究中心嵌入式Linux的特点nLinux没有的病毒后门强迫性的软件升级私有的文件格式产品注册登记高昂的软件价格国家ASIC系统工程技术研究中心嵌入式Linux的特点nLinux 2.6内核针对嵌入式系统的改进实时性显著提高允许抢占以内核态运行的任务(包括通过系统调用进入内核模式的用户任务)。更加有效的调度算法。算法复杂度为O(1)。同步性的提
12、高。增加对嵌入式处理器的支持增加了对无MMU系统的支持。面向嵌入式应用子系统架构将功能模块化,可以定制而对其他部分影响最小,便于裁剪和移植。改善了I/O子系统,提供了更多嵌入式外设的支持以实现各种应用开发。可以配置成无输入和显示的纯粹无用户接口系统。国家ASIC系统工程技术研究中心嵌入式Linux的特点n嵌入式Linux的特点需要交叉编译开发具有更强的实时性根据硬件资源限制和应用需求进行裁剪国家ASIC系统工程技术研究中心嵌入式Linux系统结构n引导系统(Bootloader)n系统内核(Kernel)n文件系统(File System)国家ASIC系统工程技术研究中心嵌入式Linux系统结
13、构:BootloadernBootLoader回顾Boot Loader 是在操作系统内核运行之前首先运行的第一段小程序:初始化硬件设备;建立内存空间的映射图;加载操作系统内核镜像到RAM中,并将系统的控制权传递给它。BootLoader依赖于CPU体系结构和板级硬件配置BootLoader通常预先划分好固态存储设备的空间,用于存放镜像。BootLoader通常支持启动加载和下载两种模式。BootLoader的操作通常分为两个阶段。国家ASIC系统工程技术研究中心嵌入式Linux系统结构:Bootloadern第一阶段操作1.屏蔽所有的中断2.设置CPU 的速度和时钟频率3.RAM 初始化4.
14、初始化硬件调试端口(LED/UART)。5.关闭CPU 内部指令数据cache6.为第二阶段准备RAM 空间7.拷贝第二阶段代码到RAM 中8.设置堆栈指针sp9.跳转到第二阶段的入口点国家ASIC系统工程技术研究中心嵌入式Linux系统结构:Bootloadern第二阶段操作1.初始化本阶段要使用到的硬件设备2.检测系统内存映射(memory map)3.将kernel 映像和根文件系统映像从flash 上读到RAM 空间中4.为内核设置启动参数5.调用内核国家ASIC系统工程技术研究中心嵌入式Linux系统结构:Bootloadern在嵌入式Linux系统中,需要由BootLoader设置
15、的参数有:内核参数,如页面大小、根设备内存映射情况命令行参数initrd映像参数起始地址,大小Ramdisk参数解压后的大小国家ASIC系统工程技术研究中心嵌入式Linux系统结构:Bootloadern嵌入式Linux系统常用BootLoader:UBootRedBootBlob国家ASIC系统工程技术研究中心嵌入式Linux系统结构nGNU/Linux系统构成应用程序库系统内核国家ASIC系统工程技术研究中心嵌入式Linux系统结构n嵌入式Linux应用程序程序文件采用ELF格式或AOUT格式运行在用户空间,必须通过Linux内核访问资源支持图形用户界面,需要第三方GUI软件X11 Win
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 Linux 体系结构
限制150内