- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实时操作系统的内核
实时操作系统的内核 在实时操作系统中最关键的部分是实时多任务内核。它主要实现任务管理、任务间通信与同步、存储器管理、定时器管理和中断管理等。 1 任务管理 实时操作系统中的任务与操作系统中的进程相似。它具有独立功能的无限循环的程序段的一次运行活动。 运行的任务状态有4种: *运行态:获得CPU控制权。 *就绪态:进入任务等待队列,通过调度转为运行态。 *挂起态:任务发生阻塞,移出任务等待队列,等待系统实时事件的发生而唤醒,从而转为就绪或运行。 *休眠态:任务完成或错误等原因被清除的任务,也可以认为是系统中不存在的任务。 任何时刻系统中只能有一个任务在运行状态,各任务按级别通过时间片使它获得对CPU的访问权。任务就绪后进入就绪态,等待队列。通过调度程序使它获得CPU和资源使用权,从而进入运行态。任务在运行时因申请资源等原因而挂起,转入挂起态,等待运行条件的满足。当条件满足后,任务被唤醒进入就绪态,等待系统调度程序依据调度算法进行调度。任务的休眠态是任务虽然在内存中,但不被实时内核所调度的状态。 任务还有一个状态,即被中断状态,它指任务在运行态时有中断请求到达,系统响应中断,转而执行中断服务子程序,任务被中断后所处的状态。 多任务运行的实现是靠CPU在许多任务之间转换、调度。CPU只有一个,轮流服务于一系列任务中的某一个。多任务系统中,内核负责管理各个任务,并负责任务之间的通信。内核提供的基本服务是任务切换。内核对CPU的占用时间一般在2-5%之间。 任务要获得CPU的控制权,从就绪态进入运行态是通过任务调度器完成的。任务调度器从当前已就绪的所有任务中,依照任务调度算法选择一个最符合算法要求的任务进入运行状态。任务调度算法的选择很大程序上决定了该操作系统的实时性能,这也是种类繁多的实时内核却无一例外选用特定的几个实时调度算法的原因。 调度是操作系统的主要职责之一,它决定该轮到哪个任务运行。往往调度是基于优先级的,根据其重要不同被给于任务不同的优先级。CPU总是让处于就绪态的优先级最高的任务先运行。何时让高优先级任务掌握CPU的使用权,要看用的是什么类型的内核,是非抢占式的还是抢占式的内核。 实时操作系统中常用的任务调度算法包括基于优先级的抢占式调度算法、同一优先级的时间片轮转调度算法和单调速率调度算法。 1.1 基于优先级的抢占式调度算法 实时系统为每个任务赋予一个优先级。任务优先级在一定程序上体现了任务的紧迫性和重要性,越重要的任务赋予的优先级就越高。实时系统允许多个任务共享一个优先级,通过同一优先级的时间片轮转调度算法,完成任务的调度。 优先级调度原则是让高优先级的任务在得到资源运行的事件上比低优先级的任务更有优先权。这保证了实时系统中紧急的、对时间有严格限制的任务能得到更为优先的处理,而相对不紧急的任务则等到紧急任务处理完后才继续运行。 实时操作系统都采用基于优先级的任务调度算法。按照任务在运行过程中是否能被抢占,可以分为抢占式调度和非抢占式调度。 1.1.1 非抢占式调度 非抢占式调度法也称为合作型多任务,各个任务彼此合作共享一个CPU。中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。但中断服务以后控制权还是回到原来被中断的那个任务,直到该任务主动放弃CPU的使用权,那个高优先级的任务才能获得CPU的使用权。 非抢占式内核的一个特点是几乎不需要使用信号量保护共享数据。运行的任务占有CPU,而不必担心被别的任务抢占。非抢占式内核的最大缺陷在于其响应高优先级的任务慢,任务已进入就绪态但还不能运行,也许要等很长的时间,直到当前运行的任务释放CPU。内核的任务级响应时间是不确定的,最高优先级的任务什么时候才能拿到CPU的控制权完全取决于应用程序什么时候释放CPU。见P27图1-6。 由于其他任务不能抢占该任务的CPU控制权,如果该任务不主动释放CPU,则势必使系统进入死锁。每个任务在设计过程必须在任务结束时释放所占用的资源,它不能是一个无限运行的循环。这是非抢占式内核运行的先决条件。 优点: *响应中断快。 *可使用不可重入函数。由于任务运行过程中不会被其他任务抢占,各任务使用的子函数不会被重入,所以在非抢占式调度算法中可以使用不可重入函数。 *共享数据方便。 任务运行过程中不被抢占,内存中的共享数据被一个任务使用时,不会出现被另一个任务使用的情况,这使得任务在使用共享数据时不使用信号量等保护机制。当然,由于中断服务子程序可以中断任务的执行,所以任务与中断服务子程序的共享数据保护问题仍然是设计系统中必须考虑的问题。 1.1.2 抢占式调度 当系统响应时间很重要时,要使用抢占式内核。最高优先级的任务一旦就绪,总能得到CPU的控制权。当一个运行的任务时,另一个比它优先级高的任务进入了就绪态,当前任务的CPU使用权就被剥夺了,
您可能关注的文档
最近下载
- 1425调剂学(本)-国家开放大学2021年1月至2022年1月期末考试真题及答案(202101-202201三套).pdf VIP
- 师资队伍建设中长期发展规划.docx VIP
- 通信工程安全技术交底.ppt VIP
- 幼儿园 大班社会《特殊的车辆》.pptx VIP
- JTJ-T212-2010地下工程渗漏治理技术规程.doc VIP
- 2024年宁夏中考生物·地理合卷试题卷(含答案解析).docx
- 2024年江苏省公务员省考《行测》(A类)真题(含答案).pdf VIP
- 初中英语语法-八大时态之一般过去时课件.pptx VIP
- 教学课件:《商法(第四版)》范健.ppt
- 2025学校师资队伍建设三年发展规划.docx VIP
文档评论(0)