linux结课论文.8.韶关学院学报·自然科学2009年
if(unlikely(next一>pfio!=new_prio)){
dequeue_task(next,array);
next一>pfio=new_pfio;
enqueuetask(next,array);
)else
requeue_task(next,array);.
首先,要在活动数组中的索引位图里到第一个被设置的优先级位,这里通过sched_find_first_bit函数来实现.如前所述.该函数通过汇编指令从进程优先级由高到低的方向到第一个为1的位置idx.因为优先级的个数是个定值,所以查时间恒定,并不受系统到底有多少可执行进程的影响.这是Linux2.6内核实现O(1)调度算法的关键之一【21.
此外,Linux对它支持的每一种体系结构都提供了对应的快速查算法,以保证对位图的快速查
[3].很多体系结构提供了find—first—set指令,这条指令对指定的字操作(在Intelx86体系结构上,这条指令叫做bsfl.在IBMPPC上。cntlzw用于此目的).在这些系统上,到第一个要设置的位所花的时间至多是执行这条指令的两倍,这也在很大程度上提高了调度算法的效率.
sched_find_first_bit函数到第一个被设置的优先级位后,再到该优先级对应的可运行进程队列,接着到该队列中的第一个进程,最后把到的进程插入运行队列中.整个过程如下图2所示.
图20【1)调度算法到候选进程的过程
实施创新驱动发展战略最根本的图2中的网格为140位索引位图,queue[7]为优先级为7的就绪进程链表.
if(1ikely(1:Irev!=next))f
prey=context_switch(rq,prey,next);
)else
spin_unlockjrq(&rq->lock);.
工作总结ppt免费模板下载如果候选进程不是当前运行进程,则需要进行进程切换.反之,仅仅释放之前对运行队列所加的锁.2.5.2时间片的计算方法与时机
Linux2.4内核在所有就绪进程的时间片都耗完后再在调度器中~次性重算.重算是用for循环实现的,相当耗时.新的Unux调度程序减少了对循环的依赖。取而代之的是为每个处理器维护两个优先级数组:活动数组和过期数组.活动数组内的队列上的进程都还有时间片剩余;而过期数组内的队列上的进程都耗尽
Linux 2.6内核O(1)调度算法剖析
作者:张永选, 姚远耀, ZHANG Yong-xuan, YAO Yuan-yao
作者单位:江西经济管理干部学院电子计算机应用系,江西,南昌,330088
刊名:
韶关学院学报
英文刊名:JOURNAL OF SHAOGUAN UNIVERSITY
年,卷(期):2009,30(6)
被引用次数:0次
1.河秦.王洪涛Linux
2.6内核标准教程 2008
2.Linus T Linux-2.4.1,Linux-2.6.15
3.Robert L Linux Kernel Development 2005
4.陈莉君.张琼声.张宏伟深入理解LINUX内核 2007
excel去尾函数5.何克右.周彩贞Linux2.6进程调度机制的剖析[期刊论文]-华中师范大学学报(自然科学版) 2007(04)
1.学位论文谢伟毅Linux
2.6内核在嵌入式系统中的应用——Linux 2.6内核到2006
长期以来,linux作为优秀的开源操作系统软件被广泛应用于嵌入式系统中。而linux操作系统内核是整个系统中最为关键的部分,关系到整个系统的稳定性、可靠性和系统性能。Linux内核的发展非常之快,现在的版本已经到了2.6.14,但由于历史以及厂商的原因,当今的linux嵌入式操作系统中普遍使用的还是2.4的内核。2.6的内核较之于2.4的内核有了很多的改进和bug的修补,在稳定性、可靠性以及性能上都有较大的提升。
而要在嵌入式系统中使用新的内核,首先要做的就是内核移植的工作。因此本人把2.6的内核通过修改移植到SH7751RBBNVP嵌入式开发平台中,希望为把2.6内核应用在嵌入式系统中提供条件。
本课题的研究内容主要有以下几个方面:
文章开始讲述了嵌入式系统以及嵌入式Linux的相关知识,分析了Linux 2.6内核的改进以及性能的提升。
接着详细分析了为新的硬件添加Linux支持的原理和方法,然后在此基础之上阐述了在Linux 2.6中为本课题使用的SH7751RBBNVP增加支持的方法
,并且通过引用所增加代码的结构和作用进行了进一步分析。
最后讲述了实际系统运行的环境的搭建方法。
本课题将linux 2.6的内核移植到SH7751RBBNVP嵌入式开发平台中,为Linux 2.6内核在嵌入式系统中的应用提供了条件。
2.期刊论文付智杰.周彪.FU Zhijie.ZHOU Qunbiao MCS spinlock的Linux内核模块实现-微计算机应用
2009,30(7)
研究和分析了Linux系统对SMP支持的特点及其主要的内核路径互斥方法,阐述了MCS spinlock的原理
及其优点,最后结合Linux内核的特点,给出MCS spinlock作为最新版本Linux内核的内核模块的实现,及该模块的使用方法.
3.学位论文李彬基于应用程序的嵌入式Linux内核自动裁剪2006
嵌入式操作系统作为嵌入式系统的核心组成部分,必须满足嵌入式系统资源有限、面向特定应用、专用硬件和与应用软件密切相关等重要特征。但是,每个嵌入式系统在功能、处理器性能、成本、体积、规模、实时性等各个方面的要求都不相同,因此研究与开发一个嵌入式实时操作系统来满足嵌入式系统多样性要求具有很重要的理论和现实价值,而嵌入式操作系统的可定制剪裁的研究对满足嵌入式系统的多样性要求同样具有重要的理论和实用价值。
而目前对Linux操作系统内核的剪裁配置方法大都是在源代码基础上,通过配置工具生成配置文件,然后根据配置文件条件编译生成目标系统内核。但这种方法裁剪的定制能力有限,工具集成度不高,需要通过命令干预,其配置方案、编译过程复杂且需手动完成。因此开发一种高可定制的,能够根据应用程序自动裁剪Linux内核的方法有较高的理论和实践意义。
针对以上情况,本文对Linux内核实时性能进行改进,并实现了一种高可定制的、基于应用程序的嵌入式Linux内核自动裁剪,以下是本文实现嵌入式Linux实时内核自动裁剪所完成的工作步骤及内容:
1) 分析Linux应用于嵌入式实时系统的优势、不足,以及嵌入式Linux实时性增强的方法,在此基础上,提出了基于Linux构建一个的嵌入式实时操作系统的方案;
2) 对Linux内核进行细粒度的可定制裁剪,接着主要分析阐述了嵌入式Linux文件系统及网络功能部分,并对文件系统和网络功能部分进行细粒度的裁剪划分,为自动裁剪做好准备:
3) 对Linux内核原有剪裁机制的进行了分析,总结了基于源代码的Linux内核裁剪技术,引入基于应用程序的嵌入式Linux内核自动裁剪方法,根据应用程序调用的函数集合,自动选择需要的功能内核模块,然后自动修改内核.config文件和autoconf.件,提供给内核编译使用,实现可视化的Linux内核自动裁剪。
最后,针对嵌入式Linux自动裁剪方法,进行了实例验证与分析,并对Linux在嵌入式内核自动裁剪,需要解决一些问题和进一步提高自动裁剪的定制能力提出了白己的建议。
4.期刊论文黄武陵.何小庆.艾云峰嵌入式Linux实时化技术-电子产品世界2009,16(2)
Linux已经被移植到多种嵌入式处理器,并得到广泛应用.主流内核实时性能不断增强,但在工业控制等特定场合仍无法满足强实时性需求.本文分析了Linux内核时延和实时化主流技术,对实时抢占内核技术进行了分析和评测.
5.期刊论文朱岩.ZHU Yan应用Linux Test Project组件测试Linux内核的研究-中国测试2009,35(5)
软件架构师认证考试含金量Linux Test Project(简称LTP)是一个以改善日益庞大的Linux内核为目标的组织机构,它通过引入自动化测试来完成Linux内核的测试.为了实现自动化测试这一目标,LTP开发出了可运行在多种Linux操作系统上的测试工具组件.实验结果表明,LTP测试工具组件不仅可以充分用于验证Linux内核的可靠性、健壮性和稳定性,而且它也是改善Linux内核测试最有效的方法之一.
system怎么读6.期刊论文丁晓波.桑楠.张宁Linux 2.6内核的内核对象机制分析-计算机应用2005,25(1)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论