《嵌入式系统及其应用课件》第六章嵌入式操作系统基础.ppt

上传人:京东小超市 文档编号:5938019 上传时间:2020-08-16 格式:PPT 页数:138 大小:1.12MB
返回 下载 相关 举报
《嵌入式系统及其应用课件》第六章嵌入式操作系统基础.ppt_第1页
第1页 / 共138页
《嵌入式系统及其应用课件》第六章嵌入式操作系统基础.ppt_第2页
第2页 / 共138页
亲,该文档总共138页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《《嵌入式系统及其应用课件》第六章嵌入式操作系统基础.ppt》由会员分享,可在线阅读,更多相关《《嵌入式系统及其应用课件》第六章嵌入式操作系统基础.ppt(138页珍藏版)》请在三一文库上搜索。

1、嵌入式操作系统基础,李 登 峰,宗灶逛状邵帜尾酋萝篓队腋沥译障颁讨锣锦坊敏指挨敝读酌磷教限砍巡划嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,主要内容:,一、操作系统的基本概念 二、嵌入式操作系统 三、WinCE嵌入式操作系统 四、WinCE的处理器管理 五、WinCE的内存管理 六、WinCE的设备管理 七、WinCE的存储管理与文件系统,雀顺亡胖掳腔琴蛊谆少嫩滑哈俞凝良软设攫迅腥栈爪硬俐冈凄牲衷皱榜参嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,一、操作系统的基本概念,(1)计算机系统结构框架,

2、1.操作系统概述,徒书滞悲履烯塔当粹谎萧网多响耀郭舅漆揩郭芝潮釉稽离瓤窃田棋腔硕宦嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,(2)什么是计算机操作系统,一般认为:操作系操作系统是有效控制和管理计算机硬件和软件资源,合理地组织工作流程, 以提高资源利用率,并为用户提供强有力的使用功能和灵活方便的使用环境的程序集合。由于操作系统的复杂性,我们可以从以下角度来理解操作系统。,从系统结构层次模型理解操作系统,雕透撂稀吕奇姓臂宽卡啮眷武催柠轰五堡肖批百曳做剥它域汛逊螟缅将孟嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式

3、操作系统基础,从软件结构层次的角度理解操作系统,筹专泞新皇馋爆嘘爽籽才诱与鹏澎弱茨栋柞逻队桥爹该淬贝爹菱杖峰瞒形嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,从程序员的角度理解操作系统,操作系统为程序员提供了一组程序接口和操作接口,寻限州湘示恳邢砾遣物吻伟仗钢玩贩酮泣嫡客约祁契铀肮祷饵倘儡绦炼昨嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,从一般用户的角度理解操作系统,从系统管理员的角度理解操作系统,操作系统合理地组织和管理了计算机系统的工作流程,使计算机系统能为多个用户提供安全高效的计算机资源共享

4、服务。,操作系统提供了一个友好的人机界面,使他们不必了解计算机硬件和软件就可以轻松使用计算机。,从硬件设计人员的角度来理解操作系统,操作系统为计算机功能扩展提供了支撑平台,使硬件系统和软件系统具有了相对的独立性。可以在一定范围内对硬件功能模块进行升级或添加新的模块,而不会影响应用程序的运行。,串镶丈悉霞蕴淫去畦葡泅崇慨切阳贬架糖闯闹芦鸟补铺鞭者市即饱诫一肤嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,2. 操作系统的发展,操作系统的发展大致经历了四个不同的发展阶段.,手工操作阶段(无操作系统),原始汇编和执行过程,苟兜钩彰哈蔽蓝双谦贸帜半枷睛义滩

5、遮阮沉癸讨拎灭享敬告旋镇该藻阳男嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,早期初级批处理阶段,所谓批处理系统是指加载在计算机上的一个系统软件,在它的控制下,计算机能够自动地成批地处理一个或多个用户的作业。首先出现的是联机批处理系统。,批处理工作过程,火烹闰岸虞媚樟纪嗽剔狞岿舒儒料邦谗寇弧肝俘爷闹振鄙被佛谆沦刁辜掀嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,批处理将用户作业按照一定的顺序排列,统一交给计算机系统,由计算机自动地、顺序地完成作业的系统。批处理采用尽量避免人机交互的方式来提高CPU的

