文档详情

嵌入式linux操作系统的组成与版本

桔****
实名认证
店铺
PPT
269.50KB
约41页
文档ID:604287267
嵌入式linux操作系统的组成与版本_第1页
1/41

单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,第一部分 Linux系统概述,1,概要,Linux定义,Linux种类,Linux优势,如何选择linux版本,Linux 内核简介,2,Linux的定义,Linux一般是指Linux内核、Linux系统、Li nux发行版严格意义上说Linux是指由Linus Torvalds维护的并发布的内核它的代码基只包括内核而不包括其它方面的应用内核提供系统核心服务,如进程管理,进程的调度,虚拟文件系统,内存的管理等等嵌入式Linux,一般是指把Linux内核移植到一个专用嵌入式设备的CPU和主板上现在有很多公司提供嵌入式Linux解决方案通常包括一个移植的内核、嵌入式Linux的开发工具以及根据应用需要裁减的应用程序等,有时还提供实时扩展的内核就大部分而言,嵌入式Linux和桌面Linux提供的API函数和内核源代码都是相同的开发工具主要包括源码浏览器、交叉编译器、调试器、CVS等项目管理软件等等这些工具一般都是装在主机上3,Linus Torvalds(莱纳斯.托瓦茨),托瓦兹1969年12月28日出生于芬兰赫尔辛基市,芬兰瑞典。

人现受聘于开放源代码开发实验(OSDL:Open Source Development Labs,Inc)Linux的诞生显得充满了偶然莱纳斯经常要用他的终端仿真器(Terminal Emulator)去访问大学主机上的新闻组和邮件,为了方便读写和下载文件,他自己编写了磁盘驱动程序和文件系统,这些在后来成为了Linux第一个内核的雏形当时,他年仅21岁在自由软件之父理查德斯托曼(Richard Stallman)某些精神的感召下,莱纳斯很快以Linux的名字把这款类Unix的操作系统加入到了自由软件基金(FSF)的GNU计划中,并通过GPL的通用性授权,允许用户销售、拷贝并且改动程序,但你必须将同样的自由传递下去,而且必须免费公开你修改后的代码这说明,Linux并不是被刻意创造的,它完全是日积月累的结果,是经验、创意和一小段一小段代码的集合体4,嵌入式Linux种类,嵌入式系统的划分一般是根据使用,对象,进行划分,消费类电子、工控设备等为了更好的理解所设计的系统,可以按照,尺寸,,,时间约束,,,网络,,,用户交互,程度等因素划分尺寸:小系统,中等系统,大系统,小系统CPU的性能比较低,ROM2MB RAM4MB,中系统CPU的性能中等,ROM32MB RAM64MB左右,大系统CPU性能高,存储量大,时间约束:实时,非实时,网络连接性,用户交互,5,嵌入式Linux种类,是否支持MMU,不支持MMU:ucLinux,主要应用在ARM7系列微处理系统中,如三星公司的S3C44B0,S3C4510等,无MMU,不支持虚地址,直接访问内存,所有程序中访问的地址都是物理地址。

支持MMU:嵌入式Linux,主要应用在ARM9系列微处理器系统中,如三星公司的S3C2410,Intel公司的PXA255等6,MMU,实现虚拟存储空间,即,将虚拟存储空间影射到实际物理存储空间使编程人员不用考虑具体程序所放在物理存储空间的具体位置和程序的大小存储器访问权限的控制,任务间通讯,对自己的内存、堆栈等进行保护,只能通过管道、信号量、共享内存等方式进行通讯控制Cache7,Linux的主要特点,开放性,开放性是指系统遵循世界标准规范,特别是遵循开放系统互连(OSI)国际标准多用户,多用户是指系统资源可以被不同用户各自拥有使用,即每个用户对自己的资源(例如:文件、设备)有特定的权限,互不影响多任务,多任务是现代计算机的最主要的一个特点它是指计算机同时执行多个程序,而且各个程序的运行互相独立Linux系统调度每一个进程平等地访问微处理器良好的用户界面,Linux向用户提供了两种界面:用户界面和系统调用用户界面可分为基于文本的命令行界面和图形界面,作为人机交互界面系统调用给用户提供编程时使用的界面用户可以在编程时直接使用系统提供的系统调用命令8,Linux的主要特点,设备独立性,指操作系统把所有外部设备统一当作成文件来看待,只要安装它们的驱动程序,任何用户都可以象使用文件一样,操纵、使用这些设备,而不必知道它们的具体存在形式。

丰富的网络功能,完善的内置网络是Linux的一大特点可靠的系统安全,Linux采取了许多安全技术措施,包括对读、写进行权限控制、带保护的子系统、审计跟踪、核心授权等良好的可移植性,可移植性是指将操作系统从一个平台转移到另一个平台使它仍然能按其自身的方式运行的能力9,嵌入式Linux优势,Linux的费用低;,Linux的所有部分可以充分地定制;,Linux可以运行在低档,便宜的硬件平台;,Linux的功能是强大的;,Linux对源代码质量有一个高标准;,Linux内核非常小,而且紧凑;,Linux有很好的支持;,Linux有很多合适的工具;,10,Linux的版本,内核版本与发型版本,操作系统的,内核版本,指的是在Linus本人领导下的开发小组开发出的系统,内核的版本,号,如有一些组织或商业厂家,将Linux系统的内核与外围应用软件和文档包装起来,并提供一些系统安装界面和系统设定与管理工具,这样就构成了一个,发行版本,,如 RedHat红帽子(FeDora斐徳拉)、Debian,蝶变,(UBuntu乌本图)11,如何选择Linux的版本,DIY自己动手做一个满足需要的Linux版本,选择商用Linux版本、自由的、免费的,授权和涉及到的授权,是否满足你的需要,是否有合适的开发工具,是否能够提供足够的支持,信誉,文档,12,嵌入式Linux发展现状,RT-Linux,RT-Linux是利用Linux进行实时系统开发比较早的尝试,是一种,硬实时操作系统,。

