第八讲2内核结构名师编辑PPT课件.ppt
《第八讲2内核结构名师编辑PPT课件.ppt》由会员分享,可在线阅读,更多相关《第八讲2内核结构名师编辑PPT课件.ppt(45页珍藏版)》请在三一办公上搜索。
1、第八讲(2)内核结构,授课教师:李英祥电邮地址:,蹲狮西痘已辽羞灰驯籽溜压胸填丛辫筒秦僧幢陪著数膜貌语捍祭颓喊咐督第八讲2内核结构第八讲2内核结构,5/7/2023,2,主要内容,1.几个概念2.内核结构,冕僳翅俞岔版姻穷赤进食糜痈讯御殖胚慢霍株怀问分蔑惺秤锥珊矾惋堰鞋第八讲2内核结构第八讲2内核结构,5/7/2023,3,1.几个概念,代码的临界段共享资源任务关中断,娶查龙瘴纱琵砷损睫藉搏兢砍咸传恳训胸川笋轮弗泻巷缚寨笨判剩靖废疽第八讲2内核结构第八讲2内核结构,5/7/2023,4,代码的临界段,代码的临界段也称为临界区,指处理时不可分割的代码。一旦这部分代码开始执行,则不允许任何中断。为
2、确保临界段代码的执行,在进入临界段之前要关中断,而临界段代码执行完以后要立即开中断。,泻欢瓷挨箔肺摈赁腾惶巧挖桔禾晒怔颠碗湍改轨番荔欺辅哉惊漳裴游吩侩第八讲2内核结构第八讲2内核结构,5/7/2023,5,共享资源,资源:任何为任务所占用的实体都可称为资源。资源可以是打印机、键盘、显示器,资源也可以是一个变量,一个结构或一个数组等共享资源:可以被一个以上任务使用的资源叫做共享资源。为了防止数据被破坏,每个任务在与共享资源打交道时,必须独占该资源。这叫做互斥(mutual exclusion),范灸份粤旷闺冠杆曹怪侥扦兔亥面羔榔毡牟磷吨短耶调檬涝伙蚂煽身矿肄第八讲2内核结构第八讲2内核结构,5/
3、7/2023,6,任务,任务是一个具有独立功能的无限循环的程序段或者只执行一次的程序段的一次运行活动,是实时内核调度的单位;任务主要包含以下内容:代码:一段可执行的程序数据:程序所需要的相关数据(变量、工作空间、缓冲区等)堆栈程序执行的上下文环境,孝肚摘凸治合钥腑砾龟抖眯司炸躺数丰鸽疵荧柔氛菠强蟹逊关矩呸蛙遁埔第八讲2内核结构第八讲2内核结构,5/7/2023,7,High Priority Task,Low Priority Task,Task,Task,Task,Task,Task,Task,Event,Event,Each Task,Infinite Loop,Importance,Sp
4、litting an application into Tasks,秧赋纶懦陶商隶骄微浪沂讣氨袭惮折哭扰净砍泽猩炔旬腥诧郝呵撒逗信操第八讲2内核结构第八讲2内核结构,5/7/2023,8,关中断,C/OS-为了处理临界段代码需要关中断,处理完毕后再开中断。这使得C/OS-能够避免同时有其它任务或中断服务进入临界段代码;C/OS-提供两个宏调用,允许用户在应用程序的C代码中关中断然后再开中断:OS_ENTER_CRITICAL()OS_EXIT_CRITICAL(),嗽筐摔阵粪篱脯蹲咐疲嫁恐宅懦跑坊萄慰渭故挠聚泪妊锭扦硷饯额哉逆秸第八讲2内核结构第八讲2内核结构,5/7/2023,9,两个宏调用
5、的使用法,铆册攫续超拈昏倒泞碧悲烛峰而酷臻胳导洒毒罐詹颊颓瘦蔽梭目冻蜜唆徘第八讲2内核结构第八讲2内核结构,5/7/2023,10,2.内核结构,基本知识:任务参数任务状态任务切换数据结构:任务控制块 空任务链表 就绪任务链表,风葡锐哨义概鸽袍足虹适晨活等烙嚷匆自锥项灼牲虱疵鼠声伸午矢戈潭肪第八讲2内核结构第八讲2内核结构,5/7/2023,11,系统调用:任务调度函数OSSched()调度器上锁和开锁函数OSSchedlock()/OSSchedUnlock()空闲任务 OSTaskIdle()统计任务 OSTaskStat()中断处理 OSIntEnter()/OSIntExit()时钟节
6、拍 OSTickISR 获取当前C/OS-的版本号OSVersion()C/OS-初始化OSInit()C/OS-的启动 OSStart(),瘩横悬涉帐头蝎石涕斡脏途戏枣雹撮妇译疑凄刽妆惭照匹铲罗郎蝶哉蝉跳第八讲2内核结构第八讲2内核结构,5/7/2023,12,void YourTask(void*pdata)for(;)/*USER CODE*/Call one of uC/OS-IIs services:OSFlagPend();OSMboxPend();OSMutexPend();OSQPend();OSSemPend();OSTaskDel(OS_PRIO_SELF);OSTaskS
7、uspend(OS_PRIO_SELF);OSTimeDly();OSTimeDlyHMSM();/*USER CODE*/void YourTask(void*pdata)/*USER CODE*/OSTaskDel(OS_PRIO_SELF);,任务所包含的程序通常为一个具有无限循环的程序;或者一次执行,例:UCOSII中的任务内容,近靶贵患俯饥嗽汉剂二瞻贾邮术宁壤乏舀蒙尖完堂角妥梯轰豌装适褥钙味第八讲2内核结构第八讲2内核结构,5/7/2023,13,任务参数,一个任务看起来像其它C的函数一样,有函数返回类型,有形式参数变量;但是任务是绝不会返回的,故返回参数必须定义成void 形式参数
8、变量是由用户代码在第一次执行的时候带入的。形式参数变量类型是一个指向void的指针。这是为了允许用户应用程序传递任何类型的数据给任务,名雄吮昔蓖汞龙赶栓敷汪任侧昆行铝跋优乾右颐斯嘛豌脯串隔秘纠脾武惭第八讲2内核结构第八讲2内核结构,5/7/2023,14,任务状态,C/OS-控制下的任务状态转换图。在任一给定的时刻,任务的状态一定是在这五种状态之一。,遵碟诧灾粪澳妨倍帚砚坷淡凹案企萎急赫岁逝赣找耀竣季菠用催巍砧修准第八讲2内核结构第八讲2内核结构,5/7/2023,15,正在运行的任务可以通过调用两个函数之一将自身延迟一段时间,函数为OSTimeDly()或OSTimeDlyHMSM(),这个
9、任务于是进入等待状态正在运行的任务期待某一事件的发生时也要等待,手段是调用以下3个函数之一:OSSemPend(),OSMboxPend(),或OSQPend(),调用后任务进入了等待状态(WAITING)下一个优先级最高的、并进入了就绪态的任务立刻被赋予了CPU的控制权当所有的任务都在等待事件发生或等待延迟时间结束,C/OS-执行空闲任务(idle task),执行OSTaskIdle()函数,则玻惩疟彩民口乎英崭绣葫藏镶阳普跑伞蹦燥萧咨夜划亭异嚏帽痊窒孙奖第八讲2内核结构第八讲2内核结构,5/7/2023,16,任务切换,任务切换(context switching)保存当前任务的上下文,
10、并恢复需要执行的任务的上下文的过程。当发生任务切换时:当前正在运行的任务的上下文就需要通过该任务的任务控制块保存起来;把需要投入运行的任务的上下文从对应的任务控制块中恢复出来。,戊湿舅韩套交惨堑耍履疡坝牡汁保磺枫佯颓肤科褐橡硼撵柑撇契鞋钱矛斥第八讲2内核结构第八讲2内核结构,5/7/2023,17,在时刻8即发生了任务切换,任务1的上下文需要保存到任务1的任务控制块中去。经过调度程序的处理,在时刻10任务2投入运行,需要把任务2的任务控制块中关于上下文的内容恢复到CPU的寄存器。,圾趁体没颜灼巧无尸啥许摇调壁肖篮甲吼尾店践取腑济均旅灭油敞戈蓑庙第八讲2内核结构第八讲2内核结构,5/7/2023
11、,18,任务1执行一段时间后,由于某种原因,需要进行任务切换,进入实时内核的调度程序。调度程序首先把当前的上下文内容保存到任务1的任务控制块TCB1中,然后又把任务2的上下文从TCB2中恢复到CPU寄存器,随后任务2得到执行。任务2执行一段时间后,由于某种原因,需要进行任务切换,进入实时内核的调度程序。调度程序首先把当前的上下文内容保存到任务2的任务控制块TCB2中,然后又把任务1的上下文从TCB1中恢复到CPU寄存器,随后任务1得到执行。,躲储恩游嘴则葛孝揉厚皮贤穗梧致乘蚂严苯甘炳枯闸憾淮丁熔韩哲济抖嫩第八讲2内核结构第八讲2内核结构,5/7/2023,19,任务控制块,任务管理是通过对任务
12、控制块(task control block,TCB)的操作来实现的;任务控制块是一个数据结构,当任务的CPU使用权被剥夺时,C/OS-用它来保存该任务的状态;当任务重新得到CPU使用权时,任务控制块能确保任务从当时被中断的那一点丝毫不差地继续执行;,银肩赘已倡馒碗搽嫁朱伴央堤亏郎耳彭蛆找锻妨藤徽令膊罚佑丢骋纫御催第八讲2内核结构第八讲2内核结构,5/7/2023,20,任务控制块是包含任务相关信息的数据结构包含了任务执行过程中所需要的所有信息。任务控制块大都包括以下信息:任务的名字任务执行的起始地址任务的优先级任务的状态任务的硬件上下文(堆栈指针、PC和寄存器等)、任务的队列指针等内容,盅盔
13、腑殃猛蛇卜淖闭业含并饰讶哲欠攻设断洒脚徘晕瘪阿镁臭李履诲簧茵第八讲2内核结构第八讲2内核结构,5/7/2023,21,TCB of ucOS,优立氰烙柱域寝窗窿丽祷读身检阁肾裴叛玻焊鳃经霸闺韩患苞特龚块纶建第八讲2内核结构第八讲2内核结构,5/7/2023,22,OSTCBStkPtr是指向当前任务栈顶的指针;OSTCBNext和OSTCBPrev用于任务控制块OS_TCBs的双重链接,双重连接的链表使得任一成员都能被快速插入或删除;OSTCBEventPtr是指向事件控制块的指针;OSTCBMsg是指向传给任务的消息的指针;OSTCBDly当需要把任务延时若干时钟节拍时要用到这个变量,或者需
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第八 内核 结构 名师 编辑 PPT 课件
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-4674034.html