




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
嵌入式系统软件平台第1页/共241页嵌入式系统组成第2页/共241页第3章嵌入式系统软件平台嵌入式操作系统概述嵌入式操作系统的体系结构常用嵌入式操作系统嵌入式操作系统的开发第3页/共241页在本质上与通用的操作系统没有太大的区别,一般用于比较复杂的嵌入式系统中手机、PDA等电子类消费产品、机顶盒、路由器等对嵌入式系统的硬件有较高的要求体系结构向微内核方向发展可伸缩、可移植、可裁剪、可配置许多嵌入式操作系统不划分“系统空间”和“用户空间”操作系统的内核与外围应用程序之间不再有物理的边界,采用静态连接系统中所谓“进程”实际上全都是内核线程3.1嵌入式操作系统概述第4页/共241页嵌入式操作系统的意义:简单嵌入式系统8位或16位CPU,资源量,任务简单程序员自己管理调度CPU资源第5页/共241页
复杂嵌入式系统32/64位CPU,资源丰富,处理能力强,功能需求复杂
需要采用嵌入式操作系统:
管理系统的CPU及外围硬件资源为应用程序提供一个多任务/多线程的编程环境和各种应用程序开发接口短时间内开发出功能强大、高效、可靠的系统第6页/共241页嵌入式操作系统EOS(EmbeddedOperatingSystem)是一种支持嵌入式系统应用的系统软件,是嵌入式系统的重要组成部分。嵌入式操作系统具有通用操作系统的基本特点,能够有效管理复杂的系统资源,完成进程管理、处理器调度、存储管理、设备管理、中断处理等操作系统任务。嵌入式操作系统通常包括与硬件相关的底层驱动程序、系统内核、设备驱动接口、通信协议、图形用户界面(GUI)、标准化浏览器等软件模块。嵌入式操作系统的概念第7页/共241页嵌入式操作系统能够把硬件虚拟化,使得开发人员从繁琐的驱动程序开发、移植和维护中解脱出来,能够提供库函数、驱动程序、工具集以及应用程序。嵌人式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。第8页/共241页
目前,市场上的嵌入式操作系统种类繁多,如VxWorks、Nucleus、WindowsCE、μC/OS、pSOS、EmbeddedLinux、PalmOS、QNX、OS-9、EPOC、LynxOS等。以下给出各种嵌入式操作系统的常见分类方法。嵌入式操作系统的种类第9页/共241页1.按实时性能分类嵌入式系统按能否满足实时性要求,可分类为嵌入式实时系统嵌入式非实时系统这些特性同样适用于嵌入式操作系统
第10页/共241页(1)嵌入式实时操作系统(Real-TimeOperatingSystem,也称为嵌入式硬实时操作系统)第11页/共241页
性能特征多任务运行方式
真实世界中的事件具有异步特征,能够运行许多并发进程
多任务运行方式则提供了一个较好的相对真实世界的匹配,它允许多个任务对应于许多外部事件的多线程执行,由系统内核分配
CPU给这多任务来获得并发性第12页/共241页基于优先级的抢占式调度
真实世界的事件可以继承优先级,基于优先级的抢占式调度反映了这一特征
在该调度机制中,任务被指派优先级,在能够执行的任务(没有被挂起或正在等待资源)中,优先级最高的任务将被分配
CPU资源,也就是说,当一个高优先级的任务处于可执行状态时,它立即抢占当前正在运行的较低优先级的任务第13页/共241页
快速的任务上下文切换任务上下文切换是指当处理器的控制权由当前运行任务转移到另一个任务时其投入运行时所发生的事件序列,包括保存当前运行任务的运行现场信息、插入相应队列、并依据一定的调度算法重新选择一个任务使之投入运行快速的任务上下文切换是嵌入式实时操作系统的重要特征之一第14页/共241页
较短的中断延迟时间
中断延迟(InterruptLatency)时间是指中断发生到开始执行中断处理程序的时间较短的最大中断延迟时间也是嵌入式实时操作系统的重要特征之一第15页/共241页
典型的嵌入式实时操作系统
VxWorkspSOSQNXNucleus
C/OS等第16页/共241页(2)嵌入式非实时操作系统又称为“嵌入式软实时操作系统”典型代表是嵌入式分时操作系统也是一种多任务操作系统任务调度采用时间片轮转方式大的任务吞吐量第17页/共241页
典型的嵌入式软实时操作系统
WindowsCEPalmOSEPOCEmbeddedLinux
第18页/共241页2.按购买方式分类商用型免费型第19页/共241页(1)商用型嵌入式操作系统
特点功能稳定、可靠提供完整方便的开发调试工具配套完善的技术支持和售后服务但往往价格昂贵典型代表VxWorks、pSOS、QNX、Nucleus、WindowCE、PalmOS、EPOC等
第20页/共241页(2)免费型嵌入式操作系统
特点在价格方面具有优势一般缺乏完善的集成开发调试工具稳定性与服务方面存在挑战典型代表EmbeddedLinux和C/OS第21页/共241页3.按源码是否开放分类按源码是否开放(OpenSource)划分为开放源码型黑箱型
第22页/共241页(1)开放源码型嵌入式操作系统
典型的开放源码型嵌入式操作系统有EmbeddedLinux和C/OS
商用型嵌入式操作系统Nucleus也出售源代码(2)黑箱型嵌入式操作系统
大部分商用型嵌入式操作系统为黑箱型嵌入式操作系统例如pSOS、WindowCE等
第23页/共241页4.按知识产权分类按是否拥有自主知识产权划分为国外嵌入式操作系统自主知识产权型嵌入式操作系统第24页/共241页(1)国外嵌入式操作系统
目前国外嵌入式操作系统在嵌入式操作系统市场占有较大份额常见的有VxWorks、pSOS、QNX、Nucleus、C/OS、WindowCE、EmbeddedLinux、PalmOS、EPOC等第25页/共241页(2)自主知识产权型嵌入式操作系统
Hopen针对微软的“维纳斯计划”推出的“女娲计划”的核心产品,由凯思集团研制开发成功
运行在32位微处理器上,由一个体积很小的内核和一些可以根据需要进行定制的系统模块组成
DeltaOS(中文名为“道系统”)北京科银京成技术有限公司研制开发第26页/共241页嵌入式操作系统的特征嵌入式操作系统负责嵌入系统的全部软、硬件资源的分配、调度工作,控制协调并发活动。嵌入式操作系统体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。第27页/共241页可定制性开放性、可伸缩性的体系结构。可移植性嵌入式操作系统能够支持多种嵌入式硬件,可以应用于不同的嵌入式微处理器。强实时性。EOS实时性一般较强,可用于各种设备控制当中。低资源占有性嵌入式设备的硬件资源有限,一般只配置少量的RAM、频率较低的微处理器,最小的嵌入式操作系统内核只有几百千字节,在运行期间,内核能够通过一系列手段释放内存,使应用程序和应用软件得到更多的运行空间。第28页/共241页固化代码在嵌入系统中,嵌入式操作系统和应用软件被固化在嵌入式系统计算机的ROM中。辅助存储器在嵌入式系统中很少使用,因此,嵌入式操作系统的文件管理功能应该能够很容易地拆卸,而用各种内存文件系统。强稳定性,弱交互性嵌入式系统一旦开始运行就不需要用户过多的干预,要求负责系统管理的EOS具有较强的稳定性。嵌入式操作系统的用户接口一般不提供操作命令,它通过系统调用命令向用户程序提供服务。第29页/共241页嵌入式操作系统的功能多任务管理对嵌入式系统中的运行软件进行描述和管理,并完成处理机资源的分配与调度存储管理如何来提高内存的利用率,方便用户的使用,并提供足够的存储空间设备管理方便设备的使用,提高CPU和输入/输出设备的利用率中断管理负责中断的初始化安装、现场的保存和恢复、中断栈的嵌套管理第30页/共241页嵌入式操作系统的演变*PercentoftotalsoftwaresuppliedbyRTOSvendorinatypicalembeddeddevice10%*Kernel30%*KernelNetworkingFileSystem75%*KernelNetworkingFileSystemMultiprocessingMemoryManagementNetworkingUtilityWindowsAPIApplicationApplicationApplicationApplication90%*KernelNetworkingFileSystemMultiprocessingFaultToleranceDistributedObjectsAdvancedNetworkingAdvancedInterconnectJavaBrowser/GUI第31页/共241页 在嵌入式系统的发展过程中,从操作系统的角度来看,大致经历了以下几个阶段:无操作系统阶段简单操作系统阶段实时操作系统阶段面向Internet的阶段第32页/共241页体系结构是操作系统的基础,它定义了硬件与软件的界限、内核与操作系统其它组件(文件、网络、GUI等)的组织关系、系统与应用的接口。体系结构是确保系统的性能、可靠性、灵活性、可移植性、可扩展性的关键。3.2嵌入式操作系统体系结构第33页/共241页操作系统是计算机系统的重要组成部分,是用户与计算机系统的接口。在进行操作系统设计前,首先要明确操作系统的设计目标。嵌入式操作系统是操作系统的一个分支,所以设计目标首先应满足一般操作系统的设计目标。第34页/共241页一般操作系统的设计目标和特点可靠性可靠性包含了正确性和健壮性两个方面的含义。影响操作系统正确性的因素有很多,最主要的是并发、共享以及随之带来的不确定性。可靠性包括能在预期的环境条件下完成所期望的功能的能力。高效性操作系统的一个重要目标,是提高系统中各种资源的利用率,即提高系统的运行效率。一个计算机系统在其运行过程中或者处于目态,或者处于管态。处于目态的时候为用户服务,处于管态时既可能为用户服务,也可能做系统维护工作。只能执行非特权指令,访问规定的寄存器和存储区;用户程序运行在用户态能执行一切指令,访问所有寄存器和存储区;操作系统运行在核心态第35页/共241页易维护性易维护性包括易读性、易扩充性、易剪裁性、易修改性等含义。为了对操作系统实施增、删、改等维护操作,必须首先了解系统,为此要求操作系统具有良好的可读性。可移植性可移植性是指把一个程序系统从一个计算机系统环境中移到另一个计算机系统环境中并能正常运行的特性。在操作系统的设计中,影响可移植性的最大因素就是系统和计算机硬件有关的部分的处理。通常操作系统与硬件有关的部分被设计在操作系统程序的底层,在进行操作系统的移植时,只需修改操作系统的底层这一部分。第36页/共241页安全性操作系统的安全性是整个计算机系统安全性的基础,它为保护用户的程序和数据提供了最基本的安全机制。在网络环境中,操作系统的安全性更为重要。简明性如果一个操作系统没有简明性,那么该操作系统的设计和开发人员在工作中就很难清晰地了解和掌握该操作系统的设计。如果一个操作系统缺乏简明性,那么在系统的修改和维护过程中,将会产生许多意想不到的困难。第37页/共241页嵌入式操作系统的设计目标和特点低资源占有性开放性、可伸缩的体系结构高可靠性满足实时性要求较强的网络功能固化代码功能第38页/共241页操作系统的体系结构问题讨论的是如何把操作系统这一大型软件划分成若干较小的模块以及如何设计模块间接口的问题。通用操作系统的体系结构第39页/共241页无序模块结构分层结构虚拟机结构客户端/服务器结构第40页/共241页无序模块结构采用这种结构的操作系统是一个整块结构,内部分为若干模块,每个模块可以是一个子程序。模块之间直接相互调用,不分层次,形成网状调用模式。在无序模块结构的系统中,为了构造最终的目标操作系统程序,开发人员首先将一些独立的模块进行编译,然后用链接程序将其链接在一起,成为一个单独的目标程序。适用于模块比较少的小型系统中。第41页/共241页硬件系统服务用户态核心态应用程序应用程序…无序模块结构第42页/共241页分层结构分层结构操作系统按功能把系统分成若干基本模块,再根据模块的作用和相互关联分为不同的层次,各层次之间单向依赖或单向调用。尽可能地减少各模块间的相互调用,使模块间的无序调用变为有序调用。操作系统在设计时,可以从最底层,向上一层扩充功能,最终形成面向应用层。第43页/共241页硬件基本进程管理虚存管理I/O和设备管理进程间通信文件系统用户用户模式内核模式分层结构第44页/共241页优点:把整体问题局部化把各模块间的组织结构和依赖关系进行了清晰的划分,把原来的无序任意调用变为有序、有组织和有限制的调用各层之间相对独立,增加或删除某一层时,可以不影响其他层,便于系统的修改、扩充第45页/共241页THE系统为荷兰制造的ElectrologicaX8计算机配备的一个简单的批处理系统。第46页/共241页虚拟机结构VM/370系统一个提供多道程序特性的分时系统,一个具有比裸机更方便的、界面扩展的计算机第47页/共241页VM/370系统的核心称作虚拟机监控程序,在裸机上运行并具备多道程序功能,向上层提供若干台虚拟机。VM/370系统仅仅是裸机的精确复制,包含核心态/用户态、I/O功能、中断以及真实硬件具有的全部内容。每台虚拟机可以运行裸机能够运行的任何操作系统,不同的虚拟机可以运行不同的操作系统。第48页/共241页客户端/服务器结构运行在核心态的内核提供所有操作系统基本都具有的操作,一般采用层次结构设计,构成基本的操作系统,更多的功能留给进程层去实现。运行在用户态并以客户端/服务器方式运行的进程层。进程层分为服务器进程和客户端进程。每个服务进程间相互独立,各自实现一组服务;客户端进程可以是一个应用程序,也可以是另外一个服务进程。第49页/共241页硬件进程服务用户态核心态应用程序客户内存服务微内核文件服务网络服务显示服务发送应答客户端/服务器结构(微内核结构)第50页/共241页运行方式:为了获取某项服务,用户进程将此请求以消息的方式发送给一个服务器进程,但服务器进程并不能直接收到客户端发送的消息,因为每个进程属于不同的地址空间,它们不能直接进行通信。消息先发送给内核,内核再将消息发给服务器进程,服务器进程执行相应的操作后,其结果又通过内核以消息的方式返回给用户进程。第51页/共241页优点:强的可靠性适用于分布式系统第52页/共241页性能问题:通过微内核构造和发送信息、接受应答并解码所花费的时间比进行一次系统调用的时间多很大程度取决于微内核的大小和功能第53页/共241页嵌入式操作系统体系结构目前嵌入式操作系统主要采用分层和模块化相结合的结构或微内核结构。分层和模块化结合的结构将操作系统分为硬件无关层、硬件抽象层和硬件相关层,每层再划分功能模块。移植工作集中在硬件相关层,与其余两层无关,功能的伸缩集中在模块上,从而确保其具有良好的可移植性和可伸缩性。采用微内核结构,则可利用其可伸缩的特点适应硬件的发展,便于扩展。第54页/共241页中间件和设备驱动程序通常集成在系统内核中。整个系统只有一个可执行文件,里面包含了所有的功能组件。系统的结构就是无结构,整个操作系统由一组功能模块组成,这些功能模块之间可以相互调用。性能较好,系统的各个模块之间可以相互调用,通信开销比较小体积庞大,高度集成,相互关联,在系统剪裁、修改和调试等方面较为困难单体结构第55页/共241页操作系统被划分为若干个层次(0~N),各个层次之间的调用关系是单向的。系统的开发和维护较为简单开销比较大,影响系统的规模和性能分层结构第56页/共241页微内核结构的操作系统是指在内核当中,把操作系统的大部分功能都剥离出去,只保留最核心的功能单元。易于扩展、调试方便、移植性好运行速度比较慢微内核结构第57页/共241页内核比通用操作系统更小,将更多的功能放在外部进程实现大多数嵌入式操作系统采用了微内核的结构,内核只提供最基本的功能。采用模块化的设计,使系统可配置性增强嵌入式操作系统一般都采用模块化的结构设计,是一个可配置的软件模块集。从结构设计上要使平台独立性更强,系统易于向其他平台移植从处理器到目标机,嵌入式操作系统面临的是一个多变的硬件环境。第58页/共241页结构设计:系统体系结构对不同处理器的支持,实现包括编码差异和指令系统定向的支持一般设计在CSP层驱动程序实现对不同目标机主板的支持,一般设计在BSP层BSP按照给定的编程规范来完成,保证了嵌入式操作系统可以在新推出的微处理器硬件平台上运行。第59页/共241页硬件抽象层接口的定义和代码设计特点:硬件抽象层具有与硬件密切相关性硬件抽象层具有与操作系统无关性接口定义的功能应包含硬件或系统所需硬件支持的所有功能接口定义简单明了,太多接口函数会增加软件模拟的复杂性具有可测性的接口设计有利于系统的软/硬件测试和集成。第60页/共241页应用程序任务管理硬件用户扩展处理调度管理硬件抽象层应用编程接口内存管理中断管理时钟/定时器管理I/O管理出错处理同步、通信管理(消息队列,信号量,事件,异步信号))DeltaCORE的体系结构:层次+模块结构分层次模块化第61页/共241页用户模式应用应用应用网络管理器图形管理器设备管理器文件系统管理器网络驱动图形驱动设备驱动文件系统驱动硬件内核模式内核(微内核)QNX4.25的体系结构:客户/服务器结构第62页/共241页WindowsCE.NET操作系统模型什么是WindowsCE.NET适于嵌入式产品的、小映像尺寸的、32位实时,多任务,抢占式嵌入式操作系统。Win32API子集高度组件化和可配置对标准硬件和特定硬件都可定制第63页/共241页设计目标:适应小型系统支持多种处理器和计算机结构,并支持多种设备接口遵循Windows平台的应用开发规范操作系统各部分模块化,可选择定制提供网络通信、图形用户界面、数据库、文件系统等支持支持高要求的实时应用提供高级电源管理第64页/共241页特点:灵活的电源管理功能,包括睡眠/唤醒模式使用了对象存储技术,包括文件系统、注册表及数据库良好的通信能力256个中断优先级别,支持嵌套更好的线程响应能力出色的图形界面多任务处理能力内置的多媒体处理功能第65页/共241页系统模型分层模型组件模型迁移模型应用迁移模型系统迁移模型第66页/共241页分层模型从接口的角度讲,WindowsCE.NET具备面向应用开发和面向系统两个界面。有一个层次实现硬件特点与操作系统本身特性的隔离,以便于实现系统的移植。底层是具体的硬件设备,顶层是具体的应用程序。第67页/共241页组件模型第68页/共241页OEM层模块:OAL模块包括和硬件相关的功能引导程序负责将操作系统核心调入内存配置文件根据不同硬件系统的特点,进行相关文件的配置驱动程序使操作系统能驱动不同的硬件,既而实现了操作系统与具体硬件的分离第69页/共241页操作系统层模块CoreDLL对外部调用系统功能进行代理,实现系统API的管理和按名调用实现字符串处理、随机数生成、时间计算等基本支持函数核心WindowsCE.NET操作系统的核心在系统运行时体现为nk.exe,一个占用空间很小的核心文件第70页/共241页设备管理模块WindowsCE.NET操作系统对设备进行管理的核心模块,运行时表现为device.exe。提供基本的设备列表管理、即插即用管理、I/O资源管理以及设备驱动程序工作的基本机制图形窗口和事件系统模块WindowsCE.NET与微软通用桌面操作系统区别较大的一个模块,运行时表现为gwes.exe。实现基本的绘图引擎、窗口管理、界面的事件机制第71页/共241页通信和网络服务模块在WindowsCE.NET操作系统中是相对最为独立的一个模块完成WindowsCE.NET操作系统与外界网络的通信功能,为操作系统上层提供网络服务对象存储模块对象存储是指WindowsCE.NET的存储内存空间。包括三种类型的数据:WindowsCE.NET文件系统,包括数据文件和程序、系统注册表、WindowsCE.NET数据库第72页/共241页应用和服务开发模块包括WIN32系统服务模块WindowsCE.NET对应用程序的接口在应用开发和服务开发时,系统利用这一模块完成开发者的系统调用。第73页/共241页系统模型应用迁移模型第74页/共241页系统迁移模型第75页/共241页3.3常用嵌入式操作系统嵌入式实时操作系统嵌入式软实时操作系统第76页/共241页嵌入式实时操作系统
VxWorkspSOS
C/OS第77页/共241页VxWorks1.VxWorks概述美国WindRiver公司于1983年设计开发高实时性和稳定性的微内核、友好的用户开发环境、良好的持续发展能力,全球商用市场占有量排名第一
广泛应用于通信、军事、航空、航天等高精尖技术及实时性要求高的工业控制领域美国F-16、FA-18战斗机、B-2隐形轰炸机和爱国者导弹上
1997年和2004年两次在火星表面登陆的火星探测器
商业用户包括Ciscosystems、BayNetworks、3Com、Foresystems、HP、Lucent、Qualcomm、以及国内的华为、东方电子等第78页/共241页2.VxWorks基本特征
(1)高实时性、高稳定性的微内核
内核Wind:微内核结构,最小8KB
实时性基于优先级的抢占式调度辅以时间片轮转及时响应高优先级的任务,同级任务可选择时间片轮转而并发执行快速的任务上下文切换第79页/共241页较小的中断延时相应措施如采用中断处理与任务在不同栈中处理,使得中断的产生只会引发一些关键寄存器的存储而不会导致任务的上下文切换在中断服务程序只完成在最小时间内中断发生通告,而将其它费时的处理过程尽量放在被引发的其它任务中完成(类比:参加展会)高稳定性第80页/共241页
(2)丰富的外挂组件模块
基本外挂组件模块各种设备驱动(字符型/块型设备,同步/异步设备)、文件系统(如DosFs、RawFs、TapeFs、CdromFs、TSFS等)、网络协议栈、以及POSIX1003.1b标准和ANSIC等兼容组件模块附加组件模块如Flash文件系统、图形界面管理等第81页/共241页
(3)可裁减性
粒度极小的配置裁减性能微内核结构,最简内核(只负责任务的管理与调度,称为纳核)只有8KB其它所有基本外挂组件和附加组件均为可选组件,并且这些组件本身也是可裁减的方便友好的配置裁减环境图形化自动裁减特性,自动分析功能第82页/共241页
(4)对多种硬件平台的可移植性
支持ARM、PowerPC、68K、CPU32、SPARC、i960、X86、MIPS等众多嵌入式处理器,并提供相应的BSP模板提供了数量众多的串口、并口、网口、存储卡控制器、实时时钟等外围硬件设备的驱动程序第83页/共241页
(5)友好、开放的集成开发环境
Tornado的可视化图形操作界面,可运行在多种主机硬件平台和操作系统上支持的主机硬件平台:Sun、HP、IBM-rs6000、Mips等支持的主机操作系统:Unix、WindowsNT/95/98等
Tornado的IDE集成了编辑器、编译器、链接器、调试器(命令行和图形界面两类调试器)、软件仿真器、工程项目管理器等系列开发工具
Tornado的开放性能与第三方开发工具进行集成第84页/共241页
(6)持续的新技术跟踪和版本升级维护能力
表现最早实现捆绑集成交叉开发环境最早在其内核中加入TCP/IP网络协议又率先宣布支持网络文件系统NFS在集成最新网络协议方面也一直保持良好的势头
第85页/共241页原因——收购在相关领域有优势的公司收购开发pSOSystem嵌入式实时操作系统的ISI,VxWorks在其5.5版本中加入了与pSOSystem类似的任务间的事件(Event)通讯机制,并进行了进一步改进,从而弥补了VxWorks5.5版本以前任务间无事件通讯机制的缺陷通过收购RapidLogic公司的RapidControl,VxWorks迅速推出了EmbededWebServer组件第86页/共241页
(7)价格较高
较高的开发购买价格在运行使用方面,VxWorks采用的是出售Licence的销售策略第87页/共241页3.VxWorks其它特色
相对pSOSystem等较优秀的嵌入式实时操作系统,VxWorks还具有4项显著优点第88页/共241页(1)优秀的项目管理能力
开发环境Tornado引入的项目(Projects)的概念,使源代码和整个目标映象生成的组织管理工作条理化、方便化配套相应的项目管理工具可自动生成编译使用的Makefile文件
(2)支持应用程序动态链接和动态下载
使开发者在调试阶段省去了每次调试都需将应用程序和操作系统进行链接和下载的步骤,缩短了编辑/调试的周期第89页/共241页(3)提供目标机仿真器
VxSim使开发者可独立于硬件环境而先行开发应用程序,实现并行开发模式,有效缩短研发时间和硬件方面的开销(4)支持系统级和任务级两种调试方式
方便了多任务程序的调试,如跟踪任务间的通讯状况、任务间的同步与互斥关系第90页/共241页pSOS
ISI公司(IntegratedSystemInc.)1980年研制集成了一整套嵌入式软件模块、工具和服务
几年前销售额占世界第一,在中国市场占有率曾经也是最高的主要应用领域包括通讯、航天、信息家电以及工业控制,例如华为早期的路由器、烟台东方电子的RTU、株洲电力机车研究所的DTECS控制器等现被WindRiver收购第91页/共241页C/OS1.C/OS概述
C/OS是microControlOS的缩写,即微控制器操作系统由美国人JeanLabrosse1992年完成,1998年C/OS推出µC/OS-II版本,目前版本是µC/OS-IIV2.61
源码公开、免费(WWW.μC/OS-II.COM)第92页/共241页2.C/OS的特点
(1)内核方面任务的调度与管理方面µC/OS-II管理64个任务,其中保留8个给系统,应用程序最多可以有56个任务多任务的调度采用基于优先级的抢占式调度算法,且全部系统函数调用与服务的执行时间具有可确定性,因此C/OS具有优良的实时性能第93页/共241页不支持时间片轮转调度现实世界有些任务无法区分出优先级高低,需要交替执行。例:用单片机控制两小块显示屏时第94页/共241页任务间的的通讯机制方面提供经典操作系统任务间通信方法,包括信号量、邮箱、事件标志和消息队列时钟管理方面提供系统时钟中断没有提供用户使用的定时器内核具有较高的稳定性和可靠性第95页/共241页
(2)功能模块方面
C/OS本质是一个实时多任务内核目前已扩充了一些简单的文件系统(FS)、TCP/IP协议栈、图形用户接口(GUI)等功能模块软件包第96页/共241页
(3)可裁减性
C/OS内核结构小巧具有可裁减性第97页/共241页
(4)对不同硬件平台的可移植性移植到不太常用的嵌入式微处理器上时,必自己编写BSP程序没有提供功能强大的驱动软件包,通常需要自行编写第98页/共241页
(5)提供的集成开发环境无
(6)服务与价格方面技术服务方面C/OS不如商用嵌入式实时操作系统那样得到专门人员的持续更新研究和升级服务另一方面,由于其源码公开,用户可以根据自己的需要对它进行修改价格方面:仅内核免费
第99页/共241页3.C/OS小结
优点实时性能优良、执行效率高、占用空间小内核免费对小型企业具有较大的吸引力,一般适用于中小型嵌入式应用和对实时性能要求较高的低端嵌入式控制系统产品中(如由51系列的8位单片机系统构成的控制系统产品)内核源码开放,可作为科学研究的典范第100页/共241页
缺点任务调度仅支持优先级的抢占式,不支持时间片,造成多任务划分不方便未提供用户使用的定时器和集成开发环境移植到不同硬件平台时,用户工作量大技术服务不如商用嵌入式实时操作系统那样能得到专门人员的持续更新研究和升级第101页/共241页嵌入式软实时操作系统
PalmOSWindowsCEEPOCEmbeddedLinux
第102页/共241页PalmOS1. PalmOS概述由PalmComputing公司出品PDA市场占有量较大
第103页/共241页
发展历史
1992年,PalmComputing公司成立,最初只是想把自己开发的手写识别软件Graffiti(一种PDA速记输入法)卖给Apple1993年Apple发布了第一款Newton掌上电脑,使用自己开发的操作系统,也是世界上第一款没有键盘而使用触控笔来操作的掌上电脑,这种全新的硬件形式也确定了今后掌上电脑的发展方向,成为现代掌上电脑的鼻祖Newton最终以失败而告终,但它不愧为一款具有划时代意义的产品,带来了“PDA”和“手持”这两个计算机术语随之而来的PalmOS获得了空前成功,其代表性掌上电脑产品有PalmPilot和PalmIIIx等第104页/共241页2.PalmOS的特点
(1)内核方面属于32位嵌入式操作系统内核较小,应用程序通常也只有几十KB
基于PalmOS的PDA配置较低,内存2MB~12MB即可内核采用抢占式多任务管理方式,但不向开发者提供与多任务有关的APIs第105页/共241页
(2)功能模块方面
支持PalmOS的应用程序十分丰富约5000套,包括个人信息管理、办公软件、数据库支持、电子邮件等操作界面采用触控式支持PalmOS的产品的系统耗电量极小以PalmⅢx为例,两节7号碱性电池一般可使用两个月第106页/共241页无录音、MP3播放功能等多媒体功能,仅支持256色以下彩色图形显示仍然要使用中文外挂平台,有相当部分依然是以英文界面为主第107页/共241页
(3)可裁减性
采用微内核结构,各功能模块具有可裁减性
(4)可移植性
支持的嵌入式处理器
Motorola的DragonBall(PalmOS5.0前版本)
ARM(PalmOS5.0版本)PalmOS阵营里使用四种不同的内存扩展技术
Palm、Handspring、TRGpro、Sony四家公司无法相互使用扩充资源——Palm的劣势第108页/共241页
(5)提供的集成开发工具有多种集成开发工具可供选择,例如PalmOSSDK、CodeWarrior、VisualFormDesign等
PalmOSSDK
由PalmOS开发商提供提供PalmOSEmulator,能够模拟多种型号的Palm掌上设备,可用于程序的测试和除错
第109页/共241页
CodeWarrior
是Windows或MacOS平台上最流行的集成开发环境集成了C/C++编译器、源代码和汇编级调试器、可视化模板拖放式用户开发界面,可快速设计用户界面,简单易学
Palm公司定期推出配合CodeWarrior使用的开发工具
第110页/共241页
(6)服务与价格
免费提供PalmOS的开发工具PalmOSSDKPalmOS较同档次的其它PDA操作系统略低第111页/共241页3.PalmOS小结
优点
占用存储空间小、执行速度快、功耗较低
——
简单、实用、高效
目前在PDA应用领域拥有较大的市场份额第112页/共241页不足用户应用程序不支持多任务编程多媒体功能弱支持的处理器硬件平台种类少集成扩展性能差等第113页/共241页WindowsCE1.WindowsCE概述
Windows操作系统家族的新成员应用领域为多媒体信息设备代表产品如康柏iPAQ
PC
H3630、联想天玑3000、惠普Jornada
545掌上电脑等版本WindowsCE3.0、WindowsCE-NET、PocketPC2002、SmartPhone2002等第114页/共241页
WindowsCE不是WindowsNT或Windows9x的一部份或缩减版本
是为有限资源、微处理器可移植性的硬件平台设计的多线程嵌入式操作系统
具备独立开发的内核和独一无二的设备驱动程序模型
当然,WindowsCE仍然享有WindowsNT和Windows9x的部分关键功能特如承袭Windows的一贯风格,提供强大的图形用户界面和多媒体功能
第115页/共241页2.WindowsCE的特点
(1)内核方面
属于32位、多线程的嵌入式操作系统
内核提供多线程调度管理、同步原语、中断处理、定时器、内存管理等服务
基于优先级的多线程抢占调度管理方式但实时性能仍欠佳,属于软实时操作系统
内核本身较大,对嵌入式处理器要求高,需要使用的内存容量大第116页/共241页
(2)功能模块主要功能模块包括:对象存储模块、图形窗口事件子系统(GWES)模块和通信模块对象存储模块:用于永久存储,包括文件系统、注册表和数据库
GWES(GraphicsWindowingandEventsSubsystem)模块:相当于桌面Windows的图形设备接口GDI和用户库通信模块:负责与桌面PC、其它CE设备和因特网的互联
第117页/共241页具有录音、音视频播放等多媒体功能集成的应用程序
Word、Excel和Outlook等针对手持设备的PocketOFFICE软件专门用于手持设备的浏览器PocketIE。能耗方面明显逊于Palm0SWindwosCE支持彩色显示
WindowsCE本身对于资源的巨大吞噬作用第118页/共241页
(3)可裁剪性
模块化结构每个模块又分成许多小组件具有可裁减性第119页/共241页
(4)对不同硬件平台的可移植性已支持一定数量的嵌入式微处理器体系结构,但仍不够广泛目前支持X86、ARM、MIPS和SH等系列还可通过OEM适配层OAL适配到任何硬件平台
OAL(OEMAbstractionLayer)是驻留在CE内核和硬件之间的代码层
原始设备制造商使用这些代码把CE适配到自己的硬件上,OAL链接CE的内核和定制的硬件第120页/共241页
(5)提供的集成开发工具
WindowsCEPlatformBuilder3.0
,包括
WindowsCEAdd-onPack(插件包)
EmbeddedVisualTools由面向嵌入式系统开发而进行优化的EmbeddedVisualBasic和EmbeddedVisualC++、编程工具、交叉编译器、汇编程序组成还包括一个用于应用程序开发的扩展仿真环境各种调试工具
第121页/共241页
(6)服务与价格
在技术服务方面,WindowsCE努力寻求第三方的支持鼓励第三方独立软件供货商(ISV,IndependentSoftwareVendor)去开发和销售能在各种设计之间平衡的软件ISV软件已日益增多,有开发工具、设备驱动程序、应用程序和组件
在价格方面,WindowsCE作为一套商业型嵌入式操作系统,不能免费提供
第122页/共241页3.WindowsCE小结
优点提供的功能模块组件丰富,尤其是在图形界面接口GUI和多媒体方面具有明显优势,适用于信息设备提供与Windows平台相似的集成开发环境和API接口函数,使WindowsC/C++开发人员能够迅速的转到嵌入式系统的开发上来,极大减少了开发者对新工具和新环境的学习掌握时间和费用第123页/共241页
不足之处
内核仍较大,对硬件要求高,消耗资源多,耗电量大支持的嵌入式微处理器种类和提供的设备驱动程序不够丰富微软自身投入的WindwosCE售后技术支持服务力量较弱第124页/共241页EPOC1.EPOC概述
EPOC是一个稳定的无线操作系统使用
C++语言编写,采用完全面向对象的设计方法
分为三种类型:Pearl/Quartz/Crystal分别对应普通手机、智能手机、HandHoldPC场合的应用,因此可以满足从低端的无线电话应用到多功能无线个人通信器的需求
目前EPOC拥有超过70%的智能手机市场占有率第125页/共241页
EPOC名称由来的两种解释
一种说法:EPOC是取“ElectronicPieceofCheese”第一个字母而来,即“使用电子产品时可以像吃奶酪一样简单”——EPOC在系统设计时所坚持的理念
另一种说法:EPOC来自“Epoch”,即纪元、时代的意思,体现了其公司的野心
第126页/共241页
EPOC的历史:EPOC、Pison和SymbianPison最初创立了PisonSoftware公司,它在20年前就开发出了EPOC的前身,用于该公司开发的个人组织器
(PersonalOrganizer)上1998年,PisonSoftware将EPOC这个操作系统独立出来,并联合Nokia、Ericsson、Motorola以及Panasonic、Siemens、Samsung等大型移动通讯设备商出资组建了一家新公司Symbian。该公司得到
Pisonsofware的授权,在
EPOC系统的基础上开发用于第三代无线智能型电话和终端的无线操作系统第127页/共241页当前,EPOC32操作系统已从一个用于结构较简单的个人组织器的无线操作系统,发展成为现在完全具有多任务处理能力的32位操作系统。EPOC的设计目标与现在用于蜂窝电话的操作系统类似,其重点放在电源管理、对内存和执行速度的的设计等方面上
第128页/共241页2.EPOC的模块化结构
EPOC分为独立的四层:核心层服务器层系统层应用层第129页/共241页
(1)核心层与可移植性
EPOC的核心层也称基层
(BaseLayer)核心层主要功能多线程调度:高优先级的线程首先运行
内存的使用保护机制:被一个任务占用的内存不可以再被其它任务访问
节省能源:空线程请求CPU进入电源节省状态
提供
EPOC易于移植到新硬件的功能:提供硬件抽象层和各种设备的驱动程序第130页/共241页
(2)服务器层
采用客户
/服务器的框架结构,提供的服务器:窗口服务器字库
/位图服务器过程服务器套接服务器声音服务器数据库服务器文件服务器报警服务器等第131页/共241页
(3)系统层
定义与用户接口相关的功能,如对话框、菜单、工具条、图标、列表控制和编辑控制等
定义了几类基本的显示和输入设备
640×240像素
显示设备与之配套的键盘
240×320像素
指示设备第132页/共241页
310×120像素
的显示设备与指示设备
200×200像素输入面板。前两类主要应用在个人通信器中,后二者主要用于智能电话。EPOC要求各独立软件厂商
(ISV)提供的软件必须兼容上述标准
为了保持系统的灵活性,EPOC系统层还提供了一个设备系列参考设计
(DFRD)6第133页/共241页
(4)应用层
主要定义能够在EPOC操作系统上使用的各种应用,如浏览器、字处理软件、画图等
还定义了
EPOC使用的应用编程接口
(API)使用了一个
Java虚拟机(JVM),具有独特的“一次编程,到处运行”的特性因此,使用无线
JavaAPI开发某种移动设备的EPOC应用并可以直接用在其它类型设备上,将会大大提高开发效率
第134页/共241页3.EPOC小结
EPOC在智能移动终端上拥有强大通信能力以及应用程序,包括:一个健全的核心企业用标准通信传输协议
Sunjava语言与他人互相分享信息、浏览网页、传输、接收电子信件、传真以及个人生活行程管理等应用程序第135页/共241页提供声音、触控笔和键盘等无线通讯装置间多种沟通方式在硬件扩展性方面为制造商在设计上预留了多种接口等第136页/共241页
EPOC的前景除EPOC外,用于第三代移动通信设备的嵌入式操作系统还有PalmOS、WindowsCE和EmbeddedLinux等将来EPOC能否取得成功,这主要依赖于Symbian向其它手持计算和电信厂商发放EPOC使用许可证的数量
目前通信业的一些领导厂商如Sun、Philips和NTTDoCoMo已经加入Symbian联盟中并取得了EPOC使用许可证
第137页/共241页3.4嵌入式Linux系统的开发嵌入式Linux系统构成嵌入式Linux开发流程嵌入式交叉编译环境的创建第138页/共241页EmbeddedLinux
1.EmbeddedLinux概述
商业化的操作系统高昂的价格使众多生产低端产品的小公司望而却步
C/OS
源码开放、免费,但仅仅是个实时内核
EmbeddedLinux源码开放、免费,同时提供强大功能,包括支持多种文件系统、内置TCP/IP等网络协议、支持图形用户界面—XWindows等,并且易于移植第139页/共241页目前EmbeddedLinux得到了Motorola、Samsung等主要国际厂商的支持
2003年初,Motorola卖掉了所持Symbian股份,同时发布了第一款采用EmbeddedLinux操作系统的智能手机A760;Motorola表示,它计划最终要在该公司生产的大部分手机中采用EmbeddedLinux操作系统,包括价格便宜的手机第140页/共241页2.EmbeddedLinux的特点
(1)内核方面
从内核的构造方式而言,EmbeddedLinux主要包括
精简Linux版本抢占式内核Linux
双内核Linux版本第141页/共241页精简Linux版本重点关注的是嵌入式系统的有限资源问题对Linux内核重新进行编译,在编译时选择嵌入式设备需要的功能模块,删除不需要的功能模块(如MMU);通过对内核的重新配置,可使系统运行所需要的内核显著减小,从而减少对资源的使用量对Linux的实时性问题未给予更多的关注,它仍继承了Linux的多进程分时调度系统,属嵌入式分时操作系统精简Linux版本的典型如CLinux(microConrolLinux)第142页/共241页
抢占式内核Linux版本
直接修改Linux内核代码中的调度算法机制,将Linux内核修改成称为RelativelyFullyPreemptableKernel的抢占式内核,以达到一定的实时性是一种软实时的Linux
该版本典型如MontaVista公司发行的具有商业性质的MontaVistaLinux
第143页/共241页双内核Linux版本双内核体系结构在已有Linux分时通用内核基础上再增加一个实时内核,两个内核共同工作
,实时内核用来运行实时任务,Linux原来的分时通用内核作为实时内核的一个可抢占任务,运行非实时任务
第144页/共241页优点:实时内核短小精悍,可一定程度满足系统实时性能要求,而非实时内核仍可以保持现在
Linux内核强大的功能,将两者有机地结合起来,可以充分使EmbeddedLinux满足信息电器时代的要求
双内核Linux版本的典型如美国新墨西哥州大学计算机科学系开发的NMTRT-Linux、RTAI(RealTimeApplicationInterface)等
第145页/共241页此外,Linux的内核安全可靠性高Linux的内核与用户空间的内存管理分开,不会因为用户的单个程序错误而引起系统崩溃第146页/共241页
(2)功能模块EmbeddedLinux继承了Linux的传统,采用的是模块化的设计,各模块提供强大的功能并具有可裁减性
例1:继承了linux完善的文件系统性能,采用romfs文件系统,相对于一般的ext2文件系统要求更少的空间例2:继承了linux网络操作系统的优势,基本上所有的网络协议和网络接口都可以找到第147页/共241页
例3:支持图形用户界面——XWindows系统XWindows是一种与平台无关的客户/服务器(Client/Server)模型,可以让用户在一台机器上调用另一台机器的XWindows库,打开另一台机器上的窗口,而并不需要考虑这两台机器自己本身的操作系统类型
(3)可裁减性
模块化结构,具有可裁减性第148页/共241页
(4)对不同硬件平台的可移植性
EmbeddedLinux提供对多种处理器的支持,并且正在进一步增加对嵌入式微处理器的支持
目前支持Intel的X86、ARM、MIPS、Motorola/IBM的PowerPC、Motorola的68K、
Compaq(DEC)的Alpha、IA64、S/390、SuperH等处理器体系结构
第149页/共241页
(5)提供的集成开发工具
仍采用GNU开发套件来完成应用程序的开发
GNU包括Gcc、Gdb等一系列编译调试工具Gdb为命令行式调试工具,GNU未提供图形化的多任务、进程调试工具
各应用程序模块可单独编译,动态链入到内核或从内核中删除,不需要与内核一起编译链接,开发调试方便。第150页/共241页
(6)服务与价格
与C/OS类似,EmbeddedLinux的显著优势也体现在它是一类源码开放的、免费的嵌入式操作系统只要遵循GPL(GNUGeneralPublicLicense)的规定,就可以获得免费拷贝,且通过Internet网可获得丰富的技术文档资料第151页/共241页3.EmbeddedLinux小结
优点EmbeddedLinux是Linux的精简版本或演化版本,它继承了Linux的诸多优点,包括:采用模块化体系结构,各模块具有可裁减性,内核安全可靠提供功能强大的文件系统、网络协议模块、窗口管理器等支持多种微处理器平台第152页/共241页提供GNU开发套件,支持模块动态链接提供源代码开放的免费版本等
不足之处
内核仍然较大,占用内存资源多未能提供图形化的多进程调试工具等
第153页/共241页一些发行版RedHatFedoraCoreMandrakeSuseDebian红旗第154页/共241页嵌入式Linux系统结构图代码执行顺序先后加载内核初始化平台初始化外设初始化内核执行应用程序第155页/共241页嵌入式Linux系统构成嵌入式Linux也是Linux基于主流的Linux内核源码开发不同的类型对内核有不同的修改基于标准Linux系统构架定制嵌入式系统Linux系统的构成硬件平台引导程序Linux内核Linux文件系统第156页/共241页网络接口串口LCD和触摸屏接口存储器单元CPU扩展口SD卡USB接口红外接口IIS接口输入设备电源第157页/共241页嵌入式系统与PC相同点第158页/共241页设备名称
CPU
内存存储设备输入设备输出设备
声音设备接口其他设备嵌入式系统嵌入式处理器SDRAM芯片Flash芯片按键,触摸屏LCD音频芯片MAX232芯片USB芯片,网卡芯片PC机CPUSDRAM,DDR内存条硬盘鼠标,键盘显示器声卡主板集成主板集成或外接卡不同点第159页/共241页引导代码
操作系统驱动程序
协议栈开发环境
仿真器Bootloader引导,针对不同电路板进行移植
WinCE,VxWorks,Linux等,需要移植
每个设备驱动都必须针对电路板进行重新开发或移植,一般不能直接下载使用需要移植借助服务器进行交叉编译需要主板的BIOS引导,无须改动Windows,Linux等,不需要移植操作系统含有大多数驱动程序,或从网上下载直接使用操作系统包括,或第三方提供在本机就可开发调试不需要第160页/共241页硬件平台Linux几乎可以支持所有体系结构的处理器X86,PowerPC,ARM,XScale,MIPS,SH,68K,Alpha,SPARC,…能够支持带MMU和不带MMU的处理器uClinux支持不带MMU的处理器对于Linux开发需要针对特定的硬件开发板通常半导体商能够提供处理器的开发板板上固件和引导程序具备硬件初始化和引导Linux启动的功能。第161页/共241页引导程序引导程序就是bootloaderBootloader的定义Linux的bootloader开发源码的bootloader介绍第162页/共241页Bootloader的定义BootloaderBootloader是引导设备启动并且执行主程序的固件Monitor除了引导功能,Monitor还有命令行的接口,可以有调试、读写内存、擦写FLASH、配置参数等功能。习惯上,可以把上面两种软件都叫做“bootloader”第163页/共241页Linux的bootloader所有Linux系统都需要通过bootloader引导启动对于嵌入式Linux系统,需要专门定制引导程序已经有各种各样的bootloader供嵌入式系统使用PPC和x86平台已经有众人皆知的bootloader其他体系结构没有标准的bootloader依赖于硬件供应商提供的bootloader开放的和商业的bootloader第164页/共241页开放源码的Bootloader第165页/共241页x86BootloadersX86平台的2个主要引导程序:LILO和GRUBLILO和GRUB工程的Makefile不允许交叉编译,需要X86主机上本地编译。其他Bootloaders:Rolo,EtherBoot,LinuxBIOS很少用应用于特定环境下第166页/共241页ARMBootloadersU-Boot已经成为标准的ARMbootloaderArmboot跟ppcboot合并,成为u-boot支持arm720,arm920,arm926,sa1100,xscale…Blobblob是由LART工程中开发的bootloaderbolb已经移植到其它基于ARM的系统上Redboot也能支持第167页/共241页PowerPCBootloadersU-boot是PowerPC平台的主要引导程序Ppcboot是u-boot的前身能够支持上百的PowerPC板子支持PPC4xx,5xx,8xx,82xx,7xx,74xx…等系列处理器OpenBIOS开放源码的IEEE1275-1994兼容的固件支持一些IBMPPC405的板子Redboot也能支持第168页/共241页MIPSBootloadersYAMONMIPS嵌入式Linux系统的标准引导程序MIPS公司的开放源码的软件支持大多数的MIPS开发板PMON作为初始化代码使用需要移植到自己的开发板上U-boot和Redboot也能支持第169页/共241页其它bootloaderSuperHsh-boot是SH平台的标准引导程序Redhat也能支持M68KRedhat能支持没有标准的bootloader第170页/共241页商业的bootloaders硬件供应商可以提供开发板可以提供源代码OEM板仅提供二进制的通常不允许客户任意发布可以得到开发手册和支持第171页/共241页Bootloader可以从网络上获得,根据具体的硬件进行修改,最后生成.bin的二进制文件,输入相应的存储器的前512字节中,从而完成硬件的初始化及内核的引导。第172页/共241页Linux内核Linux内核版本发布Linux内核功能Linux内核特点Linux内核编译配置第173页/共241页Linux内核版本发布主版本号每2-3年发布一个主版本例如:1.0,2.0,2.4,2.6--偶数稳定版本每1-2个月发布一个稳定版本例如:2.0.40,2.2.26,2.4.27,2.6.7...开发版本在某个稳定版本发布之前,开发者使用的版本Examples:2.3.42,2.5.74第174页/共241页Linux内核功能处理器管理存储管理设备管理文件系统管理网络管理第175页/共241页内核在系统中的位置从程序员的角度操作系统内核提供了一个与计算机硬件等价的扩展成虚拟的计算平台,抽象了硬件细节从用户的角度操作系统是一个资源管理者,用户可以以某种易于理解的方式组织自己的数据。第176页/共241页第177页/共241页内核子系统进程调度(SCHED)控制进程对CPU的访问内存管理(MM)多个进程安全共享主内存区域虚拟文件系统(VFS)隐藏各种不同硬件的具体细节,为所有设备提供统一的接口网络通信(NET)提供对各种网络标准协议的存取和各种网络硬件的支持进程间通信(IPC)支持进程间各种通信机制第178页/共241页Linux内核特点可移植性支持绝大多数的硬件板可定制性能够运行在超级计算机上,也可以运行在很小的嵌入式设备上(4MRAM)兼容标准和具有互操作性丰富的网络支持安全性
任何缺陷都会被发现,很多专家都在研究它的代码.稳定性和可靠性模块化内核可以仅包含系统运行必须的东西方便编程可以通过学习已有的代码和网络上丰富的资源第179页/共241页内核目录结构:/usr/src/Linux-***/arch/drivers/fs/include/init/ipc/kernel/mm/net编译模式:直接编译进内核编译成模块Linux内核编译第180页/共241页进入到内核源代码目录cd/usr/src/linux-2.6.15步骤:编辑Makefile文件在Linux下进入目录/usr/src/linux-2.6.15进行内核的配置第181页/共241页编译生成的文件vmlinux未压缩的Linux内核arch/<arch>/boot/zImage经zlib压缩后的Linux内核arch/<arch>/boot/bzImage经zlib压缩后的Linux内核,b是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 货补协议书范本
- 货车砂石料运费合同协议
- 购买宣传册合同协议
- 订房合同交付定金协议
- 解除职工协议书范本
- 2025年大学物理考试不同木料的声学特征试题及答案
- cnc测量员试题及答案
- 2025幼儿园数学学习结果试题及答案
- 2025年大学物理考察重点试题及答案
- 2025年大学物理基础测验试题及答案
- 脑出血疑难病例讨论护理
- 公园绿地四害监测及消杀预案
- 电梯生产质量安全总监题库含答案
- 统编版 高中语文 选择性必修下 第二单元《边城》
- 白内障患者护理教学查房
- 部编人教版语文小学六年级下册第四单元主讲教材解读(集体备课)
- 民用无人机操控员执照(CAAC)考试复习重点题库500题(含答案)
- 幼儿园 中班心理健康《我会倾诉》
- 机械租赁保障措施
- 中山大学与吉首大学联合培养本科生项目实施办法
- 山东省烟台市2024-2025学年高二地理下学期期中试题
评论
0/150
提交评论