- 1、本文档共90页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(东南大学集成电路课程)系统架构和任务管理讲解
任务切换的基本步骤 保存任务上下文环境; 更新当前处于运行状态的任务的任务控制块的内容,如把任务的状态由运行状态改变为就绪或是等待状态; 把任务的任务控制块移到相应的队列(就绪队列或是等待队列); 1、调度程序首先把当前的上下文内容保存到任务1的任务控制块TCB1中 2、然后把任务2的上下文从TCB2中恢复到CPU寄存器,随后任务2得到执行 3、任务2执行一段时间后,由于某种原因,需要进行任务切换,进入实时内核的调度程序。 4、调度程序首先把当前的上下文内容保存到任务2的任务控制块TCB2中5、然后又把任务1的上下文从TCB1中恢复到CPU寄存器,随后任务1得到执行。 空闲任务允许挂起吗? * 在嵌入式实时系统中,任务通常为进程和线程的统称,并把任务作为调度的基本单位进行阐述。 在嵌入式实时系统中,任务通常为进程和线程的统称,并把任务作为调度的基本单位进行阐述。 在嵌入式实时系统中,任务通常为进程和线程的统称,并把任务作为调度的基本单位进行阐述。 进程控制块(process control block,PCB) 进程控制块包含了操作系统用来控制进程所需要的信息,如:进程状态、CPU寄存器、调度信息、内存管理信息、I/O状态信息等 在嵌入式实时系统中,任务通常为进程和线程的统称,并把任务作为调度的基本单位进行阐述。 在嵌入式实时系统中,任务通常为进程和线程的统称,并把任务作为调度的基本单位进行阐述。 在嵌入式实时系统中,任务通常为进程和线程的统称,并把任务作为调度的基本单位进行阐述。 在嵌入式实时系统中,任务通常为进程和线程的统称,并把任务作为调度的基本单位进行阐述。 在嵌入式实时系统中,任务通常为进程和线程的统称,并把任务作为调度的基本单位进行阐述。 大多数实时内核都把整个应用当作一个没有定义的进程来对待,应用则被划分为多个任务的形式来进行处理,即单进程/多线程模型,或简单地称为任务模型。也有一些嵌入式实时操作系统采用了多进程/多线程模型,系统中包含多个进程,每个进程对应又包含多个线程。多进程/多线程模型适合于处理复杂的应用,任务模型则适用于实时性要求较高的、相对简单的应用。 在一定条件下,任务会在不同的状态之间进行转换,即任务状态的变迁(task state transition)。 对于处于就绪状态的任务,获得CPU后,就处于执行状态。 处于执行状态的任务如果被高优先级任务所抢占,任务又会回到就绪状态;处于执行状态的任务如果需要等待资源,任务会被切换到等待状态。 对处于等待状态的任务,如果需要的资源得到满足,就会转换为就绪状态,等待被调度执行。 * 包含三个任务和一个调度程序。 调度程序:用来确定下一个需要投入运行的任务,因此调度程序本身也需要占用一定的处理时间 * 如果任务拥有除CPU以外的其他所需资源,则把任务放置到就绪队列;当处于运行状态的任务因为需要的资源得不到满足时,就会变为等待态,任务对应的任务控制块会被组织到等待队列中。当操作系统需要把一个新的任务投入运行时,就会按照一定的策略从任务控制块组成的就绪队列中选择一个任务投入运行。如果任务等待的资源得到满足,任务对应的任务控制块就会从等待队列转换到就绪队列。 对于单等待队列,资源对应的事件发生时,实时内核需要扫描整个等待队列,搜索等待该资源的任务,并按照一定的策略选取任务,把任务的任务控制块放置到就绪队列。 如果系统的资源和任务比较多,采用单等待队列时,搜索等待该资源的任务所需要的时间就比较长,会影响整个系统的实时性。 任务就绪时,把就绪任务的任务控制块放在就绪队列的末尾。在这种情况下,调度程序需要从就绪队列的头部到尾部进行一次遍历,才能获得就绪队列中具有最高优先级的任务; 就绪队列按照优先级从高到低的顺序排列。新的就绪任务到达时,需要插入到就绪队列的合适位置,确保就绪队列保持优先级从高到低排列的顺序性。 在这两种处理方式中,所花费的时间与任务数量有密切的关系,具有不确定性。 * Lampson在1980年发表的题为“Experiences with processes and monitors in Mesa”的论文中被首先讨论 竭力使用最优调度方案往往并不是一个明智的办法,高级的调度程序通常具有不可预见性,需要花费更多的时间和资源,并且,其复杂性也增加了应用编程人员的使用难度。 简单是实时内核所强调的主要特点,实用的实时内核在实现时大都采用了简单的调度算法,以确保任务的实时约束特性和可预见性是可以管理的。 从理论上来说,最优调度只有在能够完全获知所有任务在处理、同步和通信方面的需求,以及硬件的处理和时间特性的基础上才能实现。 但在实际的应用中,则很难实现这一点,特别是当这些需要获知的信息处于动态变化的情况下。 即使在这
您可能关注的文档
- (1-8)PA100+技术说明书总述V05.40讲解.doc
- ((人教版))物理选修3-1《电源和电流》讲解.ppt
- (2008-2012)二级人力资源师历年真题及答案讲解.doc
- (127-146)PA100+-M技术说明书V05.40讲解.doc
- 22前后解读.ppt
- (2008版)城镇道路工程施工与质量验收规范讲解.doc
- 20120503生态文明与“绿色湖南”建设解读.ppt
- (2016.3.31定稿)郎溪县十字中心小学鸣川楼抗震加固工程(小型)招标文件2016.3.31讲解.doc
- (2016年高考化学一轮复习知识梳理+题组训练)10.3定量实验分析型实验题讲解.doc
- (3.7)必修一第3单元第7课时文档讲解.doc
文档评论(0)