- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
改善嵌入式Linux实时性能的方法研究_计算机论文.doc
改善嵌入式Linux实时性能的方法研究_计算机论文
改善嵌入式Linux实时性能的方法研究_计算机论文
摘要:分析了Linux的实时性,针对其在实时应用中的技术障碍,在参考了与此相关研究基础上,从三方面提出了改善Linux实时性能的改进措施。为提高嵌入式应用响应时间精度,提出两种细化Linux时钟粒度方法;为增强系统内核对实时任务的响应能力,采用插入抢占点和修改内核法增强Linux内核的可抢占性;为保证硬实时任务的时限要求,把原Linux的单运行队列改为双运行队列,硬实时任务单独被放在一个队列中,并采用MLF调度算法代替原内核的FIFO调度算法。
关键词:Linux;实时性;调度策略;抢占 1引言
目前,无论是在日常生活,还是在工业控制,航空航天,军事等方面,嵌入式系统都有着非常广泛的应用。嵌入式系统目前主要有:WindowsCE、VxWorks、QNX等,它们都具有较好的实时性、系统可靠性、任务处理随机性等优点,但是它们的价格普遍偏高。而嵌入式Linux以其非常低廉的价格,可以大大的降低成本,逐渐成为嵌入式操作系统的首选。但是,作为通用操作系统的Linux,由于其在实时应用领域的技术障碍,要应用在嵌入式领域,还必须对Linux内核作必要的改进。许多嵌入式设备都要求与外部环境有硬实时的交互能力,将最初按照分时系统目标设计的Linux改造成能支持硬实时性的操作系统显得十分重要。幸运的是,Linux及其相关项目的开放源码特征为深入研究其内核并加以改造提供了可行性,可以修改Linux内核中的各个模块以达到满足嵌入式应用的需求,提高软件方面的开发速度。目前,改善Linux内核的设计与实现,使其适用于实时领域吸引了许多研究和开发人员的注意力[1-4]。常用的实时性改造方法是采用双核方法,这种方法的弊端在于实时任务的开发是直接面向提供精确实时服务的小实时核心的,而不是功能强大的常规Linux核心。基于此,近年来修改核的方法越来越受到科研人员的重视,这种方法是基于已有Linux系统对于软件开发的支持,进行源代码级修改而使Linux变成一个真正的实时操作系统。本文分析了标准Linux在实时应用中的技术障碍,参考了修改核方法的思想,从内核时钟管理、内核的抢占性、内核调度算法三方面论述了改善标准Linux实时性能的方法。 2 Linux 在实时应用中的技术障碍
2.1 Linux的实时性分析
Linux作为一个通用操作系统,主要考虑的是调度的公平性和吞吐量等指标。然而,在实时方面它还不能很好地满足实时系统方面的需要,其本身仅仅提供了一些实时处理的支持,这包括支持大部分POSIX标准中的实时功能,支持多任务、多线程,具有丰富的通信机制等;同时也提供了符合POSIX标准的调度策略,包括FIFO调度策略、时间片轮转调度策略和静态优先级抢占式调度策略。Linux区分实时进程和普通进程,并采用不同的调度策略。
为了同时支持实时和非实时两种进程,Linux的调度策略简单讲就是优先级加上时间片。当系统中有实时进程到来时,系统赋予它最高的优先级。体现在实时性上,Linux采用了两种简单的调度策略,即先来先服务调度(SCHED-FIFO)和时间片轮转调度(SCHED-RR)。具体是将所有处于运行状态的任务挂接在一个run-queue 队列中,并将任务分成实时和非实时任务,对不同的任务,在其任务控制块task-struct中用一个policy属性来确定其调度策略。对实时性要求较严的硬实时任务采用SCHED-FIFO调度,使之在一次调度后运行完毕。对普通非实时进程,Linux采用基于优先级的轮转策略。
2.2 Linux在实时应用中的技术障碍
尽管Linux本身提供了一些支持实时性的机制,然而,由于Linux系统是以高的吞吐量和公平性为追求目标,基本上没有考虑实时应用所要满足的时间约束,它只是提供了一些相对简单的任务调度策略。因此,实时性问题是将Linux应用于嵌入式系统开发的一大障碍,无法在硬实时系统中得到应用。Linux在实时应用中的技术障碍具体表现在:
(1)Linux系统时钟精度太过粗糙,时钟中断周期为10ms,使得其时间粒度过大,加大了任务响应延迟。
(2) Linux的内核是不可抢占的, 当一个任务通过系统调用进入内核态运行时,一个具有更高优先级的进程,只有等待处于核心态的系统调用返回后方能执行,这将导致优先级逆转。实时任务执行时间的不确定性,显然不能满足硬实时应用的要求。
(3) Linux采用对临界区操作时屏蔽中断的方式,在中断处理中是不允许进行任务调度的,从而抑制了系统及时响应外部操作的能力。
(4) 缺乏有效的实时任务调度机制和调度算法。
针对这些问题,利用Linux作为底层操作系统,必须增强其内核的实时性能,从而构建出一个具有实时处理能力的嵌
您可能关注的文档
- 我国建筑业的技术进步和发展重点_工程建筑论文.doc
- 我国建筑元素在英国自然风景园中的运用探析_工程建筑论文.doc
- 我国建筑市场信用体系构建思考_工程建筑论文.doc
- 我国建筑防火性能化设计的若干看法 _工程建筑论文.doc
- 我国建设工程质量检测行业法制化建设_工程建筑论文.doc
- 我国建设工程项目管理合同设计_工程建筑论文.doc
- 我国房地产类建设项目的环境影响评价 _工程建筑论文.doc
- 我国手机报纸发展现状及前景分析_通信学论文.doc
- 我国手机用户网上信息行为影响因素研究_通信学论文.doc
- 我国招投标中政府行为的规范_工程建筑论文.doc
- 2025上海儿童医学中心招聘拟录笔试历年专业考点(难、易错点荟萃)附带答案详解.docx
- 2025上海交通大学医学院附属新华医院招聘拟录(9人)笔试历年专业考点(难、易错点荟萃)附带答案详解.docx
- 2025上海静安区石门二路社区卫生服务中心招聘笔试历年专业考点(难、易错点荟萃)附带答案详解.docx
- 江西财经职业学院单招《数学》考试历年机考真题集附完整答案详解(名校卷).docx
- 2025上海交通大学医学院附属新华医院招聘拟录笔试历年专业考点(难、易错点荟萃)附带答案详解.docx
- 江门职业技术学院单招《英语》模拟题库及答案详解(易错题).docx
- 2025 初中一年级历史夏商周时期:早期国家与社会变革课件.pptx
- 浙江万里学院单招《数学》模考模拟试题附答案详解【黄金题型】.docx
- 河南农业职业学院单招《数学》考试彩蛋押题及答案详解(新).docx
- 河南农业职业学院单招《数学》考试彩蛋押题及答案详解(新).docx
最近下载
- 高中数学第四章定积分4.3定积分的简单应用4.3.2简单几何体的体积教案.docx VIP
- TZSQX008-2020建设工程全过程质量行为导则.docx VIP
- 2024年山东省高中学业水平合格考生物试卷试题(含答案详解).docx VIP
- 高级教师职称评审答辩简答题.doc VIP
- 禁毒情报学习通超星期末考试答案章节答案2024年.docx VIP
- 北京市2024年艺术类专业考生综合分分数分布(一分一段表).pdf VIP
- 2025年乳腺癌诊疗指南(doc14页) .pdf VIP
- 篮球的起源与发展ppt课件.pptx VIP
- 网上调查赚钱经验及技巧总结.doc VIP
- ALPHA AS100说明书-V102用户手册.pdf
文档评论(0)