文档详情

嵌入式系统基础教程第18讲第9章嵌入式操作系统概论.ppt

发布:2025-02-26约1万字共10页下载文档
文本预览下载声明

单内核(续)2008年6月24日南京大学计算机系*占内存空间大,缺乏可扩展性,维护困难,排除故障和增加新功能需要重编译优点系统花在内核功能切换的开销非常小,对外来事件反应速度快缺点单内核/微内核的内部结构图解2008年6月24日南京大学计算机系*单内核与微内核操作系统模块框架微内核2008年6月24日南京大学计算机系*基本思想是在内核模式中执行基本的核心操作系统功能,非基本的服务和应用构筑在微内核之上01微内核用水平架构代替了传统的垂直分层架构02设备驱动程序、文件系统、虚拟内存管理程序和窗口系统等以服务器进程方式工作。它们之间的相互作用变成了对等地通过微内核传递消息03微内核(续)2008年6月24日南京大学计算机系*突出特点01内核小巧,通常微内核只有任务管理、虚存管理和进程间通信3个部分02接口一致,所有进程请求使用统一接口,进程不需要区分内核模式和用户模式服务03各个功能模块之间松散耦合,只完成服务功能,系统管理功能交给一个或多个特权服务程序04基于客户/服务器体系结构,在微内核结构的操作系统中,任务间通信机制――消息机制是系统的基础05微内核功能扩充方便,但是各个功能之间的切换而引起的开销非常大。069.3RTOS常用的调度算法2008年6月24日南京大学计算机系*010203040506本节内容基于优先级的调度算法时钟驱动调度算法基于比例共享的调度算法非周期任务的调度优先级反转和对策基于优先级的调度算法2008年6月24日南京大学计算机系*1大多数实时系统采用该算法2该算法给每个任务分配一个优先级,在每次任务调度时,总是执行最高优先级的任务。3优先级驱动算法是事件驱动算法4在基于该算法调度的内核中,保存就绪任务队列的数据结构有几种,可以是位图,也可以是表格5根据不同的优先级指派方法,该调度算法可以分为静态实时调度和动态实时调度两种类型静态实时调度2008年6月24日南京大学计算机系*12543在系统编译的时候就做出决定从就绪任务队列中选择哪个任务来运行假设系统中实时任务特性是事先知道可以完全脱机的进行可调度性分析两种静态实时调度算法RMS算法和DMS算法12345RMS算法2008年6月24日南京大学计算机系*基本原理是任务的速率与其周期成反比全称速率单调调度(RateMonotonicScheduling),它是由Liu和Layand在1973年提出来的静态多任务调度算法,适用于那些响应和处理周期性事件的实时任务RMS算法(续)2008年6月24日南京大学计算机系*01RMS算法基于嵌入式系统做出了如下5个模型假设05所有的非周期性任务都在特殊的情况下运行03任务之间都是独立的,每个任务的请求不依赖于其他任务请求的开始或完成;02所有的任务请求都是周期性的,必须在限定的时限内完成;04每个任务的运行时间是不变的(不考虑中断情况);抢占式调度,单处理器,任务切换的时间忽略不计。06RMS算法(续1)2008年6月24日南京大学计算机系*RMS模型设S={S1,S2,S3,….Sn}为一个含有n个周期性任务的集合,S集合中的任务用Si={Ti,Ci,Di,Pi,Ui}(i=1,2,3,….n)来表示。其中:Ti表示任务的发生周期,Ci表示任务的最长执行时间,Di表示任务的相对截止时间,Pi表示任务在S中的优先级(优先级数值越小,优先权越高),Ui表示任务的CPU利用率整个任务集S的CPU利用率为:Un=RMS算法(续2)2008年6月24日南京大学计算机系*RMS算法的任务优先级DMS算法2008年6月24日南京大学计算机系*相对截止时间短的任务优先级高,相对截止时间长的任务优先级低全称是截止时间单调调度(DeadlineMonotonicScheduling)DMS是在速率单调调度的基础上发展起来的。不同的是任务Si的优先级按相对截止时间Di来分配。动态实时调度2008年6月24日南京大学计算机系*01指调度器在运行期间才决定选择哪个就绪任务来运行主要算法最早截止时间优先(EDF,EarliestDeadlineFirst)020304最小空闲时间优先(LSF,LeastSlackTimeFirst)等最早截止时间优先算法2008年6月24日南京大学计算机系*1973年由Liu和Layland首先提出来的是一个动态优先级驱动的调度算法,其中

显示全部
相似文档