《嵌入式实时操作系统简介.ppt》由会员分享,可在线阅读,更多相关《嵌入式实时操作系统简介.ppt(85页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、嵌入式系统嵌入式系统An Introduction to Embedded System第五课第五课 嵌入式嵌入式实时操作系统实时操作系统(RTOSRTOS)简介)简介教师:蔡铭教师:蔡铭 助教:王广辉助教:王广辉 浙江大学计算机学院人工智能研究所浙江大学计算机学院人工智能研究所航天科技浙江大学基础软件研发中心航天科技浙江大学基础软件研发中心1课程大纲课程大纲 嵌入式实时操作系统概况嵌入式实时操作系统概况 嵌入式实时操作系统特点嵌入式实时操作系统特点 嵌入式实时操作系统功能简介嵌入式实时操作系统功能简介 ARM-LinuxARM-Linux嵌入式操作系统内核实验嵌入式操作系统内核实验2背景分析
2、背景分析p早期嵌入式系统:硬件所限早期嵌入式系统:硬件所限n汇编语言汇编语言n基本不采用操作系统基本不采用操作系统p基础条件成熟基础条件成熟n硬件的提升硬件的提升 微处理器性能提高、存储器容量增加微处理器性能提高、存储器容量增加n软件技术快速发展软件技术快速发展 编译器、操作系统、集成开发环境编译器、操作系统、集成开发环境3嵌入式操作系统概述发展阶段嵌入式操作系统概述发展阶段(1/4)p嵌入式操作系统的发展主要经历了以下四个阶段:嵌入式操作系统的发展主要经历了以下四个阶段:p无操作系统的阶段无操作系统的阶段n单芯片为核心单芯片为核心n具有与一些监测、伺服、指示设备相配合的功能具有与一些监测、伺
3、服、指示设备相配合的功能n一般没有明显的操作系统支持一般没有明显的操作系统支持n通过汇编语言编程对系统进行直接控制。通过汇编语言编程对系统进行直接控制。n主要特点主要特点p系统结构和功能都相对单一,针对性强系统结构和功能都相对单一,针对性强p无操作系统支持无操作系统支持p几乎没有用户接口几乎没有用户接口4嵌入式操作系统概述发展阶段嵌入式操作系统概述发展阶段(2/4)p简单监控式的实时操作系统阶段简单监控式的实时操作系统阶段n以嵌入式处理器为基础以嵌入式处理器为基础n以简单监控式的操作系统为核心以简单监控式的操作系统为核心n主要特点:主要特点:p处理器种类繁多,通用性比较弱;处理器种类繁多,通用
4、性比较弱;p开销小,效率高;开销小,效率高;p一般配备系统仿真器,具有一定的兼容性和扩展性;一般配备系统仿真器,具有一定的兼容性和扩展性;p用户界面不够友好,主要用来控制系统负载,以及监控应用程序用户界面不够友好,主要用来控制系统负载,以及监控应用程序运行。运行。n八十年代初:出现了以八十年代初:出现了以VRTX(1981)(1981)、pSOS等为代表的等为代表的第一代系统(实时内核),提供了实时操作系统基本功能。第一代系统(实时内核),提供了实时操作系统基本功能。5嵌入式操作系统概述发展阶段嵌入式操作系统概述发展阶段(3/4)p通用的嵌入式实时操作系统阶段通用的嵌入式实时操作系统阶段n以通
5、用型嵌入式操作系统为标志的嵌入式系统以通用型嵌入式操作系统为标志的嵌入式系统n主要特点:主要特点:p运行在不同的微处理器运行在不同的微处理器p具有强大的通用型操作系统的功能具有强大的通用型操作系统的功能p文件和目录管理文件和目录管理p多任务多任务p设备驱动支持设备驱动支持p网络支持网络支持p图形窗口图形窗口p用户界面用户界面p具有丰富的具有丰富的API和嵌入式应用软件和嵌入式应用软件n八十年代后期到九十年代初期,出现以八十年代后期到九十年代初期,出现以VxWorks、RTEMS、Nucleus PLUS、QNX、OSE为代表的第二代系统。为代表的第二代系统。6嵌入式操作系统概述发展阶段(嵌入式
6、操作系统概述发展阶段(4/4)p二十世纪末,出现了以二十世纪末,出现了以Integrity为代表的第三代系统,进一步在为代表的第三代系统,进一步在实时性、高可靠性、高可用性等方面提供了强有力的支持。实时性、高可靠性、高可用性等方面提供了强有力的支持。p新一代实时操作系统的发展方向主要包括高可信、高可靠、高可新一代实时操作系统的发展方向主要包括高可信、高可靠、高可用、高安全、微型化、支持多核等。用、高安全、微型化、支持多核等。p近年来,出现了以近年来,出现了以Internet为标志的嵌入式系统为标志的嵌入式系统n嵌入式系统与嵌入式系统与Internet的全面结合的全面结合n嵌入式操作系统与应用设
7、备的无缝结合嵌入式操作系统与应用设备的无缝结合n代表着嵌入式操作系统发展的未来代表着嵌入式操作系统发展的未来p新的名词新的名词:WebOS嵌入式实时操作系统发展嵌入式实时操作系统发展7典型的嵌入式实时操作系统典型的嵌入式实时操作系统p嵌入式实时操作系统数量众多,如:嵌入式实时操作系统数量众多,如:nVxWorksnWindows CEnpSOSnQNXnPalmOS nNucleusnAndroidp国产嵌入式实时操作系统,如:国产嵌入式实时操作系统,如:nHOPENnDeltaOSnSmartOSnSZOSnRT-LinuxnSymbiannuc/OSnRTEMSnT-KernelnInte
8、gritynThreadX8嵌入式实时操作系统嵌入式实时操作系统VxWorkspVxWorks操作系统是美国操作系统是美国WindRiver公司于公司于1983年设计开发的嵌年设计开发的嵌入式实时操作系统,具有高性能、稳定的内核以及友好的用户开发入式实时操作系统,具有高性能、稳定的内核以及友好的用户开发环境,是环境,是世界第一大嵌入式操作系统提供商世界第一大嵌入式操作系统提供商,应用于航空航天、工,应用于航空航天、工业控制、网络设备、汽车电子等领域业控制、网络设备、汽车电子等领域。pVxWorks所具有的显著特点是:所具有的显著特点是:p可靠性、实时性和可裁剪性。可靠性、实时性和可裁剪性。p支
9、持多种处理器,如支持多种处理器,如x86、PowerPC、ARM、Sparc、MIPS、DSP等。等。p经典应用:经典应用:1997年年NASA火星探路者、火星探路者、20072007年凤凰号火星探测器年凤凰号火星探测器在火星沙丘前进在火星沙丘前进在火星上拍摄的日落全景在火星上拍摄的日落全景9嵌入式实时操作系统嵌入式实时操作系统Integrityp美国美国Green Hills公司是公司是世界排名第二的嵌入式操作系统提供商世界排名第二的嵌入式操作系统提供商,Integrity是是Green Hills公司的公司的RTOS产品产品,代表了目前最先进的,代表了目前最先进的RTOS技术,被技术,被N
10、ASA JPL选中用于测试在太空中的新技术。选中用于测试在太空中的新技术。p分为普通分为普通Embedded RTOS和关键应用中使用的和关键应用中使用的DO-178B实时操实时操作系统两类。作系统两类。p系统技术优势突出系统技术优势突出n内核服务优化,系统调用的开销降至最小。内核服务优化,系统调用的开销降至最小。n复杂的系统调用可以被抢占。复杂的系统调用可以被抢占。n系统的调度器是一个真正的实时调度器。系统的调度器是一个真正的实时调度器。n具有快速中断处理能力,内核从不阻塞某些中断。具有快速中断处理能力,内核从不阻塞某些中断。n具有一流的集成开发环境具有一流的集成开发环境MULTI 支持。支
11、持。10嵌入式实时操作系统嵌入式实时操作系统Windows EmbeddedpMicrosoft公司针对针对公司针对针对PDA、PocketPC、移动电话、小型终端设备、移动电话、小型终端设备提供的操作系统提供的操作系统。p用户开发环境、接口用户开发环境、接口API、系统界面、系统界面等与等与Windows相似,因而具有较多的相似,因而具有较多的应用。应用。1996-卡西欧蛤壳式PDA(Win CE1.0)2006年1996年2003年11开源的嵌入式实时操作系统开源的嵌入式实时操作系统嵌入式嵌入式Linuxp嵌入式系统追求数字化、网络化和智能化,要求系统必嵌入式系统追求数字化、网络化和智能化
12、,要求系统必须是开放的、提供标准的须是开放的、提供标准的API,并能够方便地与众多第,并能够方便地与众多第三方软硬件沟通。尤其是处于核心地位的操作系统。三方软硬件沟通。尤其是处于核心地位的操作系统。pLinux是开放源码的,不存在黑箱技术,遍布全球的众是开放源码的,不存在黑箱技术,遍布全球的众多多Linux爱好者是其开发的强大技术后盾。爱好者是其开发的强大技术后盾。p对对Linux进行实时性改造与裁剪,形成:进行实时性改造与裁剪,形成:nClinux nEmbedix nRTLinux nRTAI nMonta Vista Linux 12开源的嵌入式实时操作系统开源的嵌入式实时操作系统 C/
13、OSIIpC/OSII是一种基于优先级抢占式、可移植、可裁剪的多任务实时是一种基于优先级抢占式、可移植、可裁剪的多任务实时操作系统。绝大部分源码是用操作系统。绝大部分源码是用ANSI C写的,与硬件相关的那部分写的,与硬件相关的那部分汇编代码被压缩至最低限度,使得系统移植性强。汇编代码被压缩至最低限度,使得系统移植性强。pC/OSII诞生于诞生于90年代初,最初名称是年代初,最初名称是C/OS,由,由Jean J.Labrosse开发,并在网络上开源开发,并在网络上开源,其特点为短小、精悍,其特点为短小、精悍。pC/OSII经裁剪最小可达经裁剪最小可达2KB,最小数据,最小数据RAM需求需求1
14、0KB。pC/OSII可以在可以在8位位64位,超过位,超过40种不同架构的微处理器上运种不同架构的微处理器上运行,在世界范围内得到广泛应用,包括:手机、路由器、集线器、行,在世界范围内得到广泛应用,包括:手机、路由器、集线器、不间断电源、飞行器、医疗设备及工业控制上。不间断电源、飞行器、医疗设备及工业控制上。13开源的嵌入式实时操作系统开源的嵌入式实时操作系统ThreadXpThreadX是一款强实时操作系统,以内核小(最小内核为是一款强实时操作系统,以内核小(最小内核为2K,最,最小小RAM 500byte)、实时性强、高可靠性、源代码开放,免收产)、实时性强、高可靠性、源代码开放,免收产
15、品版权费而闻名。由美国品版权费而闻名。由美国Express Logic提供解决方案,适于深度提供解决方案,适于深度嵌入的系统,有功能强大的开发调试环境嵌入的系统,有功能强大的开发调试环境MULTI支持。支持。p典型应用:典型应用:2005年年7月月4日,美国日,美国NASA实施实施深度撞击深度撞击号宇宙飞号宇宙飞船对坦普尔船对坦普尔1号彗星的准确撞击,关键任务由号彗星的准确撞击,关键任务由ThreadX完成。完成。14开源的嵌入式实时操作系统开源的嵌入式实时操作系统T-Kernelp由日本东京大学的坂村健教授主持开发,具有执行效率由日本东京大学的坂村健教授主持开发,具有执行效率高、实时性好等特
16、点高、实时性好等特点。p1984年提出计算机操作系统规范年提出计算机操作系统规范TRON(The Real-time Operating system Nucleus)构想,先后推出了)构想,先后推出了ITRON、JTRON、BTRON、CTRON等规范。等规范。p其应用从汽车、移动电话、传真机到电视机、家电等领其应用从汽车、移动电话、传真机到电视机、家电等领域,主要用户包括:丰田、松下、日立、富士通、东芝、域,主要用户包括:丰田、松下、日立、富士通、东芝、索尼、佳能、理光、索尼、佳能、理光、NEC等,装机量超过等,装机量超过30亿亿。pIBM、Microsoft、ARM、MIPS、Sun、O
17、racle等企等企业相继加入其开放式系统架构业相继加入其开放式系统架构。15手机嵌入式操作系统手机嵌入式操作系统IPhone OSpiPhone OS 或或 OS X iPhone是由苹果公司是由苹果公司为为iPhone开发的操作系统开发的操作系统piPhone、iPod touch以及以及iPadp以以Darwin为基础的为基础的p系统架构分为四个层次系统架构分为四个层次p内核操作系统层(内核操作系统层(the Core OS layer)p内核服务层(内核服务层(the Core Services layer)p媒体层(媒体层(the Media layer)p可轻触层(可轻触层(the
18、Cocoa Touch layer)p系统操作占用大概系统操作占用大概240MB的内存空间的内存空间p源码模式:封闭源码源码模式:封闭源码+开放源码开放源码 组件组件p最新版本最新版本 4.3.3n2011-5-516手机嵌入式操作系统手机嵌入式操作系统Windows phone p2010年年2月,微软公司正式发布月,微软公司正式发布Windows Phone 7智能手机操作系统,智能手机操作系统,Windows Mobile系列彻底退出了手机操作系统市场。系列彻底退出了手机操作系统市场。p2011年年2月,诺基亚在英国伦敦宣布与微软月,诺基亚在英国伦敦宣布与微软达成战略合作关系。诺基亚手机
19、将采用达成战略合作关系。诺基亚手机将采用Windows Phone系统,并且将参与系统开发。系统,并且将参与系统开发。pWindows phone把网络、个人电脑和手机的把网络、个人电脑和手机的优势集于一身优势集于一身,提供良好的用户体验:,提供良好的用户体验:p仪表盘主屏仪表盘主屏p桌面定制桌面定制p图标拖拽图标拖拽p滑动控制滑动控制p将于将于2011年年5月发布月发布Window Phone Mango(windows phone 7.5)17手机嵌入式操作系统手机嵌入式操作系统Android pAndroidAndroid是是GoogleGoogle开发的基于开发的基于LinuxLinu
20、x平台的开源手机平台的开源手机嵌入嵌入式操作系统式操作系统。p形成了具有形成了具有3030多家技术和无线应用的领军企业组成的开多家技术和无线应用的领军企业组成的开放手机联盟,包括:中国移动、摩托罗拉、高通、宏达放手机联盟,包括:中国移动、摩托罗拉、高通、宏达和和T-MobileT-Mobile等。等。pAndroidAndroid的优点的优点n融入全部的融入全部的WebWeb应用,包括:应用,包括:GmailGmail、Google MapsGoogle Maps、YouTubeYouTube、GoogleGoogle日历、日历、Google TalkGoogle TalknAndroidAn
21、droid操作系统免费向开发人员提供操作系统免费向开发人员提供18嵌入式实时操作系统嵌入式实时操作系统SymbianpSymbian(EPOC系统系统)由由Nokia、Motorola、Siemens等手机等手机厂商联合注资成立的厂商联合注资成立的公司,专注于手机的嵌入式智能操作系公司,专注于手机的嵌入式智能操作系统,支持统,支持c+、Java语言,通讯、多媒体处理功能强,目前语言,通讯、多媒体处理功能强,目前占有占有6060的智能手机市场。的智能手机市场。pSymbian具有功能:具有功能:协议标准:协议标准:IPv4IPv4、IPv6IPv6、蓝牙、蓝牙、WAPWAP、SyncMLSync
22、ML、USBUSB通讯能力:支持通讯能力:支持2G2G、2.5G2.5G、3G3G系统应用开发,系统应用开发,GSMGSM、GPRSGPRS、CDMA(IS-95)CDMA(IS-95)以及以及20002000技术支持技术支持多媒体支持:图片、音乐、视频浏览多媒体支持:图片、音乐、视频浏览信息定制:信息定制:SMSSMS、EMSEMS、MMSMMS、EMAILEMAIL和和FAXFAX支持支持安全稳定安全稳定:支持数据完整性、可靠高效的电池管理、数据同步、:支持数据完整性、可靠高效的电池管理、数据同步、数据加密、证书管理、软件安装管理等数据加密、证书管理、软件安装管理等19手机嵌入式操作系统手
23、机嵌入式操作系统Palm OSp3Com公司的公司的Palm专用于掌上电脑专用于掌上电脑,在,在PDA市场上占有市场上占有很大的市场份额,它具有开放的操作系统很大的市场份额,它具有开放的操作系统应用程序接口,应用程序接口,开发商可以根据需要自行开发所需要的应用程序。开发商可以根据需要自行开发所需要的应用程序。pPalm操作系统是最早的操作系统是最早的PDA操作系统操作系统(1996)(1996),因而具有因而具有最多的应用软件支持最多的应用软件支持。pPalm OS的最大优点的最大优点n简单易用简单易用n占用系统资源少占用系统资源少1996-PalmPilot 1000 2002-hander
24、a 3302009-Palm Pre20新一代嵌入式操作系统简介新一代嵌入式操作系统简介WebOS(1/2)pWebOS互联网操作系统互联网操作系统nWebOS概念最早由概念最早由Syracuse大学(雪城大学)的大学(雪城大学)的G.C.Fox于于1995年提出,当时称之为年提出,当时称之为WebWindowsnWebOS是运行在浏览器中的虚拟操作系统是运行在浏览器中的虚拟操作系统n能够在能够在WebOS中打开应用程序(执行中打开应用程序(执行Web服务)服务)n提供了提供了WebOS API,能够根据,能够根据WebOS API进行编程进行编程pWebOS的功能的功能n通过浏览器,在通过浏
25、览器,在WebOS上运用基于上运用基于Web的各种在线应用,实的各种在线应用,实现操作系统上的各种操作,包括:文档的存储、编辑、媒体播现操作系统上的各种操作,包括:文档的存储、编辑、媒体播放、地图应用、即时通讯等等。放、地图应用、即时通讯等等。21新一代嵌入式操作系统简介新一代嵌入式操作系统简介WebOS(2/2)p现有现有WebOS情况情况nGoogle(Android)、Palm(WebOS)是典型的是典型的WebOSn已有多于已有多于30个的个的WebOS系统,大都处于系统,大都处于Alpha或者或者beta状态状态nI-CubenEyeOSnDesktoptwonYouOSnCrayt
26、hurnG.ho.stnTomOSnWebOSnGoowynGlidenOrcanPurefectnSSOE22I-Cubep提供提供1G的在线存储和文件共享,多媒体支持和一些常的在线存储和文件共享,多媒体支持和一些常用办公工具。同时拥有一个用办公工具。同时拥有一个email客户端和编程开发工客户端和编程开发工具。具。23EyeOSp开源软件,可以下载使用,也可以在其服务器上在线开源软件,可以下载使用,也可以在其服务器上在线使用。拥有丰富的网络程序,以及办公套件。使用。拥有丰富的网络程序,以及办公套件。24Desktoptwop基于基于Flash的的WebOSp提供了搜索、时钟、提供了搜索、时
27、钟、MP3播放器、播放器、RSS阅读器、即时阅读器、即时通讯工具、通讯工具、OpenOffice、HTML编辑器,以及笔记本编辑器,以及笔记本等工具。等工具。25YouOSp提供了很多有用的应用程序提供了很多有用的应用程序n聊天客户端、聊天客户端、IM软件、文件浏览器、软件、文件浏览器、RSS阅读器等等。阅读器等等。n程序执行的响应速度比较快。程序执行的响应速度比较快。26Craythur/G.ho.stp类似于类似于Windows的操作界面的操作界面CraythurCraythurCraythurCraythurG.ho.stG.ho.stG.ho.stG.ho.st27国产国产WebOSp
28、TomOS(千脑(千脑)epokosepokosepokosepokos28课程大纲课程大纲 嵌入式实时操作系统概况嵌入式实时操作系统概况 嵌入式实时操作系统特点嵌入式实时操作系统特点 嵌入式实时操作系统功能简介嵌入式实时操作系统功能简介 ARM-LinuxARM-Linux嵌入式操作系统内核实验嵌入式操作系统内核实验29嵌入式实时操作系统内核重要特性嵌入式实时操作系统内核重要特性p嵌入式实时操作系统内核的重要特性嵌入式实时操作系统内核的重要特性n实时性实时性n可裁剪、可配置性可裁剪、可配置性n可靠性支持可靠性支持n应用编程接口支持应用编程接口支持n可移植性可移植性30嵌入式实时操作系统内核实
29、时性能指标嵌入式实时操作系统内核实时性能指标p嵌入式实时操作系统内核的实时性能定量指标包括嵌入式实时操作系统内核的实时性能定量指标包括任务上下文切换时间任务上下文切换时间中断延迟时间中断延迟时间中断响应时间中断响应时间中断恢复时间中断恢复时间任务响应时间任务响应时间 31嵌入式实时操作系统内核实时性能关键指标嵌入式实时操作系统内核实时性能关键指标p最大中断禁止时间最大中断禁止时间n反映内核对外界停止中断响应的最长时间反映内核对外界停止中断响应的最长时间p任务上下文切换时间任务上下文切换时间n系统中最频繁发生的动作,影响整个系统性能系统中最频繁发生的动作,影响整个系统性能n包括:保存当前任务上下
30、文、选择新任务,及恢复新任务上包括:保存当前任务上下文、选择新任务,及恢复新任务上下文三个阶段下文三个阶段32提高内核实时性的方法任务调度算法提高内核实时性的方法任务调度算法p嵌入式实时操作系统抢占嵌入式实时操作系统抢占式调度式调度n提高对关键性任务响应提高对关键性任务响应n关注最坏执行时间关注最坏执行时间n函数的可重入性设计函数的可重入性设计p 通用操作系统非抢占式调度通用操作系统非抢占式调度n公平和最小化任务平均响公平和最小化任务平均响应时间应时间n提高系统吞吐率提高系统吞吐率33提高内核实时性的方法可抢占内核提高内核实时性的方法可抢占内核p嵌入式实时操作系统可抢占内核嵌入式实时操作系统可
31、抢占内核n内核服务可响应中断内核服务可响应中断n中断退出后可进行调度中断退出后可进行调度p 通用操作系统不可抢占内核通用操作系统不可抢占内核n内核服务不能被中断内核服务不能被中断n内核服务可中断,但不调度内核服务可中断,但不调度低优先级低优先级内核服务内核服务ISR 高优先级高优先级 低优先级低优先级内核服务内核服务ISR 高优先级高优先级34提高内核实时性的方法内核关中断时间提高内核实时性的方法内核关中断时间p嵌入式实时操作系统嵌入式实时操作系统n小内核、微内核小内核、微内核n内核抢占点等技术内核抢占点等技术p通用操作系统通用操作系统n 内核规模大内核规模大n 中断禁止时间长中断禁止时间长R
32、TEMS的内核程序示例void _Thread_Resume(Thread_Control *the_thread,boolean force)ISR_Level level;States_Control current_state;_ _ISR_DisableISR_Disable(level);(level);-从该行代码开始关中断,进行内核互斥操作从该行代码开始关中断,进行内核互斥操作 if(force=TRUE)the_thread-suspend_count=0;else the_thread-suspend_count-;if(the_thread-suspend_count 0)
33、_ _ISR_EnableISR_Enable(level);(level);return;current_state=the_thread-current_state;if(current_state&STATES_SUSPENDED)current_state=the_thread-current_state=_States_Clear(STATES_SUSPENDED,current_state);if(_States_Is_ready(current_state)_Priority_Add_to_bit_map(&the_thread-Priority_map);_Chain_Appe
34、nd_unprotected(the_thread-ready,&the_thread-Object.Node);_ _ISR_FlashISR_Flash(level);(level);-该行代码为内核抢占点该行代码为内核抢占点 if(the_thread-current_priority current_priority)_Thread_Heir=the_thread;if(_Thread_Executing-is_preemptible|the_thread-current_priority=0)_Context_Switch_necessary=TRUE;_ _ISR_EnableIS
35、R_Enable(level);(level);-从该行代码开始开中断,结束内核互斥操作从该行代码开始开中断,结束内核互斥操作 35提高内核实时性的方法系统运行状态提高内核实时性的方法系统运行状态p许多嵌入式操作系统不划分许多嵌入式操作系统不划分“系统空间系统空间”和和“用户空间用户空间”,如,如VxWorks、RTEMS等,操作系统内核与外围应用程序之间不再等,操作系统内核与外围应用程序之间不再有物理的边界,系统中有物理的边界,系统中“进程进程”实际上都是内核线程。实际上都是内核线程。p操作系统、应用程序均运行在特权级别的优缺点:操作系统、应用程序均运行在特权级别的优缺点:p优点:减少由于空
36、间切换导致的执行开销,提高实时性。优点:减少由于空间切换导致的执行开销,提高实时性。p缺陷:应用程序可破坏操作系统内核,导致系统崩溃。缺陷:应用程序可破坏操作系统内核,导致系统崩溃。操作系统内核操作系统内核应用程序系统应用程序系统Ring0Ring0:特权级:特权级Ring1Ring1Ring2Ring2Ring3Ring3:用户级:用户级操作系统、应用程序操作系统、应用程序通用系统运行状态通用系统运行状态实时系统运行状态实时系统运行状态系统调用系统调用 陷入内核陷入内核36p不支持不支持虚拟存储虚拟存储:如果采用虚存技术,一个实时任务:如果采用虚存技术,一个实时任务执行的最坏情况是每次访存都
37、需要调页,如此累计起执行的最坏情况是每次访存都需要调页,如此累计起来的该任务在最坏情况下的运行时间是不可预测的,来的该任务在最坏情况下的运行时间是不可预测的,因此实时性无法得到保证。许多嵌入式操作系统不直因此实时性无法得到保证。许多嵌入式操作系统不直接支持虚拟存储管理技术。接支持虚拟存储管理技术。p不支持不支持动态内存分配动态内存分配:由于动态内存分配具有时间及:由于动态内存分配具有时间及分配结果的不确定性,因而在分配结果的不确定性,因而在强实时型强实时型系统(系统(OSEK)中采用静态内存分配方法,即在系统初始化时,为每中采用静态内存分配方法,即在系统初始化时,为每个实时任务划分固定的内存区
38、域,系统运行只使用内个实时任务划分固定的内存区域,系统运行只使用内存,而不再分配内存和释放内存。存,而不再分配内存和释放内存。提高内核实时性的方法存储管理机制提高内核实时性的方法存储管理机制37p资源有限等待资源有限等待:任务没能获得需要的资源会被阻塞。如果资源不:任务没能获得需要的资源会被阻塞。如果资源不是任务继续运行必备的,任务可选择有限等待该资源。是任务继续运行必备的,任务可选择有限等待该资源。提高内核实时性的方法任务互斥、同步提高内核实时性的方法任务互斥、同步p优先级逆转优先级逆转问题解决问题解决抢占式任务调度中的资源竞争:抢占式任务调度中的资源竞争:1997年年7月月4日,火星探路者
39、在火星表面成功着陆并进行观测,发回了各日,火星探路者在火星表面成功着陆并进行观测,发回了各种火星表面全景图,被大肆宣称为种火星表面全景图,被大肆宣称为“完美完美”。但是在着陆后的第。但是在着陆后的第10天,天,也就是开始采集气象资料后不久,探路者开始犯傻,反复无规律地重启,也就是开始采集气象资料后不久,探路者开始犯傻,反复无规律地重启,每次重启都造成了数据丢失,在每天的记者招待会上这都是记者们不会每次重启都造成了数据丢失,在每天的记者招待会上这都是记者们不会放过的最热门的话题。放过的最热门的话题。JPL(美国国家航空航天局喷气推进实验室)的工程师们花了相当多的时(美国国家航空航天局喷气推进实验
40、室)的工程师们花了相当多的时间在实验室仿真,希望能够再现引起重启的情况。几天过去了,一个清间在实验室仿真,希望能够再现引起重启的情况。几天过去了,一个清晨,几乎所有的工程师都走了,只剩下最后一位晨,几乎所有的工程师都走了,只剩下最后一位Mr.So-So的时候,火的时候,火星上那台探路者兄弟身上发生的重启情况终于被再现了。经过数据分析,星上那台探路者兄弟身上发生的重启情况终于被再现了。经过数据分析,得出了原因得出了原因优先级逆转优先级逆转。38提高内核实时性的方法提高内核实时性的方法优先级逆转问题优先级逆转问题p嵌入式实时操作系统嵌入式实时操作系统优先级逆转现象优先级逆转现象采用采用优先级继承优
41、先级继承协议消除协议消除39p中断嵌套处理中断嵌套处理:确保高优先级的中断能及时处理。:确保高优先级的中断能及时处理。p中断服务层次化中断服务层次化:对中断的处理,不需要完全由中断服务程序:对中断的处理,不需要完全由中断服务程序(ISR)进行处理,采用)进行处理,采用ISR与任务相结合的方法处理,如与任务相结合的方法处理,如eCos系统,分为两个层次进行:系统,分为两个层次进行:ISR、中断滞后服务程序、中断滞后服务程序DSR。ISR在响应中断时立即调用,在响应中断时立即调用,DSR由由ISR发出请求后调用。发出请求后调用。提高内核实时性的方法中断处理提高内核实时性的方法中断处理任务执行任务执
42、行ISRDSR1、ISR促使促使DSR就绪就绪2、ISR退出退出DSR参与调度参与调度中断请求中断请求40p可裁剪性可裁剪性:用以满足不同复杂程度的应用需求。嵌入式环境资源:用以满足不同复杂程度的应用需求。嵌入式环境资源配置及需求情况各异,一般只要求嵌入式操作系统的功能子集,配置及需求情况各异,一般只要求嵌入式操作系统的功能子集,因而需要裁剪掉部分功能,并保证功能的相对完整性。内核的可因而需要裁剪掉部分功能,并保证功能的相对完整性。内核的可裁剪程度取决与模块之间的耦合程度。裁剪程度取决与模块之间的耦合程度。p裁剪方法裁剪方法:模块级裁剪、函数级裁剪、代码级裁剪:模块级裁剪、函数级裁剪、代码级裁
43、剪p一个最小的多任务嵌入式软件包括:一个最小的多任务嵌入式软件包括:pBootloaderp具有任务管理及定时功能的基本内核具有任务管理及定时功能的基本内核p一个初始化任务一个初始化任务p可配置性可配置性:可根据应用需求,配置系统任务数目、调度算法、任:可根据应用需求,配置系统任务数目、调度算法、任务堆栈等。务堆栈等。嵌入式实时操作系统内核的可裁剪、可配置性嵌入式实时操作系统内核的可裁剪、可配置性41p裁剪裁剪目标:内核目标:内核 100K模块级裁剪:通过条件编译,裁剪不需要的模块,内核约模块级裁剪:通过条件编译,裁剪不需要的模块,内核约35K函数级裁剪:裁剪未被引用的函数函数级裁剪:裁剪未被
44、引用的函数代码级裁剪:修改代码,如代码级裁剪:修改代码,如合并功能相似函数合并功能相似函数优化算法实现方法优化算法实现方法降低模块耦合度,裁剪模块降低模块耦合度,裁剪模块未被引用函数未被引用函数嵌入式实时操作系统内核嵌入式实时操作系统内核裁剪裁剪举例举例VxWorks内部引用函数内部引用函数外部引用函数外部引用函数42代码级裁剪:降低模块耦合度,裁剪模块代码级裁剪:降低模块耦合度,裁剪模块嵌入式实时操作系统内核裁剪举例嵌入式实时操作系统内核裁剪举例VxWorks内核模块耦合性分析内核模块耦合性分析43p可靠性对于实时系统比非实时应用系统更为重要。可靠性对于实时系统比非实时应用系统更为重要。p嵌
45、入式实时操作系统内核提供诸多机制进行保障:异步信号、定嵌入式实时操作系统内核提供诸多机制进行保障:异步信号、定时器、异常处理、用户扩展、内存保护等。时器、异常处理、用户扩展、内存保护等。p典型内核可靠性增强技术:典型内核可靠性增强技术:p内存释放清理内存释放清理p冗余内存分配冗余内存分配p内存冗余编码内存冗余编码p内存保护增强内存保护增强p看门狗支持增强看门狗支持增强 嵌入式实时操作系统内核的可靠性嵌入式实时操作系统内核的可靠性44p每一个嵌入式操作系统提供的应用编程接口(系统调用)的功能每一个嵌入式操作系统提供的应用编程接口(系统调用)的功能和种类都不相同,种类越多、功能越强越好。和种类都不
46、相同,种类越多、功能越强越好。p应用编程接口的标准化:应用编程接口的标准化:pPOSIX(a Portable Operating System Interface based on Unix)实时系统标准,实时系统标准,POSIX1003.1c、1003.1dp汽车电子标准:汽车电子标准:OSEKp航空电子标准:航空电子标准:ARINC653(APEX接口)接口)p电气电子标准:电气电子标准:IEC61508p信息家电规范:信息家电规范:T-Kernel嵌入式实时操作系统内核的应用编程接口嵌入式实时操作系统内核的应用编程接口45pEAL/CC:CC安全评估是安全评估是1999年起效的一项国际
47、安全标准,共分年起效的一项国际安全标准,共分为为7级安全评估。级安全评估。VxWorks、Integrity均通过了均通过了EAL6+认证。认证。pDO-178B/ED-12B:美国航空无线电技术委员会(:美国航空无线电技术委员会(RTCA)提出,)提出,被美国联邦航空局被美国联邦航空局/欧洲航空管理部门接受的机载软件适航认证。欧洲航空管理部门接受的机载软件适航认证。VxWorks、Integrity、C/OSII均得到均得到Level A认证。认证。pOSEK/VDX:欧共体汽车产业联盟规定的汽车电子嵌入式系统标:欧共体汽车产业联盟规定的汽车电子嵌入式系统标准。风河的准。风河的MotoWor
48、ks、微软的、微软的Windows Automotive、Nucleus OSEK、OSEKturbo均得到认证。均得到认证。嵌入式实时操作系统的安全性认证嵌入式实时操作系统的安全性认证46课程大纲课程大纲 嵌入式实时操作系统概况嵌入式实时操作系统概况 嵌入式实时操作系统特点嵌入式实时操作系统特点 嵌入式实时操作系统功能简介嵌入式实时操作系统功能简介 ARM-LinuxARM-Linux嵌入式操作系统内核实验嵌入式操作系统内核实验47嵌入式实时操作系统内核基本功能嵌入式实时操作系统内核基本功能p嵌入式实时操作系统内核的基本功能嵌入式实时操作系统内核的基本功能n实时多任务管理实时多任务管理n中断
49、与异常管理中断与异常管理n共享资源互斥管理共享资源互斥管理n多任务同步与互斥多任务同步与互斥n内存管理内存管理n时钟定时器管理时钟定时器管理n电源管理电源管理48p1970年,美国年,美国UIUC大学的大学的C.Liu、Jane教授建立了教授建立了RTSL(real time system lab)实验室。)实验室。p1973年,年,C.Liu、Layland在在ACM杂志上,提出并分析杂志上,提出并分析了单调速率调度算法(了单调速率调度算法(Rate Monotonic,RM)和时)和时限调度算法(限调度算法(Deadline),开辟了实时系统抢占式任),开辟了实时系统抢占式任务调度算法、可
50、调度性分析领域的先河。务调度算法、可调度性分析领域的先河。实时内核基本功能任务调度实时内核基本功能任务调度49p在实时任务抢占式调度算法中,根据任务的优先级确定时机,在实时任务抢占式调度算法中,根据任务的优先级确定时机,实时任务调度算法可分为静态调度和动态调度两类。实时任务调度算法可分为静态调度和动态调度两类。实时内核基本功能实时任务调度算法分类实时内核基本功能实时任务调度算法分类实时任务实时任务调度算法调度算法静态调度算法静态调度算法动态调度算法动态调度算法执行时间相关执行时间相关任务周期相关任务周期相关任务任务CPU使用率使用率任务紧急程度任务紧急程度截止时间优先(截止时间优先(EDF)最