Linux设备驱动程序自动更新的研究与实现

来源 :北京交通大学 | 被引量 : 3次 | 上传用户:iorikof1107
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
设备驱动程序是操作系统内核的重要组成部分,在内核中占据着举足轻重的地位。同时,设备驱动在内核源码中所占份额往往可达50%以上,且设备驱动程序与硬件直接相关故而设计逻辑错综复杂,因此设备驱动程序开发和维护的工作量极其繁重,并使其成为操作系统内核漏洞的主要来源。在众多操作系统中,Linux是各种服务器及智能设备上操作系统的首要选择。为了满足新的需求和持续改善系统性能,Linux内核演变非常迅速,这便要求相关设备驱动程序必须及时地加以更新。特别地,设备驱动程序密切依赖于内核诸多功能函数和数据结构,所以内核及驱动支持接口的任何改变通常会引发那些相关联的设备驱动代码在不少地方均须做出相应的调整。毋庸置疑,设备驱动程序更新将会越来越频繁。需要指出的是,目前设备驱动更新工作基本上是依靠手工来完成的,十分费力耗时还容易出错,所以实现设备驱动程序更新的自动化势在必行。综上所述,本文开展Linux设备驱动程序自动更新方法与技术的研究,具有重要的现实意义和应用价值。本文首先研究讨论了 Linux内核差异分析、GCC插件和抽象语法树、函数调用图等相关工作及设备驱动程序协同演化问题,重点分析讨论了设备驱动相关内核依赖接口,对内核驱动依赖接口变化情况进行了分类,提出了一种基于源码的Linux设备驱动程序的自动更新方法,并建立了相应的设备驱动辅助更新模型。具体而言,从设备驱动程序对内核依赖的接口入手,通过针对性地分析设备驱动所依赖的内核接口(函数、宏和数据结构),进而展开相应依赖接口的差异性分析,然后根据设备驱动协同更新影响程度的等级划分标准进行差异筛选分类,从而生成驱动更新辅助信息即对应的更新操作提示,以协助设备驱动开发维护人员完成快速可靠的驱动更新。在此基础上,本文设计实现了一组相应的驱动更新支撑工具,包括设备驱动程序对内核依赖接口的分析工具(含设备驱动对头文件的依赖分析工具和设备驱动依赖接口信息提取工具)、设备驱动依赖接口差异分析工具及设备驱动更新辅助信息生成工具。相关原型经测试验证表明,具有较好的可用性,可以有效改善设备驱动程序的开发和维护工作。其间,还探讨了用于评估设备驱动程序辅助更新工作的量化指标即关于辅助更新提示信息的误报率和漏报率的概念及计算方法。本文关于设备驱动程序自动更新的研究工作只能算是刚刚起步,下一步可在设备驱动源码自动修正完善以及与相关开发过程和环境的有机集成等方面开展进一步研究。
其他文献
英语作为当今世界的官方通用语言,其发展历史及语言文化的演变经历了一个漫长曲折的过程,充分了解英语语言文化是当今学生学习外语的必要条件。张勇先的《英语语言文化概览—
长久以来,风投机构都以向被投资企业委派董事作为参与企业经营管理的重要方式。标普1500公司中拥有风投董事的企业占比已超过30%。国内风投行业直到中小板与创业板相继设立才
目的:短链酰基辅酶A脱氢酶(short-chain acyl-CoA dehydrogenase,SCAD)是脂肪酸β氧化的关键酶,与心脏能量代谢密切相关。然而,SCAD在心力衰竭中的变化以及其对能量代谢的调
<正> 薤白(Allium macrostemon Bunge)属百合科葱属野生植物,可用于治疗胸肋刺痛、心绞痛、慢性支气管炎等症。薤白中化学成分的测定,国内已有报道。日本学者对可代替薤白入
随着智能化技术的飞速发展,音频信号作为识别控制对象成为现阶段各行各业研究的重要对象。目前所采用的技术手段大多数基于物联网,其工作原理大致为,前端进行数据采集,通过网络将数据传递到后台进行大数据处理,再将处理的结果反馈至前端;对于无网络地带以及要求实时控制应用场景,该技术路线便不适用。为使音频信号真正应用于工业领域的列车临近预警监控中,本课题通过采集列车运行时铁轨中的音频信号,利用16位单片机作为控
软式排球最早起源于日本,因为其球体柔软度较高,而且具有较小的重量和气压,因此一经推出即广泛推广,更是受到青少年的高度喜爱。相比硬式排球而言,软式排球的飞行速度相对较
在评价学生英语综合能力的过程中,英语阅读能力是非常重要的指标,也是高中学生在学习英语过程中的重难点知识。但是,在以往高中英语阅读课程的实际教学过程中,老师所采用的教
重庆地铁1号线车辆在运行过程中存在车辆运行噪声过大的问题,对乘客的乘坐舒适度造成了一定的影响,本文通过对重庆地铁1号线车辆运行过程中的噪声进行分析,针对重庆地区的轨
教育部"教学质量与教学改革工程"(简称"质量工程")是提高高等教育质量的重大举措。本文针对目前高校实施"质量工程"建设中存在的质量意识淡薄、忽视质量工程建设、申报项目过
互联网金融的产生和发展,改变了传统商业银行支付结算、融资贷款、投资理财等各种业务的垄断局面,并依托成熟的互联网体系,实现了线上购买和线上负债、借贷业务,大大降低了成