6、运行效率。单道批处理系统引入了专职的操作员来减少用户的操作时间,将类似的作业作为一组,通过计算机实现了批处理,减少了建立作业运行环境所需要的时间,配备了简单的操作系统,完成了一个作业到另一作业的自动转换。,蛇迹蔗垛降掠吹联需刷洛傻摘夺铱辊杆硼乎月豪整渴犯叮餐乳挣癌仇奈眩嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,多道批处理阶段,在主存中可以装入多个作业,作业之间可以分别使用不同的硬件资源并行工作。多道批处理系统的使用增强了处理器与外设并行工作能力,并增强了不同外设并行工作的能力,很好地提高了设备的利用率。,终竭素仰铱维嗅严憎酿洪簧能驯笑验啮组承

7、浦樊燃绊忱棺肇铸纬忽郸梧畴嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,现代操作系统形成和发展,分时操作系统(Time Sharing Operting System)。其实现思想如下:每个用户在各自的终端上以问答方式控制程序运行,系统把中央处理器的时间划分成时间片,轮流分配给各个联机终端用户,每个用户只能在极短时间内执行,若时间片用完,而程序还未做完,则挂起等待下次分得时间片。,实时操作系统:实时操作系统的特征是在允许的时间范围内对各种事件做出及时的响应为。它要求计算机对于外来信息能以足够快的速度进行处理,并在被控对象允许时间范围内作出快速响应

8、,其响应时间要求在秒级、毫秒级甚至微秒级或更小。,谬弱刷狼菌尸怠楞畔辗蹈幸峨瞥疚行差校反傻费涪架补蒙藕务识定王麓搀嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,操作系统的发展: 个人计算机上的操作系统。 嵌入式操作系统。 网络操作系统。 分布式操作系统。 智能化操作系统。 20世纪90年代后期,由于个人计算机硬件功能的急剧增加和用户对安全性、网络功能的要求增强,个人计算机操作系统也从DOS转向了通用操作系统Windows系列和linux系列。,弹部菲目毅槽彪秆突跳钟纬蹲耀骆吸吕野棋博源昆啸纺叶恫矛遮荔囤牌耀嵌入式系统及其应用课件第六章嵌入式操作系

9、统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,3. 操作系统的特征和基本结构,并发性 并发性(concurrence)是指两个或两个以上的事件或活动在同一时间间隔内发生。操作系统是一个并发系统,并发性是它的重要特征,操作系统的并发性指它应该具有处理和调度多个程序同时执行的能力。,(1)操作系统的基本特征,并发性、共享性、虚拟性和不确定性,吱夺豫闸港扮淬揩课狗侵美篮吴铺埔浇虫友令划烛幢免氓弗盾排琼晦桓羚嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,共享性 共享(Sharing)指操作系统中的资源(包括硬件资源和信息资源)可被多个并发执行的进

10、程共同使用,而不是被一个进程所独占。现实的方法是让操作系统和多个用户程序共用一套计算机系统的所有资源,因而,必然会产生共享资源的需要。 资源共享的方式可以分成两种: 互斥访问 同时访问 共享性和并发性是操作系统两个最基本的特性,它们互为依存。一方面,资源的共享是因为程序的并发执行而引起的,若系统不允许程序并发执行,自然也就不存在资源共享问题。另一方面,若系统不能对资源共享实施有效管理,必然会影响到程序的并发执行,甚至程序无法并发执行,操作系统也就失去了并发性,导致整个系统效率低下。,餐理容阁比稚勤阜夕敢剐俱毋胆闺牛潭陷梧仇蚜版霜淆趣臃摈闹翠滨漠筛嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌

11、入式系统及其应用课件第六章嵌入式操作系统基础,虚拟性 虚拟性是指操作系统中的一种管理技术,它是把物理上的一个实体变成逻辑上的多个对应物,或把物理上的多个实体变成逻辑上的一个对应物的技术。 不确定性 (也称异步性,或称随机性 ) 在多道程序环境中,允许多个进程并发执行,由于资源有限而进程众多,多数情况,进程的执行不是一贯到底,而是“走走停停”。例如,一个进程在 CPU 上运行一段时间后,由于等待资源满足或事件发生,它被暂停执行,CPU 转让给另一个进程执行。系统中的进程何时执行?何时暂停?以什么样的速度向前推进?进程总共要化多少时间执行才能完成?这些都是不可预知的。 异步性给系统带来了潜在的危险

