嵌入式Linux操作系统概述.ppt
主要内容,Linux的诞生 Linux相关概念 Linux的组成及其版本 Linux的特点 嵌入式Linux的概念 嵌入式Linux操作系统介绍,1.Linux的诞生,1991年,芬兰赫尔辛基大学的一名学生Linus Torvalds 中文翻译为“李纽斯·托沃兹”或“李纳斯·托沃兹”开发的。,2.Linux相关的概念,(1)Minix (2)Unix (3)共享软件 (4)自由软件 (Freeware或Freesoftware) (5)免费软件(freeware) (6)通用软件许可证(GPL:General Public Licese) (7)GNU (8)LGPL(Lesser GPL) (9)BSD,3.Linux操作系统的组成及其版本,通常讲的Linux操作系统是由Linux内核和大量的GNU软件共同组成的。 只有一个内核是不能构成一个操作系统的。 现在的linux操作系统如redhat、蓝点、红旗等,都是用Linux的内核,加上其它的应用程序构成的。 一个基本的操作系统应该包括系统内核、用户界面和应用程序三个部分。,Linux内核,为了保持Linux操作系统的稳定性,Linux的内核是单独维护的,维护工作主要是由Linux内核的创始人linus带领的小组进行。 不同的操作系统提供商可以使用相同的Linux内核来构建特制的Linux操作系统,例如RedHat、红旗等,这些公司可以仅仅关注操作系统的用户界面和应用程序的设计,而不必维护Linux的内核。,Linux内核版本,Linux内核是系统的核心。 目前主要由其创始人linus带领的小组维护。这个版本就是通常所讲的Linux官方版本。内核版本号由3部分构成,即主版本号、次版本号和修正号,其格式是: Linux 主版本号.次版本号.修正号 例如:Linux 2.4.10 ,主版本号是2,次版本号是4,第10次修正。 在Linux的内核版本号的命名中,还遵循一个规则,即次版本号为偶数的是稳定版本,为奇数的是发展版本。稳定版本是指内核的特性已经固定,代码运行稳定可靠,不再增加新的特性,要改进也只是修改代码中的错误。Linux 2.4.10就是一个稳定版本。,Linux发行版本,Linux发行版本-完整的Linux系统版本 现在的发行Linux公司很多,如:常说的RedHat,Mandrake、Debian、红旗linux等。市场上售卖的Linux操作系统一般都是指发行版本(例如:RedHat9.0),各个公司的版本号各不相同,使用的内核版本号也可能不一样。因此,在建立桌面Linux操作系统时,除了要看发行版本号,还要看内核版本号,才能挑选到适合自己的操作系统。,嵌入式Linux的开发,在进行嵌入式Linux操作系统时,不需要Linux的发行版本,而是直接选择一个linux内核版本开始自己的开发工作。,4.Linux的特点,Linux的优点 广泛的硬件支持 内核高效稳定 开放源码,软件丰富 优秀的开发工具 完善的网络通信和文件管理机制,Linux的待改进之处,提高系统实时性 改善内核结构 完善集成开发平台,5.嵌入式Linux的概念,嵌入式Linux(Embeded Linux)是指对Linux内核版本经过重新编译、配置,对其应用程序经过小型化裁剪后,生成的应用于特定嵌入式场合的专用Linux操作系统。嵌入式Linux和普通Linux的共同点是采用了相同的Linux内核。,LINUX下的硬盘分区与文件系统,但对Linux用户来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构。 Linux中每个分区都是用来组成整个文件系统的一部分,因为它采用了一种叫“载入”的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得。,嵌入式linux的开发,在构建嵌入式Linux操作系统时,可以有两种基本的方式,一是基于通用的Linux内核,对其进行配置、编译、裁剪等工作,最终生成自己的嵌入式Linux操作系统。 另一种方式是基于专用的Linux内核,对其进行配置、编译、裁剪等工作,最终生成自己的嵌入式Linux操作系统。专用的Linux内核是指在通用的Linux基础上根据不同的嵌入式应用已经被修改过的内核,例如常见的uClinx、RTLinux、Elinux等, 这两种构建方式的过程是基本一样的,区别仅仅是其采用的Linux内核不同而已。下面来讲讲常用的嵌入式Linux内核,6.嵌入式linux操作系统介绍,uCLinux RTLinux DSPLinux,uCLinux,uCLinux是一个完全符合GNU/GPL公约的操作系统,完全开放代码,现在由Lineo公司支持维护。uCLinux的发音是“you-see-Linux”,它的名字来自于希腊字母“mu”和英文大写字母“C”的结合。“mu”代表“微小”之意,字母“C”代表“控制器”,所以从字面上就可以看出它的含义,即“微控制领域中的Linux系统”。 uCLinux是专门为没有MMU(Memory Management Unit,内存管理单元)的CPU运行Linux而设计。,uCLinux,uCLinux,uCLinux主要具有以下特性: (1)不支持MMU和VM(虚拟内存) (2)实时性的支持 uCLinux本身并不支持实时性,目前存在两种不同的方案提供uCLinux对实时性的支持,它们分别是RTLinux(RTL)和RTAI(Real Time Application Interface)。有了这两种方案,uCLinux可以应用到对实时性要求较高的场合。 (3)开发工具 开发uCLinux通常用标准的GNU工具链。经过修改的工具链支持一些高级特性,比如XIP(Execute-In-Place)技术,共享库支持等。 (4)适用的微控制器: (5)与标准Linux的兼容性 uCLinux除了不能实现fork()而是使用vfork()外,其余uCLinux的API函数与标准Linux的完全相同。 (6)网络的支持 uCLinux带有一个完整的TCP/IP协议,同时它还支持许多其它网络协议。uCLinux 对于嵌入式系统来说是一个网络完备的操作系统。 (7)应用领域,RTLinux,RTLinux用巧妙的技术解决了Linux的实时性问题题,实现了对实时的支持。为了保持Linux内核版本的一致性,RTLinux没有采用重写Linux内核代码的方法来解决Linux实时性能不佳的问题,而是采用了更简单而有效的解决方法。 即采用双内核的方法,RTLinux内部使用两个内核,一个采用可抢先的实时调度核心,全面接管中断,另外一个就是普通的Linux内核,这个内核作为实时核心的一个优先级最低的进程运行。当有实时任务需要处理时,RTLinux运行实时任务;无实时任务时,RTLinux运行Linux的非实时进程。,RTLinux,DSPLinux,DSPLinux是由RidgeRun公司为美国德州仪器公司(TI)所出产的DSC2x系列DSP 所开发的嵌入式操作系统。TI DSC2x系列产品内部有ARM和DSP两颗CPU,属于多CPU的架构系统。DSPLinux是由uCLinux修改而来的,它们的最大的不同在於DSPLinux加入对DSP处理器的支持,它把DSP执的程序作为Linux内核的一个进程程(process)。在DSP处理器上执行的程序必须要和系统的一些函数库连接起来,通过这些函数库,DSP执行的程序就可以像一般Linux下的程序一样使用系统服务。,