目前RT-Linux已成功应用于航天飞机的空间数据采集、科学仪器测控,以及电影特技图像处理等众多领域RT-Linux的原理是采用双内核机构,即将Linux的内核代码进行少量修改,,将Linux任务以及Linux内核本身作为实时内核的一个优先级最低的任务,即实时任务优先级高于普通Linux任务,,即在实时任务存在的情况下运行实时任务,否则才运行Linux本身的任务实时任务不同于Linux普通进程,它是以Linux的内核模块(Linux Loadable KernelModule,LKM)的形式存在的需要运行实时任务的时候,将这个实时任务的内核模块插入到内核中去实时任务和Linux一般进程之间的通信通过共享内存或者FIFO通道来实现13,RT-Linux,的工作原理图,14,uClinux,控制领域中的linux系统它包含linux常用的API,内核小于512K,保留了linux原有的高稳定性、强大的网络功能和卓越的文件系统支持功能等优点目前已支持的CPU芯片有,Motorola公司的68K系列、PowerPC系列以及ARM公司的系列芯片官方网站,uClinux最大特点就是不支持MMUuClinux系统对内存的访问是直接的,即不需要经过MMU,直接将地址发送到地址线上,所有程序访问的都是实际的物理地址,这样一方面减小了内核的体积,另一方面又增强了系统的实时性能。

但内存空间得不到保护,对于应用开发者来说,必须明白自己程序运行的位置,以及保证不会破坏其它程序运行空间以及系统的稳定uClinux也可以使用RT-Linux的实时补丁,以增强其实时性15,Mizi linux,MIZI,韩国MIZI公司所公布的开放源代码的免费嵌入式操作系统arm-Linux大部分的2410系统板上都是采用的mizi linux16,Linux内核简介,Linux文件系统,Linux内核,Linux的启动,17,Linux主要目录介绍,与Windows一样,在Linux中也是通过目录来组织文件的但不同的是,在Linux下,只有一个根目录,,而不象Windows那样一个分区一个根目录18,Linux下常用的命令、工具,系统启动时要用到的程序、,系统内核,引导配置文件等Linux就是从这里启动的所有的设备文件但不是具体的驱动程序,而是一个访问这些外部设备的端口系统管理时要用到的各种配置文件和子目录,用户主目录,用户独立的空间,非标准目录,内空,,但决不能删,系统管理员的系统管理程序,一个虚拟的文件系统,可用来访问到内存里的内容包含许多被/bin/和/sbin/中的程序使用的库文件,大多数情况下是空的,用来保存异常时候的丢失文件,超级用户(管理员)的专用目录,外部设备的挂接点,通常用cdrom与floppy两个子目录,通常用来安装各种软件的地方。

/usr/src、/usr/bin,系统运行时的各种临时文件,19,Linux的内核结构,Linux内核主要由5个子系统组成:,进程调度,进程间通讯,内存管理,虚拟文件系统,网络接口,20,进程调度(Process Scheduling),进程:程序执行的一个范例进程的4要素:,一段供进程执行的程序,该程序可以被多个进程执行;,独立的内核堆栈;,进程控制快,;,独立的存储空间,;,pid_t fork(void),函数:生成进程void main()for(;)fork();,Exit():退出进程21,进程与线程,进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.,线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行,需要注意的是:在应用程序中使用多线程不会增加 CPU 的数据处理能力。

22,进程调度,进程的状态,运行态r、休眠态s、僵死态z,作用:,控制进程对CPU的访问,当需要选择下一个进程运行时,由调度程序选择最值得运行的进程可运行进程实际上是仅等待CPU资源的进程,如果某个进程在等待其它资源,则该进程是不可运行进程Linux使用了比较简单的基于优先级的进程调度算法选择新的进程进程处于操作系统的中心位置,其他的子系统都依赖它因为每个子系统都需要挂起或恢复进程一般情况下,当一个进程等待硬件操作完成时,它被挂起;当操作真正完成时,进程被恢复执行23,进 程 通 讯,(,Interprocess communication),管道和FIFO,信号量,消息队列,共享内存,24,进程通讯管道(pipe),管道,管道是进程之间单向的数据流:一个进程写入管道的所有数据都有内核定向到另一个进程,另一个进程由此可以从管道中读取数据管道的特点:,管道被看作是打开的文件,但是在已经装载的文件系统中没有映象;,管道是单向的,只提供一个方向的数据流,如果需要双向数据流,必须创建两个管道,每个方向一个,一个管道可以被多个进程使用,如果一个管道被多个进程使用,必须使用文件加锁机制,管道的一个主要缺点是,:用户无法打开一个现有的管道,除非管道是由一个公共的祖先进程创建的,否则两个任意进程就不能共享同一个管道。

此问题可由FIFO解决,FIFO命名管道,,指代先进先出每个FIFO有一个路径名与之关联,从而允许无亲缘关系的进程访问同一个FIFO,FIFO是半双工的,25,管道相关函数,创建管道,int pipe(int fd2);,该函数返回两个文件描述字:fd0,fd1前者打开文件读,后者打开文件写从管道中读数据,read(int fd,void*buff,unsigned nbytes),管道描述符fd,传送数据地址。

下载提示
相似文档
正为您匹配相似的精品文档