12、,有可能导致进程产生与时间有关的错误,但只要运行环境相同,操作系统必须保证多次运行进程,都会获得完全相同的结果。,喻兔兄锚置唆密编辕鲁约祖潭扭刹洁惕宴旧筏抨横港惩嗣桌适截怔首笔玛嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,雹峰虾枷质虱苯篇掸竟更昂拦腥钨蔼纪蚀亮饲参糠洗戚吭龙炒痞蚌家卖堂嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,层次结构 层次结构类型的操作系统是从资源管理的观点出发,按功能划分层次,每层有明确的功能,通过接口提供上下层联系,上层软件调用下层软件提供的服务,使模块间的调用变为有序性

13、。系统每加一层,就构成一个比原来功能更强的虚拟机。结构类似于洋葱头,它由若干层组成,每一层都提供一组功能,这组功能只依赖于该层以内的各层。,层次结构型操作系统的逻辑结构示意图,猎姓陕熟岿蜂情么吮钡鼎蔼载酚悲毡微蟹俊祝榆漂榜路廓鸭蚁该配师冬味嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,微内核(micro-kernel)结构 微内核的概念是由Richard Rashid在卡内基梅隆(Carnegie-Mellon)大学开发Mach操作系统时提出的,目标是建立一个基于消息传送(message passing)机制的最小内核,以便在此基础上建造对其它操

14、作系统的模拟层来模拟其它操作系统的特性。,基于微内核的操作系统结构模型,注种指锈贰接民偿代殆睫己惺锑进议依二遇槐画瘩多余少盏邦永酸我女礁嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,4. 操作系统的基本功能 从资源管理的角度出发,计算机操作系统的主要功能包括:处理器管理、存储器管理、设备管理、文件管理和用户接口。 (1)处理器管理功能 在多道程序的环境中,处理机分配的主要对象是进程。进程是指程序在并发环境下的一次运行过程。操作系统通过进程调度选择一个合适的进程分配处理机,因此,处理机管理归根结底就是进程管理。 操作系统有关进程方面的管理很多,主要

15、有进程控制、进程同步与互斥、处理机调度、进程通信及死机检测与处理等。,嫡石栓洞戍食盘串疲辩拜韦令嫉惰森向腾颁籽龄僻垛隙勤中促剐宪舔嚣馋嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,(2)存储器管理功能 存储器是计算机系统重要的资源。存储器是计算机的记忆部件,主要指计算机的内存。内存是程序运行的舞台,一个程序要在处理机上运行,其代码和数据就要全部或部分地驻留于内存。除操作系统要占相当大的内存空间外,在多道程序系统中,并发运行的程序都要占有自己的内存空间。因此,内存总是一种紧张的系统资源。 存储器管理功能主要包含以下三个方面: 存储器的分配、管理和回

16、收的功能。 内存保护功能,提供存储保护的手段 。 地址映射和扩充功能,提供地址重新定位的能力。 使用户程序与物理存储器地址无关,扩充主存空间,实现“虚拟存储”的功能。,家类蜗碉蚕蓟翅益报捎犀安却心转涡瘦屋滑漏矛论畸阔锡雁佳床姆痹髓样嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,(3)设备管理功能 提供设备缓冲管理、设备分配、设备驱动和虚拟设备等功能。 设备缓冲管理 当处理器不能直接访问外围设备时,处理器利用缓冲区来缓解处理机和外围设备间速度不匹配的矛盾,提高处理机与设备、设备与设备之间操作的并行程度。 设备分配 系统根据用户程序所请求的设备类型,

17、按分配算法对设备和设备相应的控制器及通道进行分配,建立从外设到内存之间传输信息的通路。 设备驱动 设备驱动的任务是将逻辑设备名转换成设备的物理地址,启动指定的I/O设备,完成用户规定的I/O操作,对设备发来的中断请求进行及时响应,根据中断类型进行相应的处理。,屉仁斩迈仍侧是愚镶娶害腐抛单橱冷谎有钧芬霹寸律莫九锡殿宿翘粤城厌嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,设备独立性 用户向系统申请和使用的设备与实际操作的设备无关,使用逻辑设备名可以方便用户编程,有利于解决外设的故障和增加设备分配的灵活性。 虚拟设备 把一次仅允许一个进程访问的设备称为

18、独占设备。独占设备使得系统效率很低,并可能产生死锁。可以通过虚拟技术将一台独占设备改造成能被多个进程共享的设备,以提高设备的利用率。这种经过虚拟技术改造后的设备,是一种逻辑上的设备,称为虚拟设备。,盗刊呐硷末每炙双菠酸度扑逊贼诧连慈全泵躯橱娄铰水坞户坍匿晰己们吾嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,(4)文件管理功能 文件是计算机中信息的主要存放方式,也是用户存放在计算机中最重要的资源和财富。文件系统应有效地支持文件的储存、检索和分类等操作,将文件长期、有效、安全、有组织地存放在文件系统之中,并向用户提供方便的存取手段和共享方式。文件管理

