嵌入式系统高级部分-嵌入式操作系统导论

上传人:yc****d 文档编号:243307272 上传时间:2024-09-20 格式:PPT 页数:110 大小:975KB
返回 下载 相关 举报
嵌入式系统高级部分-嵌入式操作系统导论_第1页
第1页 / 共110页
嵌入式系统高级部分-嵌入式操作系统导论_第2页
第2页 / 共110页
嵌入式系统高级部分-嵌入式操作系统导论_第3页
第3页 / 共110页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,嵌入式系统原理与应用,1,操作系统基础,2,内核,内核(kernel)是操作系统的内部核心程序,它向外部提供了对计算机系统资源进行请求和管理的调用接口和服务,3,内核,可以将操作系统的代码分成两部分:,内核所在的地址空间称为内核空间;,而在内核以外,剩下的程序统称为外部管理程序,它们大部分是对外围设备的管理和界面操作,外部管理程序与用户进程所占据的地址空间称为外部空间。,通常,一个程序会跨越两个空间。,当执行到内核空间的一段代码时,称程序处于内核态,当程序执行到外部空间代码时,称程序处于用户态。,4,操作系统分类1,按照操作系统的内核模式可以分为:,微内核,大内核,混合式内核,5,微内核模式,硬件,内核级,用户级,微内核,客,户,进,程,设,备,驱,动,文,件,服,务,进,程,服,务,其,他,管,理,6,微内核,Mach 首先使用微内核结构,通过划分系统程序和用户程序,把所有不必要的部件移出内核,形成一个小内核,微内核提供最少量的进程管理、存储管理,以及通信功能,7,微内核特点,接口一致(,Uniform interface):,所有进程请求使用统一的接口,进程不需要区分内核模式和用户模式服务,由于这些服务全部通过消息传递提供。,8,微内核特点,扩展性(,Extensibility):,由于新型硬件设备和新型软件技术不断发展,任何操作系统不可避免地需要修改,微内核结构允许加入新的服务,支持在同一功能区内提供多重服务。使用微内核结构,加入一个新特点仅仅需要修改或者加入被选择的服务,新的或者修改的服务影响限制在系统的一个子集,进一步地,修改不需要建立一个新的内核。,9,微内核特点,移植性(,Portability):,在微内核结构中,所有与特定处理机的代码仅仅存在微内核中,因此,需要将这个系统移植到新的处理机需要作的变化可以尽可能地少。,10,微内核特点,可靠性(,Reliability):,软件规模越大,确保可靠性越难。尽管模块化设计帮助我们增强了可靠性,但是微内核结构带来了更多的收益。一个小型微内核可以严格地进行测试,它使用少量的应用程序接口有助于内核模式之外的操作系统服务代码提高质量。系统只需要掌握一个有限数量的(,API),,程序员之间的相互交互也有限,因而对于系统其它组件的影响最小。,11,微内核特点,分布系统支持(,Distributed system support):,微内核适合于由分布操作系统控制的群集系统。当一个消息从客户发到服务器进程,该消息必须包含请求服务的标识符。当一个分布系统(如群集系统)被配置为所有的进程和服务有唯一的标识符,那么似乎在内核模式下存在单一的系统映象,一个进程能够在不知道目标服务驻留在哪台机器情况下发送消息。,12,微内核特点,面向对象操作系统(,Object-oriented operating system):,微内核结构非常适合面向对象操作系统的要求,一个面向对象的方法有助于一个微内核的设计和操作系统的模块化扩充。将微内核结构和面向对象操作系统原理结合起来的例子是组件的使用,组件是清楚定义了接口的对象,它们能够互连起来以预制建筑块的方式形成软件,使用组件之间的接口实现组件之间的全部相互作用。,13,大内核模式,硬件,进程管理,虚存管理,I/O,设备管理,内部进程通信,文件系统,应用程序,内核级,用户级,14,Windows内核,15,16,Windows内核变化,Windows号称内核版本7将走向小内核模式,17,混合式内核模式,硬件,进程管理,虚存管理,I/O,设备管理,内部进程通信,文件系统,用户进程,内核级,用户级,混合式内核,其他管理,18,混合式内核,Linux,内核属于混合式内核,参与,Linux,系统开发的程序员大多数为世界各地的黑客们。比起结构的清晰,他们更加注重功能的强大和高效率的代码。,他们将大量的精力花在优化代码上,而这样的全局性优化必然以损失结构精炼作为代价,导致,Linux,中的每个部件都不能被轻易拆出,否则必然破坏整体效率。,19,Linux,内核,虽然,Linux,是一个混合式内核操作系统,但它与传统的,UNIX,操作系统不同。,在普通单一内核系统中,所有内核代码都是被静态编译和链接的。,而在,Linux,中,可以动态装入和卸载内核中的部分代码。,Linux,中将这样的代码段称做模块(,module,),并对模块给予了强有力的支持。在,Linux,中,可以在需要时自动装入和卸载模块。,20,Linux内核的结构,21,LINUX操作系统的结构,22,2.4 vs. 2.6内核的实时性比较,23,Linux 内核,Linux,内核主要由,5,个模块构成,它们分别是:,进程调度模块:控制进程对,CPU,资源的使用,内存管理模块:确保所有进程能够安全地共享机器主内存区;虚拟内存管理,文件系统模块:支持对外部设备的驱动和存储,进程间通信模块:支持多种进程间的信息交换方式,网络接口模块:提供对多种网络通信标准的访问并支持许多网络硬件,24,内核模块之间的依赖关系,25,内核模块之间的依赖关系,所有的模块都与进程调度模块存在依赖关系。因为它们都需要依靠进程调度程序来挂起(暂停)或重新运行它们的进程。通常,一个模块会在等待硬件操作期间被挂起,而在操作完成后才可继续运行。,26,内核模块之间的依赖关系,进程调度子系统需要使用内存管理器来调整一特定进程所使用的物理内存空间。,进程间通信子系统则需要依靠内存管理器来支持共享内存通信机制。,虚拟文件系统也会使用网络接口来支持网络文件系统(,NFS,),同样也能使用内存管理子系统来提供内存虚拟盘(,ramdisk,)设备。,而内存管理子系统也会使用文件系统来支持内存数据块的交换操作。,27,操作系统分类2,按照操作系统的架构可以分为:,整体,OS,分层,OS,客户机/服务器,OS,虚拟机,OS,28,整体式操作系统,整体式,/,单块式操作系统,Monolithic OS,操作系统是包含了不同模块的一整块代码集,难于调试,任何一处修改都可能影响其他模块,Bug,的修正可能带来其他,Bug,的出现,任何过程可以调用其它任何过程,没有考虑过程,相互之间的依赖性和互操作性,29,整体式操作系统结构,硬 件,系统服务,用户态,核心态,应用程序,应用程序,整体式结构,30,分层操作系统,分层操作系统,Layered OS,比,Monolithic OS,好,如,OSI Layer,操作系统划分为若干层,在低层上构建高层。底层(0层)为硬件;最高层(,N,层)为用户层,考虑模块化,层的选择是每层只使用低层次的功能和服务,缺点,有时操作系统很难按照,OSI,进行分层,31,层次结构内核,硬件,基本进程管理,虚存管理,I/O,和设备管理,进程间通信,文件系统,用户,用户模式,内核模式,层次结构,32,系统结构 - 简单结构,MS-DOS-,以最小的空间提供最多的功能,不划分模块,尽管,MS-DOS,有某种结构,其接口和功能层没有划分清楚,33,MS-DOS,34,UNIX,UNIX -,受硬件功能限制,早期,UNIX,只是有限的结构化。,UNIX,包括2个分离的部分,系统程序,内核,包括了在物理硬件之上,系统调用之下的一切,提供文件系统,,CPU,调度,存储管理,和其他操作系统功能 ;每一层有大量的功能,35,UNIX系统结构,36,操作系统层,37,THE OS的层次化结构,THE,操作系统首先使用层次化设计。有如下六层:,38,OS/2层次化结构,39,DeltaCORE,的体系结构:层次模块结构,应用程序,任务管理,硬 件,用户扩展处理,调度管理,硬件抽象层,应用编程接口,内存管理,中断管理,时钟,/,定时器管理,I/O,管理,出错处理,同步、通信管理(消息队列,信号量,事件,异步信号,),),分层次,模块化,40,客户机/服务器操作系统,客户机/服务器操作系统,Client-Server OS,最新的模型,最小的有限的操作系统功能,(scheduler and synchronization primitive),其他所有功能当做系统任务运行,应用软件作为客户机通过系统调用要求服务器服务软件提供服务。,41,客户机/服务器操作系统,优点,易于调试,将任务分配多个微处理器上非常简单。,可以动态装载或卸载各种模块。,缺点,由于内存保护,系统消耗较大,必须保护系统进程,当应用软件切换到服务器内存空间时需要消耗时间。,42,客户/服务器结构,硬 件,进程服务,用户态,核心态,应用程序客户,内存服务,微内核,文件服务,网络服务,显示服务,发送,应答,客户,/,服务器结构(微内核结构),43,QNX4.25的体系结构,用户模式,应用,应用,应用,网络管理器,图形管理器,设备管理器,文件系统管理器,网络驱动,图形驱动,设备驱动,文件系统驱动,硬,件,内核模式,内核(微内核),QNX4.25,的体系结构:客户,/,服务器结构,44,Windows 客户机/服务器结构,45,虚拟机系统,例如:windowsNT下的MS-dos方式,46,操作系统分类3,操作系统按照调度方式区分,可剥夺型内核,不剥夺型内核,47,不可剥夺型内核,不可剥夺型内核(或非抢占式内核,,Non-Preemptive Kernel),每个任务自我放弃,CPU,的所有权。,各个任务彼此合作共享一个,CPU。,异步事件还是由中断服务来处理。中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。但中断服务以后控制权还是回到原来被中断了的那个任务,直到该任务主动放弃,CPU,的使用权时,那个高优先级的任务才能获得,CPU,的使用权。,48,不可剥夺型内核优点,响应中断快。,在任务级,允许使用不可重入函数。,每个任务都可以调用非可重入性函数,而不必担心其它任务可能正在使用该函数,从而造成数据的破坏。因为每个任务要运行到完成时才释放,CPU,的控制权。当然该不可重入型函数本身不得有放弃,CPU,控制权的企图。,几乎不需要使用信号量保护共享数据。,运行着的任务占有,CPU,,而不必担心被别的任务抢占。但这也不是绝对的,在某种情况下,信号量还是用得着的。处理共享,I/O,设备时仍需要使用互斥型信号量。,例如,在打印机的使用上,仍需要满足互斥条件。,49,不可剥夺型内核缺点,最大缺陷在于其响应时间。,高优先级的任务已经进入就绪态,但还不能运行,要等,也许要等很长时间,直到当前运行着的任务释放,CPU。,与前后系统一样,不可剥夺型内核的任务级响应时间是不确定的,不知道什么时候最高优先级的任务才能拿到,CPU,的控制权,完全取决于应用程序什么时候释放,CPU。,不可剥夺型内核允许每个任务运行,直到该任务自愿放弃,CPU,的控制权。中断可以打入运行着的任务。中断服务完成以后将,CPU,控制权还给被中断了的任务。任务级响应时间要大大好于前后系统,但仍是不可知的,商业软件几乎没有不可剥夺型内核。,50,不可剥夺型内核运行原理,低优先,级任务,ISR,低优,先级,任务,高优,先级,任务,任务正在运行,中断到来,中断原来任务,执行中断服务子程序,使一个,高优先级任务进入就绪状态,由于是不可剥夺型内核,低优,先级任务未执行完毕,高优,先级任务不能立即执行,中断返回,继续执行原来任务,任务执行完毕,控制权交给,高优先级、已就绪任务,高优先级任务开始执行,51,可剥夺型内核,当系统响应时间很重要时,要使用可剥夺型内核(或抢占式内核,,Preemptive Kernel),。,最高优先级的任务一旦就绪,总能得到,CPU,的控制权。,当一个运行着的任务使一个比它优先级高的任务进入了就绪态,当前任务的,CPU,使用权就被剥夺了,或者说被挂起了,那个高优先级的任务立刻得到了,CPU,的控制权。,如果是中断服务子程序使一个高优先级的任务进入就绪态,中断完成时,中断了的任务被挂起,优先级高的那个任务开始运行。,52,可剥夺型内核,最高优先级的任务什么时候可以执行,可以得到,CPU,的控制权是可知的。,任务级响应时间得以最优化。,使用可剥夺型内核时,应用程序不应直接使用不可重入型函数。调用不可重入型函数时,要满足互斥条件,这一点可以用互斥型信号量来实现。如果调用不可重入型函数时,低优先级的任务,CPU,的使用权被高优先级任务剥夺,不可重入型函数中数据有可能被破坏。,可剥夺型内核总是让就绪态的高优先级的任务先运行,中断服务程序可以抢占,CPU,,到中断服务完成时,内核让此时优先级最高的任务运行(不一定是那个被中断了的任务)。任务级系统响应时间得到了最优化,且是可知的。,53,可剥夺型内核运行原理,低优先,级任务,ISR,高优,先级,任务,低优,先级,任务,低优先级任务正在运行,中断到来,中断当前任务,中断服务完成,退出中断,进入新的优先级更高的任务,新任务执行,新任务执行完毕,,控制权还给原来的任务,继续执行原来的任务,执行中断服务,把另一个任务,置为高优先级、就绪状态,54,区别,应用,内核,插入中断,应用,内核,ISR,内核,ISR,退出,ISR,中断任务响应,中断延时时间,重新安排延时时间,任务,抢占式内核,非抢占式内核,55,操作系统分类4,顺序执行系统,分时操作系统,实时操作系统,56,顺序执行系统,顺序执行系统,系统内只含有一个程序,独占,CPU,的运行时间,按语句顺序执行该程序,直至执行完毕,另一程序才能启动运行。如,DOS,操作系统。,57,分时操作系统,分时操作系统,软件的执行在时间上的要求,并不严格,时间上的错误,一般不会造成灾难性的后果。,系统内同时可以有多个程序运行,把,CPU,的时间分按顺序分成若干片,每个时间片内执行不同的程序。如,UNIX,58,实时操作系统,实时操作系统,系统内有多个程序运行,每个程序有不同的优先级,只有最高优先级的任务才能占有,CPU,的控制权。,主要任务是对事件进行实时的处理,虽然事件可能在无法预知的时刻到达,但是软件上必须在事件发生时能够在严格的时限内作出响应(系统响应时间),即使能够响应,但是超出了时限,,系统时间响应的超时就意味着致命的失败,。,另外,实时操作系统的重要特点是具有系统的,可确定性,,即系统能对运行情况的最好和最坏等的情况能做出精确的估计,59,嵌入式操作系统,60,发展历程,无操作系统的嵌入算法阶段,以嵌入式,CPU,为基础、以简单操作系统为核心的嵌入式系统,通用的嵌入式实时操作系统阶段,基于,Internet,的嵌入式系统,61,第一阶段,无操作系统的嵌入算法阶段,以单芯片为核心的可编程控制器形式的系统。,具有与监测、伺服、指示设备相配合的功能。,大部分应用于一些专业性极强的工业控制系统中,一般没有操作系统的支持,通过汇编语言编程对系统进行直接控制,运行结束后清除内存。,特点:,系统结构和功能都相对单一,处理效率较低,存储容量较小,几乎没有用户接口。,使用简便、价格很低,62,第二阶段,以嵌入式,CPU,为基础、以简单操作系统为核心的嵌入式系统。,特点,CPU,种类繁多,通用性比较差,系统开销小,效率高,一般配备系统仿真器,操作系统具有一定的兼容性和扩展性,应用软件较专业,用户界面不够友好,系统主要用来控制系统负载以及监控应用程序运行,63,第三阶段,通用的以嵌入式操作系统为核心的嵌入式实时系统阶段,特点,嵌入式操作系统能运行于各种不同类型的微处理器上,兼容性好;,操作系统内核精小、效率高,并且具有高度的模块化和扩展性,具备文件和目录管理、设备支持、多任务、网络支持、图形窗口以及用户界面等功能,具有大量的应用程序接口(,API),,开发应用程序简单,嵌入式应用软件丰富。,64,第四阶段,基于,Internet,为标志的嵌入式系统,正在迅速发展的阶段。,目前大多数嵌入式系统还孤立于,Internet,之外,但随着,Internet,的发展以及,Internet,技术与信息家电、工业控制技术等结合日益密切,嵌入式设备与,Internet,的结合将代表着嵌入式技术的真正未来。,65,嵌入式操作系统的演变,*,Percent of total software supplied by RTOS vendor in a typical embedded device,10%*,Kernel,30%*,Kernel,Networking,75%*,Kernel,Networking,Multiprocessing,Memory Management,Networking Utility,Windows API,Application,Application,Application,Application,90%*,Kernel,Networking,Multiprocessing,Fault Tolerance,Distributed Objects,Advanced Networking,Advanced Interconnect,Java,Browser / GUI,66,依赖于相关技术的发展,67,嵌入式操作系统技术现状,适应不同的嵌入式硬件平台,具有可移植、可伸缩能力。,采用的主要技术:,编程语言普遍采用高级语言实现,主要以,C,语言为主。,体系结构采用分层和模块化结构或微内核结构。,68,嵌入式操作系统技术现状,分层和模块化结构,将操作系统分为:,硬件无关层,硬件抽象层,硬件相关层,每层再划分功能模块,移植工作集中在硬件相关层,与其余两层无关,功能的伸缩集中在模块上,从而确保了系统具有良好的可移植性和可伸缩性。,69,嵌入式操作系统技术现状,功能复杂,具有可剪裁、可配置的能力,采用的主要技术:,可剪裁技术。操作系统以内核为中心,包括很多独立的功能组件如文件、网络等。除内核外其他组件的选择任意搭配,由应用决定。,可配置技术。每个功能组件都可以根据应用的要求进行配置,比如最大任务数、内存地址、堆栈大小、系统任务的优先级、缓冲区大小及文件数等。,70,嵌入式操作系统技术现状,良好的实时性,:,时间确定性是嵌入式实时操作系统必备的特点,特别对于强实时嵌入式系统而言尤为重要。,采用的主要技术:,采用实时调度算法。主要采用静态优先级的可抢占式调度、比率单调算法等。,采用内存静态分配策略和零拷贝技术保证确定性。,内存管理不采用虚存管理机制,采用优先级继承和优先级天花板两种技术解决优先级反转(倒置)问题,71,嵌入式操作系统技术现状,可靠性和高可用,采用的主要技术:,利用存储管理单元(,MMU,)、用户态和核心态机制,实现操作系统与应用程序的隔离,以及应用程序和应用程序之间的隔离,以防止应用程序破坏操作系统的代码、数据。,72,嵌入式操作系统的发展趋势,体系结构向微内核方向发展,可伸缩、可移植、可剪裁、可配置,行业的标准:多种操作系统平台,应用决定操作系统,结构紧凑、功能强大,高可用(,High Available,)、高可靠(,High Reliable,)、支持多处理器和分布式计算,可动态加载和升级软件,与开发工具有机的结合起来,73,行业标准,行业性嵌入式软硬件平台,嵌入式系统是以应用为中心的系统,不会象PC一样只有一种平台,吸取PC的成功经验,形成不同行业的标准。,统一的行业标准具有开放、设计技术共享、软硬件重用、构件兼容、维护方便和合作生产的特点,是增强行业性产品竞争能力的有效手段。,74,嵌入式操作系统架构,BIOS (Boot Loader) Hardware Abstract,Driver,Process scheduler,Memory Management,Communication between Processes,Network,Hardware,System Abstract (SDK),嵌入式操作系统,75,实时操作系统内核,文件系统 虚拟内存管理,网络协议栈,I/O,系统接口,多任务环境,(,Kernel,),76,实时操作系统组成,77,最简内核纳核,实时操作系统内核代码大约1K到100K,用户可裁减掉程序员认为没有使用到的功能,直到只剩下最简内核(任务的管理与调度,称其为纳核,可以只有8k),如何得到最简内核是嵌入式系统开发中非常重要的一环!,78,什么样的OS才是实时OS呢?,实时操作系统,IEEE,实时,UNIX,分委会要求,异步的事件响应,切换时间和中断延迟时间确定,优先级中断和调度,抢占式调度,内存锁定,连续文件,同步,79,按实时性分类,强实时系统,其系统响应时间在毫秒或微秒级(数控机床);,一般实时系统,其系统响应时间在毫秒几秒的数量级上,其实时性的要求比强实时系统要差一些(电子菜谱的查询)。,弱实时系统,其系统响应时间约为数十秒或更长(工程机械)。,80,移植而来的嵌入式实时操作系统,通用操作系统移植到嵌入式系统中,形成的嵌入式操作系统。,嵌入式,Windows NT/XP,SUN,Java,操作系统,朗讯科技公司,Inferno,嵌入式,Linux,等,81,实时操作系统,实时操作系统,WindRiver,公司的,VxWorks,ISI,的,pSOS,QNX,系统软件公司的,QNX,ATI,的,Nucleus,中国科学院凯思集团的,Hopen,嵌入式操作系统,等等,82,专用实时操作系统,办公设备,WinCE,,,Palm,手机,Nokia、 Motorala,的,EPOC,等等,83,硬实时操作系统,客户可以设置,任务,的优先级,任务根据优先级运行,抢先式内核,没有虚拟内存,84,嵌入式操作系统,许多嵌入式操作系统的内核是微内核结构,许多嵌入式操作系统都不支持磁盘,根本不支持文件系统,结构上为了设备驱动而支持文件系统,但不支持文件系统的文件存储功能,85,嵌入式操作系统特点,许多嵌入式操作系统不采用存储管理技术,即不支持虚拟存储技术,许多嵌入式操作系统不划分“系统空间”和“用户空间”,操作系统的“内核”与外围应用程序之间不再有物理的边界,;,系统中所谓“进程”实际上全都是内核线程,静态连接、系统调用、进程调度,/,切换,86,嵌入式操作系统特点,对任何一个应用程序做细微的修改,都得重新生成整个系统,并且“下载”之;,系统调用的界面太庞大;,共享变量的访问,需要谨慎对待;,把通用操作系统上的应用移植过来需考虑“可重入”的问题;,87,嵌入式操作系统特点,不分系统空间和用户空间,必须静态连接,如,DOS,、,CP/M,的,INT21,不分系统空间和用户空间,不能用页面映射技术,但只用于不同进程之间,而非不同空间之间,即使采用了存储管理,基本上都不采用页面交换技术,重启动技术(,watch dog,),88,你听说过哪些实时操作系统?,89,ucOS,特点,uc/os,采用可剥夺型实时多任务内核,uc/os,适合小型控制系统,具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点,最小内核可编译至2,k,不足,没有网络和文件系统支持,应用软件少,90,WinCE,优点:,具有和,Windows,兼容的,GUI,开发工具友好,缺点,非实时,目前已经向硬实时发展,$,91,WinCE6,92,WinCE6,93,pSOS,十分优秀的RTOS,目前已被WindRiver收购,高实时性(任务切换、中断响应),在国内的使用逐年减少,94,VRTX,全球最早推出的RTOS,实时性、高可靠较好,开发工具功能弱,目前已很少使用,95,VxWorks,目前全球使用最广泛的,RTOS,高实时性,高可靠(,火星探路者,Pathfinder,使用的就是该系统,),微内核结构,面向对象方法,开发工具功能强大,缺点:$,96,VxWorks,以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。在美国的,F-16,、,FA-18,战斗机、,B-2,隐形轰炸机和爱国者导弹上,甚至连,1997,年,4,月在火星表面登陆的火星探测器上也使用到了,VxWorks,。,据称美国市场占有率第一名。,97,VxWorks,VxWorks 是风河公司开发的一款商用硬实时操作系统,主要思想:在嵌入式系统中最大限度地实现内核的时间可预测性,根据用户定义的任务优先级对任务实现调度。,给用户最大的控制权,98,VxWorks,为追求系统的实时性而设计的,并不是以通用OS为设计目标。,去掉了一些OS模块,因为这些模块在某种程度上会影响系统的实时性 (如在内存管理中没有采用页面管理模式,采用的是平板式内存。,99,VxWorks,任务调度采用的是基于优先级的抢占式任务调度模式,优先级分256级(0-255),用户可以动态的改变优先级,但是这种做法不提倡,用户可以锁定一个任务使它不被更高的任务或中断抢占,允许使用固定优先级响应时间来检查任务调度的性能,100,VxWorks,资源共享和优先级继承机制,采用最优化的上下文切换和中断返回机制.,内核从不禁止非屏蔽中断 NMI (non-maskable interrupts),101,VxWorks 缺点,缺少某些OS特性,保证时限要求是设计者自己的任务(系统的灵活性带来的弊端),不支持很多应用和APIs(只支持部分POSIX标准的函数集),尽管采用了平板式内存管理,但是由于内存的动态分配,仍然存在内存段,这样仍然存在时间上的不可预测性,102,VxWorks 缺点,应用领域主要局限在对实时性要求较严格的硬实时系统中,带给用户最大的控制权的同时,用户对系统的实时性调度责任也更大,103,Vxworks,104,开源嵌入式Linux,优点,源码公开,可控,可裁减,可修改,应用软件丰富,支持,CPU,类型多,缺点,实时性差(非抢占式调度),调度算法主要考虑效率和公平性,开发工具支持少,一体化内核结构,不易维护,适用领域,低成本、实时性要求不高、应用软件复杂的系统,105,Linux,106,ucLinux,为什么需要,ucLinux(micro-conrol-linux),Linux,需要硬件支持虚拟内存,即,CPU,具有,MMU,在简单,CPU,中,不支持,MMU,,如,ARM7TDMI,ucLinux,就是没有虚拟内存的,Linux,ucLinux,支持和,Linux,同样的接口,已有很多软件移植到,ucLinux;,具有和,Linux,一样强大的网络功能和出 色的文件系统,ucLinux,源码公开,注意事项,在,ucLinux,中,所有进程共享一个地址空间,没有隔离保护,107,RTLinux,在,Linux,内核与硬件层之间插入了一层,最坏的情况下在,Intel x86,处理器上响应时间,: 15,s,108,RT-Linux,109,实时操作系统组成,商业,RTOS,开发工具,交叉编译器,,主要是,C,或,C+,编译器。,RTOS,本身,它的核心是,Real Time Kernel,,包括相关的函数库。,软件调试工具包,,没有这类工具,多任务的应用程序几乎是没有办法调试的。,110,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!