版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第1章章 嵌入式实时操作系统的基本概念嵌入式实时操作系统的基本概念本章内容本章内容n嵌入式系统的基本概念嵌入式系统的基本概念n嵌入式操作系统的基本概念嵌入式操作系统的基本概念n实时操作系统的概念实时操作系统的概念nuCOS-II简介简介嵌入式系统的基本概念嵌入式系统的基本概念n嵌入式系统出现的原因嵌入式系统出现的原因n设备智能化的要求设备智能化的要求n处理器应用领域扩展的要求处理器应用领域扩展的要求n嵌入式系统的含义嵌入式系统的含义n嵌入到对象系统中,实现智能化控制的计算机系统嵌入到对象系统中,实现智能化控制的计算机系统有别于有别于通用的计算机系统通用的计算机系统n具有较强的处理能力,一般为
2、具有较强的处理能力,一般为32位单片机位单片机有别于单片机机有别于单片机机系统系统n三要素:嵌入性、专用性、计算机系统三要素:嵌入性、专用性、计算机系统n构造方法构造方法n以应用为中心,以计算机技术为基础,采用可剪裁的软硬件,以应用为中心,以计算机技术为基础,采用可剪裁的软硬件,适用于对功能、可靠性、成本,体积功耗等有严格要求的专适用于对功能、可靠性、成本,体积功耗等有严格要求的专用计算机系统,用于实现对其他设备的控制、监视或管理等用计算机系统,用于实现对其他设备的控制、监视或管理等功能功能嵌入式系统的基本概念嵌入式系统的基本概念n嵌入式系统的发展方向嵌入式系统的发展方向n高性能,可靠性,低功
3、耗,廉价高性能,可靠性,低功耗,廉价嵌入式系统的基本概念嵌入式系统的基本概念n嵌入式系统的发展历程嵌入式系统的发展历程n嵌入式系统出现于嵌入式系统出现于20世纪世纪60年代,年代,40多年来多年来随着计算机技术、电子信息技术的发展,嵌入随着计算机技术、电子信息技术的发展,嵌入式系统的各项技术蓬勃发展,市场迅猛扩大,式系统的各项技术蓬勃发展,市场迅猛扩大,已深入到生产和生活的各个角落已深入到生产和生活的各个角落n嵌入式系统发展的三个阶段嵌入式系统发展的三个阶段n嵌入式系统的出现和兴起(嵌入式系统的出现和兴起(1960-1970)n嵌入式系统走向成熟、软件、硬件不断完善(嵌入式系统走向成熟、软件、
4、硬件不断完善(1971-1989)n嵌入式系统向纵深化方向发展(嵌入式系统向纵深化方向发展(1990-现在)现在)嵌入式系统的出现和兴起嵌入式系统的出现和兴起1960-1970n第一代电子管计算机(第一代电子管计算机(1946-1957),无法满足嵌入式计),无法满足嵌入式计算所要求的体积小、重量轻、耗电小、可靠性高、实时性算所要求的体积小、重量轻、耗电小、可靠性高、实时性强等要求强等要求n60年代,第二代晶体管计算机系统开始应用:年代,第二代晶体管计算机系统开始应用:n第一台机载专用数字计算机是美国海军为轰炸机第一台机载专用数字计算机是美国海军为轰炸机“民团团员民团团员”号研号研制的多功能数
5、字分析器制的多功能数字分析器(Verdan)n1962年美国乙烯厂实现了工业装置中的第一个直接数字控制系统年美国乙烯厂实现了工业装置中的第一个直接数字控制系统n1965-1970年,第三代集成电路化计算机系统的应用年,第三代集成电路化计算机系统的应用n第一次使用机载数字计算机控制:第一次使用机载数字计算机控制:1965年发射的年发射的Gemini3号号n第一次通过容错来提高可靠性:第一次通过容错来提高可靠性:1968年阿波罗年阿波罗4号、土星号、土星5号号嵌入式系统走向成熟嵌入式系统走向成熟1971-1989n嵌入式系统大发展是在微处理器问世以后嵌入式系统大发展是在微处理器问世以后n1971年
6、年11月,月,Intel公司推出了第一片微处理器公司推出了第一片微处理器Intel4004n人门再也不必为设计一台专用机而研制专用的电路、专用人门再也不必为设计一台专用机而研制专用的电路、专用的运算器,只需要以微处理器为基础进行设计的运算器,只需要以微处理器为基础进行设计n1976年,第一个单片机年,第一个单片机Intel8048出现出现n1982年第一个年第一个DSP出现,比同期的出现,比同期的CPU运算速度运算速度快快10-50倍倍n80年代后期,第三代年代后期,第三代DSP出现出现n软件技术的进步使嵌入式系统不断完善软件技术的进步使嵌入式系统不断完善n早期采用汇编语言,不采用操作系统早期
7、采用汇编语言,不采用操作系统n现在使用高级语言,采用操作系统现在使用高级语言,采用操作系统嵌入式系统向纵深化方向发展嵌入式系统向纵深化方向发展n应用充分普及:工业控制、数字化通讯、应用充分普及:工业控制、数字化通讯、数字化家电数字化家电n汽车:汽车:50个以上的嵌入式微处理器个以上的嵌入式微处理器n飞机:飞机:70个以上嵌入式系统个以上嵌入式系统n嵌入式微处理器嵌入式微处理器32位、位、64位位n嵌入式系统开发工具十分丰富嵌入式系统开发工具十分丰富n形成了嵌入式系统开发产业形成了嵌入式系统开发产业嵌入式系统与通用系统的区别(嵌入式系统与通用系统的区别(1)n嵌入式系统中运行的任务是专用而确定的
8、嵌入式系统中运行的任务是专用而确定的n心脏监视嵌入式系统,只需要运行信号输入、处理、心脏监视嵌入式系统,只需要运行信号输入、处理、心电图显示的任务心电图显示的任务n如果要更改任务,需要对整个系统进行重新设计如果要更改任务,需要对整个系统进行重新设计n桌面通用系统需要支持大量的、需求多样的应桌面通用系统需要支持大量的、需求多样的应用程序用程序n对系统中运行的程序不作假设对系统中运行的程序不作假设n程序升级、更新方便程序升级、更新方便嵌入式系统与通用系统的区别(嵌入式系统与通用系统的区别(2)n嵌入式系统往往对实时性提出很高的要求嵌入式系统往往对实时性提出很高的要求n实时系统:指系统能够在限定的响
9、应时间实时系统:指系统能够在限定的响应时间中,提供所需水平的服务中,提供所需水平的服务n嵌入式实时系统可分为:嵌入式实时系统可分为:n强实时型:强实时型:us-ms级级n一般实时型:一般实时型:ms-s级级n弱实时型:弱实时型:s级以上级以上嵌入式系统与通用系统的区别(嵌入式系统与通用系统的区别(3)n嵌入式系统中使用的一般是实时操作系统嵌入式系统中使用的一般是实时操作系统n嵌入式实时操作系统数量众多嵌入式实时操作系统数量众多nVxWorksnWindows CEnpSOSnuCOSn国产嵌入式实时操作系统国产嵌入式实时操作系统nHOPENnDeltaOSnSmartOS嵌入式系统与通用系统的
10、区别(嵌入式系统与通用系统的区别(4)n嵌入式系统运行需要高可靠性保障,比嵌入式系统运行需要高可靠性保障,比桌面系统的故障容忍能力要弱很多桌面系统的故障容忍能力要弱很多n嵌入式系统需要忍受长时间、无人值守嵌入式系统需要忍受长时间、无人值守条件下的运行条件下的运行n嵌入式系统运行环境恶劣嵌入式系统运行环境恶劣嵌入式系统与通用系统的区别(嵌入式系统与通用系统的区别(5)n嵌入式系统大都有功耗约束嵌入式系统大都有功耗约束n手机、手机、PDA等需要有尽可能长的待机时间等需要有尽可能长的待机时间n引入间歇工作方式,降低功耗,节约能量引入间歇工作方式,降低功耗,节约能量嵌入式系统与通用系统的区别(嵌入式系
11、统与通用系统的区别(6)n嵌入式系统比桌面通用系统可用资源少得多嵌入式系统比桌面通用系统可用资源少得多n为降低系统的成本,降低功耗,系统资源配置采用够为降低系统的成本,降低功耗,系统资源配置采用够用应行的原则用应行的原则n嵌入式系统开发要使用专用的工具和特殊的方法嵌入式系统开发要使用专用的工具和特殊的方法n开发:交叉编译器,交叉链接器开发:交叉编译器,交叉链接器n调试:仿真器、虚拟机调试:仿真器、虚拟机n更新:在线升级更新:在线升级嵌入式系统与通用系统的区别(嵌入式系统与通用系统的区别(7)n嵌入式系统开发是一项综合的计算机应嵌入式系统开发是一项综合的计算机应用技术用技术n系统结构:处理器中的
12、控制寄存器系统结构:处理器中的控制寄存器n汇编语言:操纵外部设备、端口汇编语言:操纵外部设备、端口n操作系统:设置运行任务、通讯、互斥操作系统:设置运行任务、通讯、互斥n编译原理:交叉编译、编译原理:交叉编译、bootloader加载加载嵌入式系统的基本概念嵌入式系统的基本概念n嵌入式系统的特点嵌入式系统的特点n集软硬件于一体的,可独立工作的计算机系统集软硬件于一体的,可独立工作的计算机系统n可编程的电子器件可编程的电子器件n使宿主设备具有智能性使宿主设备具有智能性n专用性强专用性强n可裁减性好可裁减性好n实时性与可靠性好实时性与可靠性好n功耗低功耗低n嵌入式系统的构成嵌入式系统的构成n微处理
13、器微处理器n存储器存储器-EEPROM、FLASH、SDRAMn外设器件外设器件nI/O端口端口嵌入式系统常用芯片嵌入式系统常用芯片嵌入式微处理器的应用范围嵌入式微处理器的应用范围嵌入式操作系统嵌入式操作系统n计算机的构成计算机的构成应用的角度应用的角度n硬件系统(裸机):中央微处理器硬件系统(裸机):中央微处理器(CPU),存储器、接口及外部物理设备存储器、接口及外部物理设备n软件系统:实现计算机具体功能的程序软件系统:实现计算机具体功能的程序n操作系统:负责对计算机硬件资源的管理,常用操作系统:负责对计算机硬件资源的管理,常用的操作系统有的操作系统有window xp,vista,Linu
14、x等等n应用软件:实现具体操作的程序,例如应用软件:实现具体操作的程序,例如Word,Excel等等等等嵌入式操作系统嵌入式操作系统n应用软件、操作系统、计算机硬件的关系应用软件、操作系统、计算机硬件的关系n下层是上层的基础,上层是下层的的扩展下层是上层的基础,上层是下层的的扩展嵌入式操作系统嵌入式操作系统n操作系统的作用操作系统的作用n计算机硬件系统与应用程序之间的接口,提计算机硬件系统与应用程序之间的接口,提供了操作计算机硬件的供了操作计算机硬件的API函数函数n文件读写文件读写n计算机硬件的软件包装,提供了性能稳定、计算机硬件的软件包装,提供了性能稳定、安全、效率高,便于使用的虚拟机安全
15、、效率高,便于使用的虚拟机(Virtual Machine)嵌入式操作系统嵌入式操作系统n操作系统的功能操作系统的功能n处理器的管理处理器的管理n中断的管理中断的管理n多任务的调度多任务的调度n存储的管理存储的管理n设备的管理设备的管理n文件的管理文件的管理n网络通信的管理网络通信的管理n提供用户接口提供用户接口嵌入式操作系统嵌入式操作系统n嵌入式操作系统的概念嵌入式操作系统的概念n运行在嵌入式硬件平台上,对整个系统及其运行在嵌入式硬件平台上,对整个系统及其操作的部件、装置等资源进行统一协调、指操作的部件、装置等资源进行统一协调、指挥和控制的系统软件挥和控制的系统软件嵌入式操作系统嵌入式操作系
16、统n嵌入式操作系统的特点嵌入式操作系统的特点n微型化微型化嵌入式系统资源有限嵌入式系统资源有限n可裁剪性可裁剪性适用于不同的应用适用于不同的应用n实时性实时性n高可靠性高可靠性n易移植性易移植性嵌入式操作系统嵌入式操作系统n嵌入式操作系统的分类嵌入式操作系统的分类n通用型分类通用型分类n通用型嵌入式操作系统通用型嵌入式操作系统用于多种不同的应用中,用于多种不同的应用中,用于多种不同的芯片构架中,例如用于多种不同的芯片构架中,例如Window CE,VxWorks,Linux,uCOS等等n专用型嵌入式操作系统专用型嵌入式操作系统用于特定应用或特定芯用于特定应用或特定芯片构架,例如片构架,例如S
17、ymbian,Palm OSn开源型分类开源型分类n开源型嵌入式操作系统开源型嵌入式操作系统Linux,uCOSn非开源型嵌入式操作系统非开源型嵌入式操作系统VxWorks嵌入式操作系统嵌入式操作系统n响应事件方式分类响应事件方式分类n实时操作系统实时操作系统n必须对事件进行正确的响应必须对事件进行正确的响应n必须在一定的时间事件进行响应必须在一定的时间事件进行响应n响应的时间可以计算响应的时间可以计算n按响应的时间分为硬实时系统与软实时系统按响应的时间分为硬实时系统与软实时系统n分时操作系统分时操作系统n必须对事件进行正确的响应必须对事件进行正确的响应n按时间片响应事件,事件响应的时间没有要
18、求按时间片响应事件,事件响应的时间没有要求嵌入式操作系统嵌入式操作系统n大多数嵌入式系统都是实时操作系统大多数嵌入式系统都是实时操作系统n实时操作系统的特点实时操作系统的特点n使用优先级实现多任务的调度使用优先级实现多任务的调度n任务的切换时间与任务数无关任务的切换时间与任务数无关n系统负荷不大于系统负荷不大于70%n中断延时时间是可预知的中断延时时间是可预知的n中断延时时间:中断延时时间:CPU响应中断到执行中断服务响应中断到执行中断服务程序之间的时间程序之间的时间嵌入式操作系统嵌入式操作系统n嵌入式操作系统的发展现状嵌入式操作系统的发展现状n使用使用“微内核微内核”模式,外围功能如窗口系统
19、、模式,外围功能如窗口系统、文件管理、通信协议以模块的形式加载文件管理、通信协议以模块的形式加载n提供三项服务来辅助开发人员提供三项服务来辅助开发人员n内存管理内存管理n多任务管理多任务管理n外围资源管理外围资源管理嵌入式操作系统嵌入式操作系统n使用嵌入式操作系统优缺点使用嵌入式操作系统优缺点n优点优点n程序设计与扩展变得容易,维护成本大大降低程序设计与扩展变得容易,维护成本大大降低n系统效率大大提高,程序可靠性增强系统效率大大提高,程序可靠性增强n便于程序的移植便于程序的移植n缺点缺点n额外的额外的ROM、RAM的要求的要求n增加增加2%-4%的的CPU负担负担n增加产品的成本增加产品的成本
20、嵌入式操作系统概念嵌入式操作系统概念n嵌入式操作系统中常用的概念嵌入式操作系统中常用的概念n编程模式编程模式n任务任务n代码临界段代码临界段n资源共享资源共享n互斥互斥n死锁死锁n任务间通信任务间通信n时钟节拍时钟节拍n内核调度类型内核调度类型n调度算法调度算法n可重入函数可重入函数编程模式编程模式n传统的单片机采用循环传统的单片机采用循环+中断模式中断模式前后台系统前后台系统n嵌入式系统采用多任务模式嵌入式系统采用多任务模式形式形式1:void main() 系统初始化系统初始化; while(1) 函数函数1 函数函数2 函数函数3 形式形式2:void main() 系统初始化系统初始化
21、; while(1);ISR1()函数函数1;ISR2()函数函数2;ISR3()函数函数3;任务任务n嵌入式操作系统的任务嵌入式操作系统的任务n嵌入式操作系统中,具体的工作以任务的形式来完成嵌入式操作系统中,具体的工作以任务的形式来完成n系统完成的工作是由许多不同的任务组成,系统负责系统完成的工作是由许多不同的任务组成,系统负责在任务间进行切换,任务轮流执行在任务间进行切换,任务轮流执行n应用程序的设计过程,就是任务的设计,以及如何把应用程序的设计过程,就是任务的设计,以及如何把问题分割成多个任务问题分割成多个任务n一个任务,也称作一个线程,是一个简单的程序一个任务,也称作一个线程,是一个简
22、单的程序n程序可以认为程序可以认为CPU完全只属该程序自己完全只属该程序自己n每个任务都是整个应用的某一部分,每个任务被赋予每个任务都是整个应用的某一部分,每个任务被赋予一定的优先级,有它自己的一套一定的优先级,有它自己的一套CPU寄存器和自己的寄存器和自己的栈空间栈空间 任务示意图任务示意图void mytask1(void *pdata) for(;) 用户编写的代码 放弃CPU; void mytask2(void *pdata) while(1) 用户编写的代码 放弃CPU; 任务任务n任务的特点任务的特点n具有无限循环结构,具有无限循环结构,永不返回永不返回n具有优先级,轮流具有优先
23、级,轮流运行,高优先级任运行,高优先级任务会主动放弃务会主动放弃CPU控制权控制权n任务间具有通信机任务间具有通信机制,互相通信协调制,互相通信协调工作工作nuCOS最多支持最多支持64个任务,每个任务个任务,每个任务有有5种状态之一种状态之一代码临界段代码临界段n代码的临界段也称为临界区,指处理时不可代码的临界段也称为临界区,指处理时不可分割的代码,一旦这部分代码开始执行,则分割的代码,一旦这部分代码开始执行,则不允许被任何程序中断不允许被任何程序中断n为确保临界段代码的执行,在进入临界段之为确保临界段代码的执行,在进入临界段之前要关中断,而临界段代码执行完以后要立前要关中断,而临界段代码执
24、行完以后要立即开中断即开中断 OS_ENTER_CRITICAL(); if (OSTCBPrioTblprio = (OS_TCB *)0) OSTCBPrioTblprio = (OS_TCB *)1; OS_EXIT_CRITICAL(); 资源共享资源共享n资源:任何任务所占用的实体,输入输出设备,资源:任何任务所占用的实体,输入输出设备,例如打印机、键盘、显示器,资源也可以是一例如打印机、键盘、显示器,资源也可以是一个变量,一个结构或一个数组等个变量,一个结构或一个数组等 n可以被一个以上任务使用的资源叫做共享资源。可以被一个以上任务使用的资源叫做共享资源。为了防止数据被破坏,每个任
25、务在与共享资源为了防止数据被破坏,每个任务在与共享资源打交道时,必须独占该资源。这叫做互斥打交道时,必须独占该资源。这叫做互斥(mutual exclusion)n例如例如n任务任务1输出输出Hellon任务任务2输出输出Worldn正常:正常:Hello World 不正常时:不正常时:HeWorllold 互斥互斥n与共享资源打交道时,必须保证每个任与共享资源打交道时,必须保证每个任务在处理共享数据时的排它性,以避免务在处理共享数据时的排它性,以避免竞争和数据的破坏使之满足互斥条件竞争和数据的破坏使之满足互斥条件 n互斥的方法互斥的方法n关中断关中断n使用测试并置位指令使用测试并置位指令n
26、禁止做任务切换禁止做任务切换n利用信号量利用信号量互斥互斥n关中断关中断处理共享数据时保证互斥,最处理共享数据时保证互斥,最简便快捷的办法是关中断和开中断简便快捷的办法是关中断和开中断n必须十分小心,关中断的时间不能太长,必须十分小心,关中断的时间不能太长,因为它影响整个系统的中断响应时间,因为它影响整个系统的中断响应时间,即中断延迟时间即中断延迟时间 Disable interrupts; /*关中断关中断*/Access the resource (read/write from/to variables); / /* *读读/ /写变量写变量* */ /Reenable interrup
27、ts; /*重新允许中断重新允许中断*/互斥互斥n测试并置位测试并置位(Test-And-Set)n当两个任务共享一个当两个任务共享一个资源时,先测试某一资源时,先测试某一全程变量,如果该变全程变量,如果该变量是量是0,允许该任务使,允许该任务使用共享资源用共享资源nTAS操作是微处理器操作是微处理器的单独一条不会被中的单独一条不会被中断的指令,或者是在断的指令,或者是在程序中关中断做程序中关中断做TAS操作再开中断操作再开中断 程序清单程序清单2.5 利用测试并置位处理共享资源利用测试并置位处理共享资源Disable interrupts; 关中断关中断if (Access Variable
28、 is 0) 如果资源可用,标志为如果资源可用,标志为0 0 Set variable to 1; 置资源不可用,标志为置资源不可用,标志为1 1 Reenable interrupts; 重开中断重开中断 Access the resource; 处理该资源处理该资源 Disable interrupts; 关中断关中断 Set the Access Variable back to 0; 资源可用,标志为资源可用,标志为0 0 Reenable interrupts; 重新开中断重新开中断 else 否则否则 Reenable interrupts; 开中断开中断/* You dont h
29、ave access to the resource, try back later; */* 资源不可使用,以后再试资源不可使用,以后再试; */互斥互斥n禁止禁止,然后允许任务然后允许任务切换切换n任务不与中断服务任务不与中断服务子程序共享变量或子程序共享变量或数据结构数据结构,可以使用可以使用禁止、然后允许任禁止、然后允许任务切换务切换 实现资源共实现资源共享享程序清单程序清单2.6 2.6 用给任务切换上锁,然后开锁的方法实现用给任务切换上锁,然后开锁的方法实现数据共享数据共享.void Function (void) OSSchedLock(); . . /* You can acc
30、ess shared data in here (interrupts are recognized) */. / /* *在这里处理共享数据在这里处理共享数据( (中断是开着的中断是开着的) )* */ / OSSchedUnlock();互斥互斥n信号量信号量(Semaphores)n信号像是一把钥匙,要访问共享资源,得先拿到这信号像是一把钥匙,要访问共享资源,得先拿到这把钥匙。如果信号已被别的任务占用,该任务只得把钥匙。如果信号已被别的任务占用,该任务只得被挂起,直到信号被当前使用者释放被挂起,直到信号被当前使用者释放 n信号量可以是二值的,也可以是计数的信号量可以是二值的,也可以是计数
31、的n对信号量只能实施三种操作:初始化对信号量只能实施三种操作:初始化(INITIALIZE),也可称作建立,也可称作建立(CREATE);等信;等信号号(WAIT)也可称作挂起也可称作挂起(PEND);给信号;给信号(SIGNAL)或发信号或发信号(POST) n共享资源最好的方式共享资源最好的方式互斥互斥n信号量的例子信号量的例子死锁死锁n死锁也称作抱死,指两个任务无限期地死锁也称作抱死,指两个任务无限期地互相等待对方控制着的资源互相等待对方控制着的资源n例子:设任务例子:设任务T1正独享资源正独享资源R1,任务,任务T2在在独享资源独享资源R2,而此时,而此时T1又要独享又要独享R2,T2
32、也要独享也要独享R1n避免的方法避免的方法n一次性得到全部需要的资源,否则就释放一次性得到全部需要的资源,否则就释放n用同样的顺序去申请多个资源用同样的顺序去申请多个资源n释放资源时使用相反的顺序释放资源时使用相反的顺序任务间通信任务间通信n中断服务与任务、任务与任务之间传递中断服务与任务、任务与任务之间传递数据,称为任务间的通讯数据,称为任务间的通讯n数据采集数据采集-数据处理数据处理-数据显示数据显示n任务间通信的方法任务间通信的方法n通过全程变量通过全程变量任务不知道消息的到来任务不知道消息的到来n发消息给另一个任务发消息给另一个任务较好的方法较好的方法n消息邮箱消息邮箱只有一个消息只有
33、一个消息n消息队列消息队列有多个消息有多个消息n传递指向传递指向void的指针的指针任务间通信任务间通信n消息邮箱消息邮箱n消息队列消息队列时钟节拍时钟节拍n时钟节拍是特定的周期性中断,这个中断可以时钟节拍是特定的周期性中断,这个中断可以看作是系统心脏的脉动,系统依靠该节拍来调看作是系统心脏的脉动,系统依靠该节拍来调度任务,计算延迟时间度任务,计算延迟时间n时钟节拍率越快,延时分辨率越高,但系统的时钟节拍率越快,延时分辨率越高,但系统的额外开销就越大额外开销就越大n中断之间的时间间隔取决于不同的应用,一般中断之间的时间间隔取决于不同的应用,一般在在10mS到到200mS之间之间n使用最小时钟节
34、拍进行延时,设置的延时数要使用最小时钟节拍进行延时,设置的延时数要+1,n例如时钟节拍每例如时钟节拍每20ms发生一次,现在要至少延迟发生一次,现在要至少延迟20ms,假设,假设Delay(x)是延迟时针节拍数函数,则是延迟时针节拍数函数,则要设置为要设置为Delay(2)时钟节拍时钟节拍内核调度类型内核调度类型n内核:负责管理各个任务,为每个任务内核:负责管理各个任务,为每个任务分配分配CPU时间,并且负责任务之间的通时间,并且负责任务之间的通讯,内核提供的基本服务是任务切换讯,内核提供的基本服务是任务切换 n分类分类n不可剥型内核不可剥型内核n可剥夺型内核可剥夺型内核内核调度类型内核调度类
35、型n不可剥夺型内核不可剥夺型内核n每个任务主动放弃每个任务主动放弃CPU的所有的所有权权n合作型多任务,各个任务彼此合作型多任务,各个任务彼此合作共享一个合作共享一个CPU n不可剥夺型内核的一个优点是不可剥夺型内核的一个优点是响应中断快响应中断快 n不需要使用信号量保护共享数不需要使用信号量保护共享数据,可以调用非可重入性函数据,可以调用非可重入性函数n不可剥夺型内核的最大缺陷在不可剥夺型内核的最大缺陷在于其响应时间,高优先级的任于其响应时间,高优先级的任务已经进入就绪态,但还不能务已经进入就绪态,但还不能运行运行 内核调度类型内核调度类型n可剥夺型内核可剥夺型内核n高优先级的任务一旦就绪,
36、高优先级的任务一旦就绪,挂起当前低优先级任务,挂起当前低优先级任务,得到得到CPU的控制权的控制权n使用资源与不可重入函数使用资源与不可重入函数时要进行互斥保护时要进行互斥保护n当系统响应时间很重要时,当系统响应时间很重要时,要使用可剥夺型内核要使用可剥夺型内核n实时操作系统都采用这种实时操作系统都采用这种内核类型内核类型优先级反转优先级反转n由于共享资源互斥使用的问题,使高优由于共享资源互斥使用的问题,使高优先级的任务优先级降低的现象先级的任务优先级降低的现象n在实时操作系统中,该现象会降低系统在实时操作系统中,该现象会降低系统的实时性,要尽可能的避免的实时性,要尽可能的避免n可以采用动态提
37、升优先级的方法来避免可以采用动态提升优先级的方法来避免优先级反转的发生优先级反转的发生优先级反转的例子优先级反转的例子优先级反转的例子优先级反转的例子可重入函数可重入函数n可重入型函数可以被一个以上的任务调可重入型函数可以被一个以上的任务调用,而不必担心数据的破坏用,而不必担心数据的破坏n可重入型函数任何时候都可以被中断,可重入型函数任何时候都可以被中断,一段时间以后又可以运行,而相应数据一段时间以后又可以运行,而相应数据不会丢失不会丢失n可重入型函数可重入型函数只使用局部变量,没有使只使用局部变量,没有使用全局变量用全局变量,即函数的变量都保存在,即函数的变量都保存在CPU寄存器中或堆栈中寄存器中或堆栈中可重入函数的例子可重入函数的例子void strcpy(char *dest, char *src) while (*dest+ = *src+) ; *dest = NULL;不可重入函数的例子不可重入函数的例子int Temp;void swap(int *x, int *y) Temp = *x; *x = *y; *y = Temp;uCOS
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年中考政治考前冲刺押题试卷及答案(九)
- 2026年事业单位招聘考试计算机理论知识考试试卷及答案(五)
- 构造柱模板施工工艺流程
- 一氧化碳运输安全规程
- 2026年测绘工高级工(三级)职业技能鉴定模拟试题
- 铁路工程管理手册
- 2026年水产批发市场食品储存培训方案
- 振动作业职业健康监护制度
- 医学26年:戈谢病诊疗进展解读 查房课件
- 医学26年:慢性胆囊炎诊疗要点 查房课件
- 2026年同等学力申硕英语模拟卷
- 摩根士丹利 -半导体:中国AI加速器-谁有望胜出 China's AI Accelerators – Who's Poised to Win
- 2026辽宁沈阳汽车集团有限公司所属企业华亿安(沈阳)置业有限公司下属子公司招聘5人笔试历年参考题库附带答案详解
- 2026年公路养护工职业技能考试题库(新版)
- 2026中国广播影视出版社有限公司高校毕业生招聘3人备考题库含答案详解(完整版)
- 宜宾市筠连县国资国企系统2026年春季公开招聘管理培训生农业考试模拟试题及答案解析
- 2026年福建南平市八年级地生会考考试真题及答案
- 2025-2030非洲智能汽车零部件行业市场供需理解及投资潜力规划分析研究报告
- 2026季华实验室管理部门招聘3人(广东)建设笔试模拟试题及答案解析
- 北京市大兴区瀛海镇人民政府招聘劳务派遣4人考试参考试题及答案解析
- 湖南省衡阳市南岳区事业单位考试历年真题
评论
0/150
提交评论