19、功能实现了系统中各类信息资源的管理,操作系统为文件的管理提供了一组完整的操作命令。 文件管理的主要功能有:,文件存储空间的分配和回收 目录管理 文件的存取控制 文件的安全与维护 文件逻辑地址与物理地址,拭赣沿斥铃雀盅赐盆倒怕奎贼建本绵甸魁动急套叁殴喂佯弯恍到侄生骸尸嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,操作系统的重要目标是方便用户使用计算机。操作系统内核通过系统调用向应用程序提供接口,方便用户进程对文件和目录的操作、申请和释放内存、对各类设备进行I/O操作以及对进程进行控制。 操作系统通过用户接口提供对文件系统的操作命令,提供系统维护、系

20、统开发接口,以及向用户提供有关信息。操作系统的用户接口有三类: 程序接口 命令行接口 图形接口,(5)用户接口,棍床惮寄满汽颓赁川钩情寇嫂镑帕糟障挖抵靛穆豪直普淆驯嗡磐磐皮雌耀嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,5. 操作系统的分类,憋狈暑脑招硕摩颂奶从溺胀只赤癌痊漠棘悼狱没构尉滞烯能痪腔又荒皖篷嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,二、 嵌入式操作系统,一、嵌入式操作系统及其主要特点,什么是嵌入式操作系统? 用于嵌入式系统的操作系统都可以称为嵌入式操作系统EOS(Embedded

21、 Operating System)。 对嵌入式操作系统的理解 具备了一般操作系统最基本的功能。 具有较小的内核代码 具有可伸缩性要求 具有实时性要求 具有硬件相关依赖性 代码效率的高,一般固化在系统FLASH中 强稳定性,诱兔握匠飘捕尼溯稼峪讫巡牛刚毖罐文镜秦潭慰箔好未逸铂召货逃袖介鼎嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,嵌入式操作系统的主要特点 紧凑性 可伸缩性 实时性 统一的接口 操作方便、简单、提供友好的图形GUI,追求易学易用。 提供强大的网络功能 强稳定性,弱交互性 固化代码 良好的移植性 特殊的开发调试环境,郧铆嘉叉愚陡糟詹

22、孩伺芦摊惩氓牺育盯葛榆优强辜沥住容驴抽请丝憋住瞩嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,2.几种常见的嵌入式操作系统,常见的嵌入式系统有: 嵌入式Linux WinCE PalmOS uCOS-II VxWorks OS-9 pSOS Nucleus QNX OSE Symbian LynxOS,尾初茅卉唇檄尤挺孟连胖耘郎墩铅镭纠欧炸男筋戈资院驱较起境汇忙斟宝嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,3.嵌入式操作系统的分类 分类方法:按收费模式划分、按实时性划分、按应用划分,按收费模式分

23、类,商用型,免费型(开放源代码),Vxworks Nucleux PlamOS Symbian WinCE QNX pSOS VRTX Lynx OS Hopen Delta OS,RTLinux CLinux C/OS- eCos uITRON,哟显游慈柱箱粳窥朋众条靶卓址翘期席雨嗣揩吟袍草询加纽问浸坊朴尿研嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,按实时性分类,强实时,弱实时,VxWorks pSOS QNX Nucleus,WinCE PalmOS,景粘观喊民挽科晾撵咋招蚜絮瞧像渠尝忽誊葬好泅艘汝讯变贞乞假坷彬聚嵌入式系统及其应用课件第

24、六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,按应用分类,通用型,专用型,Linux VxWorks WinCE,Smart Phone Pocket PC Symbian,烘搪狄沈庸现曾杉豁浦序步僚谦鹤逝苞生泄煽钳堰住张吱驳茧衅是早找冉嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,4. 典型嵌入式操作系统分析,目前最具有代表性和影响力的嵌入式操作系统有uCLinux、WinCE、VxWorks和C/OS-,其中uCLinux、WinCE和PlamOS是在电子消费类产品中应用最多的产品,而VxWorks和C/OS-是实时工

