《嵌入式操作系统-嵌入式操作系统介绍.ppt》由会员分享,可在线阅读,更多相关《嵌入式操作系统-嵌入式操作系统介绍.ppt(56页珍藏版)》请在三一办公上搜索。
1、Embedded System,嵌入式操作系统-嵌入式操作系统介绍,2011年9月,Embedded System,目录,什么是嵌入式操作系统?常用嵌入式操作系统简介 Windows EmbeddedVxWorksEmbedded Linux,Embedded System,目录,什么是嵌入式操作系统?常用嵌入式操作系统简介 Windows EmbeddedVxWorksEmbedded Linux,Embedded System,各式各样的OS,桌面机Windows(9X,XP Home,XP/2000 Pro)Mac服务器Windows(XP/2000 Server&Advanced Se
2、rver)Unix Varieties嵌入式Many,Embedded System,什么是嵌入式操作系统?,嵌入式系统是使用特定嵌入式软件完成特定功能的计算机系统,嵌入式操作系统作为软件的组成部分,为嵌入式软件的开发和运行提供良好的环境。嵌入式系统可以是基于ROM或者是磁盘的系统,类似PC,但它并不能替代通用计算机系统。,Embedded System,操作系统,计算机系统由硬件和软件组成,在发展初期没有操作系统这个概念,用户使用监控程序来使用计算机。随着计算机技术的发展,计算机系统的硬件、软件资源也愈来愈丰富,监控程序已不能适应计算机应用的要求。于是在六十年代中期监控程序又进一步发展形成了
3、操作系统(Operating System)。发展到现在,广泛使用的有三种操作系统即多道批处理操作系统、分时操作系统以及实时操作系统。,Embedded System,操作系统,时 间 先 后,Embedded System,IEEE 的实时UNIX分委会认为实时操作系统应具备以下的几点:异步的事件响应 切换时间和中断延迟时间确定 优先级中断和调度 抢占式调度 内存锁定 连续文件 同步,实时操作系统的特点,Embedded System,实时操作系统的特点,实时操作系统是事件驱动的,能对来自外界的作用和信号在限定的时间范围内作出响应。强调的是实时性、可靠性和灵活性,与实时应用软件相结合成为有机
4、的整体起着核心作用,由它来管理和协调各项工作,为应用软件提供良好的运行软件环境及开发环境。从实时系统的应用特点来看实时操作系统可以分为两种:一般实时操作系统和嵌入式实时操作系统。,Embedded System,实时操作系统的特点,一般实时操作系统应用于实时处理系统的上位机和实时查询系统等实时性较弱的实时系统,并且提供了开发、调试、运用一致的环境。嵌入式实时操作系统应用于实时性要求高的实时控制系统,而且应用程序的开发过程是通过交叉开发来完成的,即开发环境与运行环境是不一致。嵌入式实时操作系统具有规模小(一般在几K几十K 内)、可固化使用实时性强(在毫秒或微秒数量级上)的特点。,Embedded
5、 System,嵌入式操作系统,基本概念,对基于芯片的开发来说,应用程序一般是一个无限的循环,可称为前后台系统或超循环系统。很多基于微处理器的产品采用前后台系统设计,例如微波炉、电话机、玩具等。在另外一些基于微处理器应用中,从省电的角度出发,平时微处理器处在停机状态,所有事都靠中断服务来完成。,前后台系统,Embedded System,基本概念,中断服务程序处理异步事件,这部分可以看成前台行为,前台也叫中断级。时间相关性很强的关键操作一定是靠中断服务程序来保证的。,循环中调用相应的函数完成相应的操作,这部分可以看成后台行为,后台也可以叫做任务级。这种系统在处理的及时性上比实际可以做到的要差。
6、,前后台系统,Embedded System,嵌入式操作系统,基本概念,操作系统是计算机中最基本的程序。操作系统负责计算机系统中全部软硬资源的分配与回收、控制与协调等并发的活动;操作系统提供用户接口,使用户获得良好的工作环境;操作系统为用户扩展新的系统功能提供软件平台。,操作系统,硬件,硬件驱动,操作系统,用户程序,Embedded System,嵌入式操作系统,基本概念,实时操作系统是一段在嵌入式系统启动后首先执行的背景程序,用户的应用程序是运行于RTOS之上的各个任务,RTOS根据各个任务的要求,进行资源(包括存储器、外设等)管理、消息管理、任务调度、异常处理等工作。在RTOS支持的系统中
7、,每个任务均有一个优先级,RTOS根据各个任务的优先级,动态地切换各个任务,保证对实时性的要求。,实时操作系统(RTOS),Embedded System,嵌入式操作系统,基本概念,代码的临界区指处理时不可分割的代码,运行这些代码不允许被打断。一旦这部分代码开始执行,则不允许任何中断打入。为确保临界区代码的执行,在进入临界区之前要关中断,而临界区代码执行完成以后要立即开中断。,代码的临界区,Embedded System,嵌入式操作系统,基本概念,程序运行时可使用的软、硬件环境统称为资源。资源可以是输入输出设备,例如打印机、键盘、显示器。资源也可以是一个变量、一个结构或一个数组等。,资源,Em
8、bedded System,嵌入式操作系统,基本概念,可以被一个以上任务使用的资源叫做共享资源。为了防止数据被破坏,每个任务在与共享资源打交道时,必须独占该资源,这叫做互斥。,共享资源,访问共享资源之前申请信号量,其它任务访问受阻而不能使用共享资源,得到允许后,才能使用共享资源,Embedded System,嵌入式操作系统,基本概念,一个任务,也称作一个线程,是一个简单的程序,该程序可以认为CPU完全属于该程序自己。实时应用程序的设计过程,包括如何把问题分割成多个任务,每个任务都是整个应用的某一部分,每个任务被赋予一定的优先级,有它自己的一套CPU寄存器和自己的栈空间。,任务,Embedde
9、d System,嵌入式操作系统,基本概念,当多任务内核决定运行另外的任务时,它保存正在运行任务的当前状态,即CPU寄存器中的全部内容。这些内容保存在任务的当前状态保存区,也就是任务自已的栈区之中。入栈工作完成以后,就把下一个将要运行的任务的当前状态从任务的栈中重新装入CPU的寄存器,并开始下一个任务的运行。这个过程就称为任务切换。,任务切换,Embedded System,嵌入式操作系统,基本概念,多任务系统中,内核负责管理各个任务,为每个任务分配CPU时间,负责任务之间的通信。内核提供的基本服务是任务切换。实时内核简化应用系统的设计,因为实时内核允许将应用分成若干个任务,由实时内核来管理它
10、们。内核需要消耗一定的系统资源,比如25的CPU运行时间、RAM和ROM等。内核提供必不可少的系统服务,如信号量、消息队列、延时等。,内核,Embedded System,嵌入式操作系统,基本概念,调度就是决定该轮到哪个任务运行了。实时内核基于优先级调度法。每个任务根据其重要程序的不同被赋予一定的优先级。优先级的调度法指CPU总是让处在就绪态的优先级最高的任务先运行。何时让高优先级任务掌握CPU的使用权,有两种不同的情况,这要看用的是什么类型的内核,是非占先式的还是占先式的内核。,调度,Embedded System,嵌入式操作系统,基本概念,非占先式调度法也称作合作型多任务,各个任务彼此合作
11、共享一个CPU。异步事件是由中断服务来处理。中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。中断服务以后控制权回到原来被中断了的那个任务,直到该任务主动放弃CPU的使用权时,那个高优先级的任务才能获得CPU的使用权。,非占先式内核,Embedded System,嵌入式操作系统,基本概念,当系统响应时间很重要时,使用占先式内核。最高优先级的任务一旦就绪,总能得到CPU的控制权。当一个运行着的任务使一个比它优先级高的任务进入了就绪状态,当前任务的CPU使用权就被剥夺了,或者说被挂起了,那个高优先级的任务立刻得到了CPU的控制权。如果是中断服务子程序使一个高优先级的任务进入就绪态,中断完成
12、时,中断了的任务被挂起,优先级高的那个任务开始运行。,占先式内核,Embedded System,嵌入式操作系统,基本概念,任务的优先级是表示任务被调度的优先程度。每个任务都具有优先级。任务越重要,赋予的优先级应越高,越容易被调度而进入运行态。,任务优先级,Embedded System,嵌入式操作系统,基本概念,中断是一种硬件机制,用于通知CPU有异步事件发生。中断一旦被识别,CPU保存部分(或全部)上下文即部分或全部寄存器的值,跳转到专门的子程序,称为中断服务子程序(ISR)。中断服务子程序做事件处理,处理完成后,程序回到:1.在前后台系统中,程序回到后台程序;2.对非占先式内核而言,程序
13、回到被中断了的任务;3.对占先式内核而言,让进入就绪态的优先级最高的 任务开始运行。,中断,Embedded System,嵌入式操作系统,基本概念,中断,Embedded System,嵌入式操作系统,基本概念,时钟节拍是特定的周期性中断。这个中断可以看作是系统心脏的脉动。中断之间的时间间隔取决于不同应用,一般在10ms到200ms之间。时钟的节拍式中断使得内核可以将任务延时若干个整数时钟节拍,以及当任务等待事件发生时,提供等待超时的依据。时钟节拍率越快,系统的额外开销就越大。,时钟节拍,Embedded System,嵌入式操作系统?,模块化可升级可配置小内存损耗CPU支持设备驱动等等.,
14、Embedded System,什么构成实时操作系统RTOS?,多线程和抢占式调度由于非时限驱动OS的存在,具有线程优先级必须支持可预测线程同步机制优先级继承系统,Embedded System,常用嵌入式操作系统,Microsoft Embedded NT/XP“实时”控制Windows CE(CE.NET)Internet 设备Pocket PC 2002Handheld PCs and PDAsWind River SystemsVxWorkspSOS,Embedded System,目录,什么是嵌入式操作系统?常用嵌入式操作系统简介 Windows EmbeddedVxWorksEmb
15、edded Linux,Embedded System,微软的移动平台,更强的功能,Embedded System,Windows Embedded 家族,Embedded System,目录,什么是嵌入式操作系统?常用嵌入式操作系统简介 Windows EmbeddedVxWorksEmbedded Linux,Embedded System,VxWoks,VxWorks操作系统是美国 公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),是嵌入式开发环境的关键组成部分。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通
16、讯、军事演习、弹道制导、飞机导航等,甚至在1997年4月登陆火星表面的火星探测器上也使用到了VxWorks。主要思想:在嵌入式系统中最大限度地实现内核的时间可预测性,根据用户定义的任务优先级对任务实现调度。给用户最大的控制权,Embedded System,VxWoks,为追求系统的实时性而设计的,并不是以通用OS为设计目标。去掉了一些OS模块,因为这些模块在某种程度上会影响系统的实时性(如在内存管理中没有采用页面管理模式,采用的是平板式内存。,Embedded System,VxWoks,任务调度采用的是基于优先级的抢占式任务调度模式,优先级分256级(0-255)用户可以动态的改变优先级,
17、但是这种做法不提倡用户可以锁定一个任务使它不被更高的任务或中断抢占允许使用固定优先级响应时间来检查任务调度的性能,Embedded System,VxWoks,资源共享和优先级继承机制采用最优化的上下文切换和中断返回机制.内核从不禁止非屏蔽中断 NMI(non-maskable interrupts),Embedded System,VxWoks 缺点,缺少某些OS特性保证时限要求是设计者自己的任务(系统的灵活性带来的弊端)不支持很多应用和APIs(只支持部分POSIX标准的函数集)尽管采用了平板式内存管理,但是由于内存的动态分配,仍然存在内存段,这样仍然存在时间上的不可预测性,Embedde
18、d System,VxWoks 缺点,应用领域主要局限在对实时性要求较严格的硬实时系统中带给用户最大的控制权的同时,用户对系统的实时性调度责任也更大,Embedded System,目录,什么是嵌入式操作系统?常用嵌入式操作系统简介 Windows EmbeddedVxWorksEmbedded Linux,Embedded System,主要内容,嵌入式Linux概览使用嵌入式Linux的开发过程嵌入式Linux与Windows CE,Embedded System,常见的嵌入式操作系统 嵌入式Linux,uClinux是一个完全符合GNU/GPL公约的操作系统,完全开放代码。uClinux
19、从Linux2.0/2.4内核派生而来,沿袭了主流Linux的绝大部分特性。它是专门针对没有MMU的CPU,并且为嵌入式系统做了许多小型化的工作。适用于没有虚拟内存或内存管理单元(MMU)的处理器,例如ARM7TDMI。它通常用于具有很少内存或Flash的嵌入式系统。它保留了Linux的大部分优点:稳定、良好的移植性、优秀的网络功能、完备的对各种文件系统的支持、以及标准丰富的API等。,Embedded System,嵌入式Linux,嵌入式Linux功能强大的嵌入操作系统,广泛用于网络产品,PDA,手机等信息家电领域特点:系统稳定,功能强大支持多种硬件平台应用软件多,简单易用开放源码,不存在
20、黑箱技术 不需许可证,使用成本低文档完善强大的网络功能具有软实时性,Embedded System,将Linux嵌入到,各种设备中:,NASA 个人助理,Embedded System,使用Linux的行動電話,Motorola mobile telephones,一般而言是基於 MontaVista Linux,包括 RAZR V8,en:Motorola RAZR V8,ROKR E2,ROKR E6,A780,E680,E680i,A910,A1200,A1210,A1600,A1800,U9,E8 及其他 en:Openmokos Neo 1973 或 Freerunner Nokia
21、的 N810 N800 Google的 Android Linksys WRT54G 版本 4 或更早 the Panasonic P901i NEC N901ic telephones Philips LPC3180 UTstarcom DV007 gumstix basix,connex and verdex,Embedded System,开发过程,Linux 操作系统选择,操作系统的移植与改进,Driver and Application software development,从系统设计,测试,Rehat,bluecat,RTLinux,Monta Vista Linux,RTAI
22、,Tekram,HP,Intel,Embedded System,嵌入式Windows 与,嵌入式Linux,Jerry Krasner与Rick Rehrbraum 之争,版权费,开发环境,功能,上市时间,开发人员数,非常便宜,并非所有的嵌入式windows产品都便宜,更好,不同意,更多,不同意,更短,更少,不确定,不确定,硬件支持,差不多,Linux更好,Embedded System,嵌入式Windows 与,嵌入式Linux,目前嵌入式系统项目中使用的目标操作系统以及二年后使用的操作系统,2002,数据来自EDC,两者都呈强健的上升趋势!,续,Embedded System,常见的嵌入
23、式操作系统-C/OS-II,C/OS-II是一个源码公开、可移植、可固化、可裁剪、占先式的实时多任务操作系统。其绝大部分源码是用ANSI C写的,使其可以方便的移植并支持大多数类型的处理器。C/OS-II通过了联邦航空局(FAA)商用航行器认证。自1992年问世以来,C/OS-II已经被应用到数以百计的产品中。C/OS-II占用很少的系统资源,并且在高校教学使用是不需要申请许可证。,Embedded System,常见的嵌入式操作系统-PalmOS,Palm OS是早期由US Robotics(其後被3Com收購,再獨立改名為Palm公司)研制的专门用于其掌上電腦产品Palm的操作系统。由于此
24、操作系统完全为Palm产品设计和研发,而其产品由推出时就超过了苹果公司的Newton而获得了极大的成功,所以Palm OS也因此声名大噪。其後曾被IBM、Sony、Handspring等廠商取得授權,使用在旗下產品中。Palm OS操作系统以簡單易用為大前提,運作需求的記憶體與處理器資源較小,速度也很快;但不支援多线程,長遠發展受到限制。Palm OS版權現時由PalmSource公司擁有,並由PalmSource開發及維護。2005年9月9日,PalmSource被日本軟件開發商愛可信收購。目前新出产的Palm类产品中的Palm OS版本大部分为5.0甚至更高,但市場上仍然未有採用Palm
25、OS 6的產品。,Embedded System,常见的嵌入式操作系统-SymbianOS,SymbianOSSymbian成立于1998年,由爱立信、诺基亚、摩托罗拉和Psion共同出资筹建。塞班(Symbian)操作系统是Symbian公司為手機而設計的操作系統,被Nokia收購之後,將其移轉到Symbian 基金會,以開放原始碼的形式釋出。它的前身是Psion的EPOC,並且獨佔式的執行於ARM處理器。包含由Symbian Ltd所提供的相关的函数庫(libraries)、用户界面(user interface)架構和共用工具(common tools)的参考实现(reference i
26、mplementation)它並沒有開放到核心源代码(源代码从沒有公開)。然而,几乎所有源代码都提供給使用Symbian OS的手機製造商和其他合作夥伴。再者,很多應用程序接口(API)都有公開其技術文件,使任何人都可以開發Symbian OS的软件。這與其他傳統的嵌入式操作系統形成對比,因為後者除了Java程序以外並無法提供任何後繼市場的软件。,Embedded System,Symbian平台的手機列表,版本 使用手機 Symbian OS 9.3(對應於S60 3rd 版本,FP2)Nokia 5730 XpressMusic11 Nokia E7511 Nokia N9611 Noki
27、a N8611 Nokia N7911 Samsung GT-i851011 Samsung GT-i711011 Symbian1(對應於S60 5th 版本)Nokia 5800 XpressMusic12 Nokia 5530 XpressMusic12 Nokia 523012 Nokia N9712 Nokia N97 mini12 Nokia X612 Sony Ericsson Satio12 Samsung i891012 Symbian2 跳過,直接開發 Symbian3 Symbian3 預計2010 Q35 Symbian4 n/a5,Embedded System,An
28、droid,Android是基于Linux内核的软件平台和操作系统,是Google在2007年11月5日公布的行動電話系統平台,早期由Google开发,后由开放手机联盟(英语:Open Handset Alliance)(Open Handset Alliance)开发。它採用了軟件堆層(software stack,又名以軟件疊層)的架構,主要分為三部分。低層以Linux核心工作为基础,只提供基本功能;其他的應用軟件則由各公司自行開發,以Java作為編寫程式的一部分。另外,为了推广此技术,Google和其它几十个手机公司建立了开放手机联盟。Android在未公开之前常被傳聞为Google电话
29、或gPhone。大多传闻认为Google開發的是自己的手機電話产品,而不是一套软件平台。到了2010年1月,Google始發表自家品牌手機電話的Nexus One。,Embedded System,iPhone OS,iPhone OS 或 OS X iPhone是由蘋果公司为iPhone開發的操作系統。它主要是給iPhone、iPod touch以及iPad使用。就像其基于的Mac OS X操作系統一样,它也是以Darwin为基础的。iPhone OS的系統架構分為四個層次:核心操作系統層(the Core OS layer)核心服務層(the Core Services layer)媒體層(the Media layer)可輕觸層(the Cocoa Touch layer)。系統操作占用大概240MB的内存空间。,Embedded System,Q&A,