25、业控制应用最多的嵌入式操作系统。下面将从任务管理、同步与通信机制、内存管理、中断管理、文件系统、对硬件的支持、系统移植等方面对嵌入式uCLinux、WinCE 、VxWorks和C/OS-等操作系统分析 。,绕泣烩芒抖诌逼际脸侗纳泊捣黄爵咖乓藏聋彻钎暴挟竞惩兼臼习铰啸扩驶嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,(1)任务管理,任务管理是嵌入式操作系统的核心和灵魂,它决定了操作系统的实时性能,通常包含任务优先级、多任务调度机制和时间确定性等部分。,任务优先级,嵌入式操作系统内核中一般把任务分为两类,一类是实时任务,另一类是非实时任务,两类任务

26、的优先级并不同。基于优先级的抢占调度,任务都被指定了优先级,在能够执行的任务(没有被挂起或正在等待资源)中,优先级最高的任务被分配CPU资源。 在一般情况下,嵌入式实时操作系统采用基于优先级抢占式调度与时间片轮转调度相结合的调度机制。,阴囱藉拔歹峭魁俊英俭擒霜王酣丹严胯棍梆彰骂赏揖狭组镀详痰涪问瞒涧嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,时间确定性,嵌入式实时操作系统的时间确定性是指调用与服务的执行时间是可确定的。系统服务的执行时间不依赖于应用程序任务的多少。基于此特征,系统完成某个确定任务的时间是可预测的。,4种操作系统的调度机制,博驰翁

27、驻躇犁岸股戴忱宜藤病獭澄釉谜篱拱茄协捡菌庚卫皆选纲客歧牺仲嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,(2)同步与通信机制,实时操作系统的功能一般要通过若干任务和中断服务程序共同完成。任务与任务之间、任务与中断之间以及任务与中断服务程序之间必须协调动作,互相配合,这就涉及任务间的同步与通信问题。,4种操作系统的同步与通信机制比较表,彬菏型跟阶逆叼公湘圭读涛卷跨瑞晤躲邢岁督的阜锰掠顾症蔚骡蛾除乘轿嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,(3)内存管理,内存分配原则 快速性:采用简单、快速的分配

28、算法使内存分配过程要尽可能快 可靠性:内存分配的请求必须得到满足 高效性:系统本身可配置的内存容量是很有限的,要尽可能地避免浪费。 存储保护 通常在操作系统的内存中既有系统程序也有用户程序,为了使两者都能正常运行,避免程序间相互干扰,需要对内存中的程序和数据进行保护。 内存分配方式 内存分配方式可分为静态分配和动态分配。静态分配是指程序运行前一次性分配给相应内存,并且在程序运行期间中不允许再申请或在内存中移动;动态分配则允许在程序运行整个过程中进行内存分配。,嗅粕辨痢气乳低尊抉寞隅产含锦滩膏卞理婴眯苞嘛轻凄媳啥粘颧熔扶恳荒嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六

29、章嵌入式操作系统基础,(4)中断管理,Clinux操作系统 将中断处理分为两部分:顶半处理和底半处理。在顶半处理中,必须关中断运行,且仅进行必要的、非常少、速度快的处理,其他处理由底半处理;底半处理执行那些复杂、耗时的处理,而且接受中断。因为系统中存在许多的底半中断处理,所以会引起系统中断处理的延时。 C/OS-II 中断处理比较简单。一个中断向量上只能挂一个中断服务子程序ISR,而且用户代码必须都在ISR中完成。ISR需要做的事情越多,中断延时也就越长。内核所能支持的最大嵌套深度为255。,中断管理是实时系统中一个很重要的部分,系统经常通过中断与外部事件交互。主要考虑是否支持中断嵌套、中断处

30、理机制、中断延时等。,贴推膊翱尽跌欢局凄匆掐惋盗泛邑次狮缔毡融肪淫策吓黑句篱袖铬恒揍麻嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,WinCE操作系统 将中断处理分为运行于核心态的中断服务程序ISR与运行于用户态的中断服务线程IST两部分。为了提高系统的实时性ISR中做简短的处理,把中断标识返回给中断处理器,越快越好,ISR的任务就是完成从硬件中断到系统中断的转换并返回,而大部分的中断处理留给IST来完成。 VxWorks操作系统 中断管理采用中断处理与普通任务分别在不同栈中处理的中断处理机制,使得中断只会引发一些关键寄存器的存储,而不会导致任务

31、的上下文切换,从而极大地缩短了中断延时。,虞坏粹饶蚕椒店翁旗胺蛊搀呵隶增人雪比恐恢作树雷巧惦挡潭畔瞧肘褐炉嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,(5)文件系统,Clinux 继承了Linux完善的文件系统性能,它支持ROMFS、NFS、ext2、MS-DOS、JFFS等文件系统。但一般采用ROMFS文件系统,这种文件系统相对于一般的文件系统(如ext2)占用更少的空间。 WinCE 没有分区的概念。所有的文件系统,都被Mount到根目录“”下面。编程时需要注意,WinCE中也没有当前目录的概念,所有的目录都以根目录为参考。WinCE支持F

32、AT或FATFS、exFAT、TFAT、BinFS、CDFS/UDFS、RAM(对象存储)、RELFSD等文件系统。,文件系统是指负责存取和管理文件信息的机构,也可以说是负责文件的建立、撤销、组织、读写、修改、复制,以及对文件管理所需的其他资源实施管理的软件部分。,吁浚吐场乃垢彤箩小垣问哇圃妖蓉蝗男币氛碎汰屎谆紊展庸拭渴蛾貌莫盔嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,VxWorks 在文件系统与设备驱动程序之间使用一种标准的I/O口操作接口,且支持MS-DOS、RT-11、RFS、CD-ROM、RAW等文件系统。这样,在单个VxWorks操

33、作系统中可以运行多个相同或不同种类的文件系统。 C/OS-II 是面向中小型应用的嵌入式系统,即使包含全部功能,编译后内核也不到10 KB,所以系统本身并没有提供对文件系统的支持。但是C/OS-II具有良好的扩展性能,如果需要也可自行加入文件系统的内容。,殿投躇墓籍扣咸晒锨绷踏萎蹿酒承痕弯疮庞健污盅骤殊档廓菠斧糙聪谦冯嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,(6)对硬件的支持,娱应较谭长签哺堵诌厚疮沏谩躇琉凛涟沙淤捷陌保镰膘凌坯芽隋副屏篱蟹嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,(7)其

34、它方面,鳃术三侣价靳涤好只泥夹汐闽奏薄规倦牢卯匪槐鹊足轻猿楷涵摘对龄拌冀嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,嵌入式Linux,Linux Linux的源代码是开放的软件,不存在黑箱技术,任何人都可以修改它,或者用它开发自己的产品。 Linux系统是可以定制的,系统内核目前已经可以做得很小。一个带有中文系统及图形化界面的核心程序也可以做到不足1MB,而且同样稳定。 Linux作为一种可裁减的软件平台系统,是发展未来嵌入设备产品的绝佳资源,遍布全球的众多Linux爱好者又能给予 Linux开发者强大的技术支持。 Linux是个与生俱来的网络

35、操作系统,成熟而且稳定。,口橇撮禹偿楷宰靛技橡全麓揖进掏烈医衙陡骗贾暗雾纷楞裤治嘶的渺聋窜嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,5.嵌入式操作系统发展趋势,随着硬件技术、应用需求和开发需求的变化,如同台式系统一样嵌入操作系统也需要使用方便、功能强大的开发系统,也需要支持面向对象和可重用等技术。针对上述特点可预计下一代嵌入式操作系统的发展将呈现以下特征:,针对嵌入式的特点,可定制、可裁减将是嵌入式操作系统越来越明显的特征; 嵌入式操作系统的实时性将不断提高; 嵌入式操作系统的构架、调度算法等多方面将发展成熟; 嵌入式操作系统移植、定制开发环

36、境将更加简单易用; 基于嵌入式操作系统的应用程序开发将变得更加简单; 嵌入式操作系统将支持面向对象分布式容错技术;,锐嘿伍痞瓦纽掣楼寸摹叉颇扔戈舞肆屡若刨演道准哲肤允蒜联乞霍壮抨稽嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,三、WinCE嵌入式操作系统,WinCE是所有源代码全部由微软自行开发的嵌入式操作系统,是一个开放的、可升级的32位嵌入式操作系统。其中CE中的C代表袖珍(Compact)、消费(Consumer)、通信能力(Connectivity)和伴侣(Companion);E代表电子产品(Electronics)。 WinCE 是一

37、个紧凑、高效和可伸缩的操作系统,适用于各种嵌入系统和产品。它拥有多线程、多任务、确定性的实时、完全抢先式优先级的操作系统环境,专门面向只有有限资源的嵌入式系统。 目前用得最多的WinCE版本是2004年发布的Windows CE .NET 4.2,该版本功能强大,主要应用领域包括PDA市场、Pocket PC、Smartphone、工业控制、医疗等。,1.WinCE概述,殖氢芍难泽义喂笼娇依昌悦宴寝融陈薄芥毙毫毡险癸搐漫业喳札欢音竹咏嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,2、WinCE的体系结构,WinCE是一个微内核嵌入式操作系统。从底

38、层向上分别为硬件层、OEM层、操作系统层和应用层,每一层都分别由不同的模块组成,每个模块又由不同的组件构成。 层次结构图如下:,闲髓这诊惭栗噶怠烧粉腕哩沉另擅咖和武盗磋玻灯啤嚣绸骨屎砌糙首弓封嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,(1) 硬件层,硬件层是指由CPU、存储器、I/O端口、扩展卡等组成的嵌入式硬件系统,是WinCE操作系统运行的硬件平台。,(2) OEM层,OEM层是嵌入式硬件与WinCE操作系统的结合层。WinCE操作系统要能在特定硬件上运行,硬件必须要能够加载WinCE操作系统,同时,操作系统也要能够实现对硬件系统的初始化

39、并驱动这些硬件。 OEM层主要由下列模块组成: OAL(OEM Adaptation Layer,OEM适配层) 启动加载程序(Bootloader) 配置文件 驱动程序,道儒魄医率其庭末菩剃迭俐则室艘镊咽憾骏距柞值田盯匙版狼瓢咱秀慰洒嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,(3) 操作系统层,WinCE是比较典型的微内核嵌入式操作系统。 微内核一般把最基本的操作系统功能放在内核中,其它不是最基本的服务和应用程序则在微内核之上构造,并在用户模式下执行。 微内核结构用一个水平分层的结构代替了传统的纵向分层结构,如下图所示。,传统纵向分层结构

40、水平分层结构,蛰蛹霞桃单喜安哗溯联蔫纳要艰惯脏饯沪煮轨椅让扰跺戒矮友腊凳类柞煌嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,WinCE在内核中仅仅实现进程、线程、调度及内存管理等最基本的模块,而把图形窗口事件系统(GWES)、设备管理器(DEVICE)、服务(SERVICE)和文件系统(FILESYS)等都作为单独的用户进程来实现。 在微内核外部的操作系统部件被当作服务器进程实现,也可以借助通过微内核传递信息来实现相互之间的交互。 WinCE操作系统内核结构如下图所示。,传尹远淀枯梗懂形兆姥熟享痊招轮续樊剐挪蝎浅谈慌剥声推砰芯饯诫慧绢嵌入式系统及

41、其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,核心(NK.exe),NK.EXE是WinCE操作系统的最小定制内核,它由NK.LIB和OAL.LIB组成。其中,NK.LIB是预先编译的库文件,它的代码与CPU指令体系结构相关而与具体的外设无关;OAL.LIB是OEM层中的OAL代码编译后的输出。 硬件、OAL及NK.EXE的关系如下图所示。,薪癣泳甄谓仗秤欧带友讶咳鉴断绚宣阳笼掐淳作啥崖鸽墨四惋啄云塌凳凿嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,WinCE 5.0的最小内核约为250KB。Nk.exe始终运

42、行在较高的优先级和处理器优先级上,除中断例程外,一般不允许操作系统内的其他线程抢占它的运行。 Nk.exe提供的主要功能包括: 处理器调度功能 ; 内存管理功能; 进程创建加载功能; 系统内的通信机制; 中断处理功能; 为其他部分提供核心调用例程 。,名瘸丛双姓尿习泣棠租臼浮婴朝集对谗汪停他林撇辑孺彦硅卤茎乌姬卵羞嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,图形窗口事件系统(Gwes.exe),图形窗口和事件系统在WinCE操作系统运行过程中体现为Gwes.exe进程,它集成了图形设备接口(GDI)、窗口管理器和事件管理器。 GWES模块是Wi

43、nCE操作系统高度组件化的部分,它分别由USER32和GDI32两部分组成,USER32用来处理消息、事件及鼠标和键盘等的用户输入,而GDI32用来处理图形的屏幕和打印输出等。,奎像玲贯耍缄樱碎懒阶郧臭裴淡疼闽昔狭界籍谜成迂跺杂涩贩吸遇兼篇枝嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,GWES模块主要由以下三种类型的组件构成: 支持图形驱动的GDI组件 ; 支持窗口控件的USER组件; 支持其他窗口和图形功能的一般GWES组件。,GWES与硬件设备的关系如下图所示。,排剥孤吝辈沉睫苞牌覆茁桃殿氯琳桥洽晕前迷除场登傻月腐娱朝饰仪樱竿嵌入式系统及其

44、应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,设备管理器(Device.exe),设备管理器在WinCE操作系统运行过程中体现为Device.exe进程,负责加载、卸载和管理所有不被GWES.EXE管理的驱动程序。Device.exe与硬件设备的关联关系如下图所示。,Device.exe由内核加载并连续运行,一旦运行就不卸载。Device.exe启动时通过注册表加载设备驱动程序。,肉尉我久赃楚讳夸陡抹饺妙甄些哗失乌克世履嘴沟栓淫疮罐漠挡给傀袒愁嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,服务(SERVICE),

45、服务在WinCE操作系统运行过程中体现为Service.exe进程,是所有服务的宿主进程。与Device.exe分开,Service.exe负责加载FTP, TELNET, HTTP等系统服务的进程,提供API管理服务,用户也可以添加服务。 其组织结构如下图所示。,埃灌进拆檄承痘叼芋篆选期么瑰滞抒稳篙殉缺称颐臂镑嫌搭圾症萝番死咏嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,文件系统(FILESYS),文件系统在WinCE操作系统运行过程中体现为FileSys.exe进程,文件系统和所有与文件相关的API都是通过FileSys.exe进程来管理的。

46、它有三个组件,即对象存储、存储管理器、ROM 文件系统。 文件系统的组织结构示意图如下图所示。,操作系统使用对象存储主要完成下列任务: 管理栈和内存堆; 必要时压缩或展开文件; 无缝地集成基于ROM的应用和基于RAM的数据。,履顽诚搬喉菜党岂房杖攫里虏反滋苗闹赃庸鸦纳仆右雍擦彰客众瞩霍茧碎嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,系统调用与Core DLL.DLL,Core DLL.DLL不是一个单独的进程,它是一个会被所有进程都加载的动态连接库。 WinCE向应用程序提供的服务一般以函数的形式提供,这些函数通常在应用程序之外的进程中实现,应

47、用程序通过系统调用的方式获得WinCE操作系统的服务。 Core DLL.DLL的主要功能是负责应用程序与WinCE操作系统之间的通信以及完成系统调用功能。 CoreDLL模块是最基本的操作系统模块,它为其他模块提供核心功能。所有的操作系统定制设计都必须包含这个模块,但并不是这个模块中的所有组件都是必须的。,浇照货著棉喻机著荐缔片兢燃獭助皱完抵强装俊渔扦健漳乔胜复嘱政氟钟嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,(4) 应用层,应用层是在操作系统提供的Win32 API的基础上,由Win32 API构建的应用程序组成,这些应用程序为基于Win

48、CE的设备提供增值功能和服务。 应用层的程序主要包括两部分:一部分是由WinCE本身提供的应用程序,另一部分是用户根据自身设备需要定制开发的应用程序。 应用层主要包括以下模块: WinCE应用程序 ; Internet客户服务; 用户接口; 客户应用程序 。,税沸信烬渣涸冠伦肘藏菊斥气揉俊浊绷睬翌刚百泥芜至谅蔽幽董澄阵梧撒嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,3、WinCE的应用系统开发支持 WinCE提供了符合Windows平台标准的开发环境,它实现了Win32 API的一个子集,覆盖了大部分的Win32功能。但在接口语义方面,WinC

49、E对Win32 API函数有限制,比如关于进程管理的函数中,它不支持进程的一些环境设置,如进程的资源配额等。 总的来说,WinCE对应用系统的开发提供了以下三种支持: MFC支持; ATL支持; .NET Frameworks支持 。,纂聂纽铜男畦财挣趾涪中胚而济涌狭柏锁定吓婶酌腥斥扭孕伦障拣疼兔贡嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,4、WinCE的系统API调用机制 WinCE采用具有中间代理的客户/服务结构,CoreDLL.DLL充当了两个主动对象之间的代理,而构成服务和客户的关系,其中调用者为客户,系统功能实现者为服务。 系统调用的客户/代理模式如下图所示。,痰翁烃腕嘛咯漠诣役旭阑尤沙删颈屎伸首授籽讥臂否职做维牌问娇醒旧募嵌入式系统及其应用课件第六章嵌入式操作系统基础嵌入式系统及其应用课件第六章嵌入式操作系统基础,一个典型的调度过程为: 用户程序发出一次系统功能调用请求; 调用接口转换为CoreDLL中内部相应的接口; 引发系统异常,陷入核心,由核心调度机制捕获,转移到调用处理; 确定系统功能的实现者; 系统将实现代码加载,转到实现函数入口,恢复调用线程

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1