导读:本文包含了块设备驱动程序论文开题报告文献综述、选题提纲参考文献及外文文献翻译,主要关键词:设备驱动程序,驱动程序,设备,内核,自动更新,源码,接口。
块设备驱动程序论文文献综述
李宏宇,李茂月,刘献礼[1](2019)在《基于RTX系统的PCI硬件设备驱动程序开发》一文中研究指出针对Windows系统下不同的硬件设备存在软件版权许可、不兼容或地址冲突等导致在工业领域的深入应用受到限制的问题,研究了在RTX实时环境下多PCI设备底层驱动程序的开发方法、开发流程,给出了具体的应用方法。通过在开放式数控系统实验运动平台上对Windows系统环境下与RTX环境下的板卡驱动程序的实时性能进行比较实验分析,测试了RTX环境下PCI硬件设备驱动程序的性能。RTX下驱动程序开发不仅实现了硬件设备的功能,还减少了由于驱动问题带来的选型限制,使得在RTX实时系统中采用不同型号功能的PCI设备有了更多的选择,提高了开放式数控系统实时性,可靠性。(本文来源于《制造技术与机床》期刊2019年01期)
万玛宁,侯志化[2](2018)在《基于Linux操作系统的USB设备驱动程序开发及传输实现》一文中研究指出要在Linux操作系统下开发一款支持智能设备与主机之间通过USB通信的读写控制程序,为了满足控制和通信的需要,要求快速、便捷地开发一款USB设备驱动程序以建立主机和智能设备的连接,同时能够保证数据的正确和稳定传输.为解决上述问题,本文实现了一种Linux操作系统下,基于CyAPI库的USB驱动程序开发方法.在智能设备读写控制程序中对所开发的USB驱动程序进行了验证,通过调用设备驱动程序直接实现了对USB设备的控制和数据传输,同时能够及时正确的收到智能设备的信息反馈,设备驱动程序展现了良好的稳定性.(本文来源于《微电子学与计算机》期刊2018年11期)
刘春龙[3](2018)在《计算机硬件设备驱动程序分析》一文中研究指出驱动程序是硬件和软件功能连接的重要组成,随着各种硬件和相关软件的频繁换代与更新,驱动程序依然是计算机系统应用中所不可或缺的。本文首先从硬件与软件的组成来阐述了计算机体系结构,并重点分析了计算机硬件驱动程序的基本结构、工作过程与所发挥的作用,以及驱动程序与硬件和软件之间的关联性,以提高人们对计算机硬件软件相互配合工作机制的理解。(本文来源于《电子制作》期刊2018年17期)
任艳艳,翟高寿,张俊红[4](2018)在《Linux设备驱动程序自动更新及辅助工具》一文中研究指出研究了Linux设备驱动程序的自动更新方法,建立了基于源码的Linux设备驱动辅助更新模型,设计并实现了一组相应的自动更新支撑工具,包括Linux设备驱动程序对内核依赖接口的分析工具、内核依赖接口差异性分析工具以及设备驱动更新辅助信息的生成工具.相关原型经测试验证表明,可以有效改善设备驱动开发和维护工作.另外,还提出了用于评估设备驱动辅助更新工作的量化指标即关于辅助更新提示信息的误报率和漏报率的概念及计算方法.(本文来源于《计算机系统应用》期刊2018年07期)
任艳艳[5](2018)在《Linux设备驱动程序自动更新的研究与实现》一文中研究指出设备驱动程序是操作系统内核的重要组成部分,在内核中占据着举足轻重的地位。同时,设备驱动在内核源码中所占份额往往可达50%以上,且设备驱动程序与硬件直接相关故而设计逻辑错综复杂,因此设备驱动程序开发和维护的工作量极其繁重,并使其成为操作系统内核漏洞的主要来源。在众多操作系统中,Linux是各种服务器及智能设备上操作系统的首要选择。为了满足新的需求和持续改善系统性能,Linux内核演变非常迅速,这便要求相关设备驱动程序必须及时地加以更新。特别地,设备驱动程序密切依赖于内核诸多功能函数和数据结构,所以内核及驱动支持接口的任何改变通常会引发那些相关联的设备驱动代码在不少地方均须做出相应的调整。毋庸置疑,设备驱动程序更新将会越来越频繁。需要指出的是,目前设备驱动更新工作基本上是依靠手工来完成的,十分费力耗时还容易出错,所以实现设备驱动程序更新的自动化势在必行。综上所述,本文开展Linux设备驱动程序自动更新方法与技术的研究,具有重要的现实意义和应用价值。本文首先研究讨论了 Linux内核差异分析、GCC插件和抽象语法树、函数调用图等相关工作及设备驱动程序协同演化问题,重点分析讨论了设备驱动相关内核依赖接口,对内核驱动依赖接口变化情况进行了分类,提出了一种基于源码的Linux设备驱动程序的自动更新方法,并建立了相应的设备驱动辅助更新模型。具体而言,从设备驱动程序对内核依赖的接口入手,通过针对性地分析设备驱动所依赖的内核接口(函数、宏和数据结构),进而展开相应依赖接口的差异性分析,然后根据设备驱动协同更新影响程度的等级划分标准进行差异筛选分类,从而生成驱动更新辅助信息即对应的更新操作提示,以协助设备驱动开发维护人员完成快速可靠的驱动更新。在此基础上,本文设计实现了一组相应的驱动更新支撑工具,包括设备驱动程序对内核依赖接口的分析工具(含设备驱动对头文件的依赖分析工具和设备驱动依赖接口信息提取工具)、设备驱动依赖接口差异分析工具及设备驱动更新辅助信息生成工具。相关原型经测试验证表明,具有较好的可用性,可以有效改善设备驱动程序的开发和维护工作。其间,还探讨了用于评估设备驱动程序辅助更新工作的量化指标即关于辅助更新提示信息的误报率和漏报率的概念及计算方法。本文关于设备驱动程序自动更新的研究工作只能算是刚刚起步,下一步可在设备驱动源码自动修正完善以及与相关开发过程和环境的有机集成等方面开展进一步研究。(本文来源于《北京交通大学》期刊2018-03-01)
Syeda,Huma,Jabeen[6](2017)在《基于故障注入的LINUX设备驱动程序测试的研究》一文中研究指出基于Linux内核的操作系统在世界上被广泛应用。一方面,超过90%的最强大的超级计算机是建立在Linux内核基础之上的。另一方面,占领移动设备最大份额市场的操作系统Android也是基于Linux而形成的。在企业系统中,使用Linux的机会越来越大,因为用户期望的是非常高的可靠性。在Linux内核中,设备驱动程序是最为重要也最为常见的关键组件之一。当然,还有许多其它重要的内核组件,例如网络堆栈、文件系统、声音和视频基础结构、提供虚拟化支持的子系统等等。测试Linux内核模块在故障情况下的行为是很重要的。为了开展故障测试,许多科学家试图通过不同的技术技巧创造一个人为的故障场景和注入相关故障。故障注入是Linux内核模块的一个重要研究和应用领域,其主要目的是在异常情况下检查和确认内核组件的行为。尽管这种情况很少发生,而且难以预料,但这却使得有关负责处理对应故障的代码很难检测到或把这种错误限制在有限的范围内。在正常测试的实施过程中,唯一能够发现这些问题的方法是人工引入一些随机性的错误。随机故障注入的工作远远优于完全没有异常的测试,但是它也有自身的一些缺点。故障注入或故障模拟技术通常通过调节故障发生和错误处理代码的执行来最大限度地减少或克服这些困难。在Linux故障注入和故障模拟方法中,可以使用不同的故障注入工具或技术,不过它们都无法满足所有各种故障情形的注入或者在支持用户注入自己想要注入的故障方面缺乏灵活性,然而这却正是关于错误处理代码的系统评估所需要的。Linux内核模块的故障模拟测试是一项重要的任务。它与用户空间应用程序不同,Linux内核模块可能会直接访问正在被内核的其它部分所使用的某些内存区域。内核模块可以在较低层级与硬件进行通信,而且可能还拥有一些在内核之外的空间几乎不可能具备的其它功能。故障注入通常会尝试验证有关系统响应是否与发生在不同范围的故障相吻合,或者有关系统响应与所要求的规格不相匹配。在正常情况下,首先在系统分析阶段确定某些系统状态和时间节点,然后在相应状态和时间节点中注入故障。测试人员往往对相关设计非常了解,然后他们会以确定的方式设计对应的测试用例。我在自己的硕士学位论文研究课题中,着重分析和研究了现有的一些主要故障注入工具或框架,例如LTP(LinuxTestProject,即Linux测试项目),KEDR(Kernel Device Driver at Runtime,即内核设备驱动程序运行时故障注入),SCSI故障注入器和 Linux 故障注入框架(Linux Fault Injection Framework,简记作 LFI)。在论文中,我首先描述了所有工具的一般故障注入框架,然后描述了每种故障注入工具的具体框架或工作机理。进一步说,一个对于所有工具通用的方法描述如下:首先,使用不同的框架并不是一件很容易的事情。在Linux测试实验中,我们试图通过利用不同的框架注入相应的故障。为此,需要分析、研究在Linux平台上(我们具体采用的是Ubuntu桌面操作系统)的故障注入的一般行为特征和流程。鉴于我们选择了 Linux内核源码、模块和设备驱动程序作为研究目标,所以,我们通过研究故障注入对内核的一般影响,从而整理完成了对应不同工具所提供的不同的故障注入功能以及相应于不同注入对象和目标的实现方法。经过大量的关于Linux内核故障注入的调查、分析、实验和研究,最后我们决定基于四种不同的故障注入平台(包括LTP、KEDR、SCSI和LFI)开展研究工作。其次,要想有效地研究故障注入的行为,就需要根据实验要求来选择合适的工具。故障注入工具的选择基本上是继续在第一步上所进行的研究,按照LFI、LTP、KEDR和SCSI这样的顺序依次选择相应的框架或工具进行分析、研究和实验例证。第叁,在成功完成第二步之后,按照对应故障注入实验的具体要求,安装所选的故障注入工具。每种故障注入工具的安装可能会有所不同,具体取决于相应的故障注入功能和支持要求。第四,当把故障注入工具完全安装成功后,就可以选择相应工具的故障支持。只能注入被选定提供的故障类型。一旦选择了故障类型,那么故障类型的参数(如概率、时间、冗余、循环和永久性等)同时也应当被指定。成功完成所有这些步骤后,就把对应故障注入到了目标对象或受害者身上。最后,收集故障注入的测试实验结果。每种工具都提供了自己的收集结果的各种方法(如syslog和dmesg)以及可用来保存相关输出结果的特定文件。根据采用不同工具进行实验所收集到的故障注入成功的有效测试结果,对它们展开纵向或横向的比较,从而验证它们的效率、行为、时延、容易程度以及类型故障支持等。1 Linux故障注入(LFI)Linux内核集成了一个故障注入框架。开发人员可以使用此框架来实现简单的故障注入工具,可以测试内核子系统的实现和设备驱动程序。本章介绍了我们在应用Linux故障注入框架注入故障时的经验。a)Page-failb)Failslab以及我们发现的局限性。2 Linux测试项目(LTP)在故障路径上调整内核执行进程的能力已经被众所周知很长时间了。如上所述,Linux内核集成了一个故障注入框架,这个基础设施可以被用来诱导不同内核部件的任意故障。现在,Linux故障注入框架被应用在LTP(Linux测试项目)测试用例,根据故障内核故障注入。LTP是本实验的两种方式使用:a)错误的内核。b)稳定的内核3运行时内核驱动程序(KEDR)KEDR强制目标模块的某些调用失败。KEDR主要是通过目标模块使一些调用失败。也许,KEDR模拟故障实际上是调用特定的目标函数的失效。用户可以对方案进行修改和控制(哪个功能可能在哪种情况下,会面临失败)。在本实验中,KEDR故障模拟在两个条件下得到验证:a)在 KEDR 中,为 kmalloc、vmalloc 和字符设备(cfake0、cfake1)注入故障。b)在不同的条件下比较kedr-sample-target模块4 SCSI Fault Injector该工具主要集中在Linux上的RAID(md/dm-miror)软件测试。该工具也可以适用于任何使用SCSI中间层的上层驱动程序/应用程序。本实验中使用此工具,RAID1(dev/md0,dev/md127)通过使用选项sector_rerr.stp(通过写入模拟可读取错误)在其上应用故障进行测试。但是它需要知道目标SCSI设备的(主要,次要)号码。或者使用特定文件,文件的inode号(例如,通过ls-i命令)指出文件位置。LTP,KEDR,LFI和SCSI故障注入工具用于Linux的结果从彼此各不相同。对于LTP(Linux测试项目),在错误的内核下进行了叁次测试,每次都有不同的概率百分比和循环次数。首先,测试了 mm(内存管理),它在错误的内核下成功运行,而没有任何的出错信息或失败。但是dma-threat-dio用例在错误的内核下失败了。在49个中只有7个测试通过,42个失败(85.7%失败发生)。在第叁次测试中,错误的内核下的mmap压力(内存映射压力)也会失败。内存映射压力04完全失败,但内存映射压力02会给出警告消息。KEDR工具用于研究内置模块(Kedr-sample-target)和定制内核模块(ExampleLKM)的故障模拟和内存泄漏的检测。两个模块"无法分配内存"和设备驱动程序(cfake0/cafakel)的故障模拟结果相同,两个模块的"出错地址"的模拟结果也是相同的。每个模块的检测内存泄漏结果有所不同,对于kedr-sample-target"allocation 3和可能泄漏possible leak 2"但是,自定义内核模块(ExampleLKM.c)"allocation 2 可能泄漏 possible leak 0"。这些结果在 debugfs 目录(sys/kernel/debug/kedr-fault-simulation/cat last fault)下被进一步验证。使用SCSI工具在RAID1下注入"故障,mdadm方法用于创建RAID1。它由sdc和sdb硬盘组成。选择注入的故障类型为"读取可校正错误"。一旦在dev/md127设备上成功注入了故障,在从syslog读取scsi脚本之后,它显示"SCSI-decision-decomposition major = 8 minor = 16 scmd = 4122759912"。一旦注入了故障,sdb 将被恢复,因为注入的故障sdb被更正,并且md127由于与sdb的关联而自动恢复。LFI不支持kedr-sample-target,因为注入内存分配失败,模块在读写操作中需要内存分配,但对于读写操作没有内存分配功能,所以没有故障可以被注入。每个测试对每个工具需要不同级别的空间,也可以这样说每个工具对空间的要求是不同的。在这几个工具中,LTP需要最大的空间,而KEDR需要较少的带有GB的空间。每个工具所需的时间取决于当时的测试或被测试的类型。通过不同的工具成功地注入故障后,观察哪种工具在哪个方面(比较基于特征,支持,设计和易用性)更好。LTP比其他的要更好,但同时从支持(只支持几种类型的故障)上看KEDR比LTP是更低的。在缓解的行为上,LFI低于其他,SCSI在所有方面都适中,意味着处于中间位置。(本文来源于《北京交通大学》期刊2017-04-01)
房好帅,朱杰,李楠[7](2016)在《嵌入式系统设备驱动程序教学探讨》一文中研究指出本科嵌入式系统课程的讲授过程中,设备驱动程序作为难点章节,基于嵌入式ARM与Linux实验平台,以LED设备、按键设备为典型案例,教学内容涉及到Linux内核模块的编写与加载、设备驱动程序机制、用户程序访问外部设备叁部分,并设计了按键控制LED、基于Web的远程控制两个综合实验。教学效果表明,将抽象知识点案例化,学生学习积极性较高,实践环节中学生完成情况符合预期要求。(本文来源于《北华航天工业学院学报》期刊2016年04期)
李玥,聂宜云[8](2016)在《WinDriver在用户模式下的ISA设备驱动程序的开发》一文中研究指出本文以转台所使用的I/O板卡及DSP板卡的驱动开发为例,探讨了一种新的驱动程序的开发模式——基于Win Driver v10.00的用户模式下ISA设备驱动程序的开发。并以Microsoft Visual C++6.0作为驱动开发的环境,分别介绍了该驱动程序的I/O端口读写、内存读写、中断监听的实现方法。(本文来源于《航空精密制造技术》期刊2016年04期)
郝旺,杨一帆[9](2016)在《Windows CE设备驱动程序开发》一文中研究指出基于Windows CE操作系统级设计的一个重要方面是原始设备制造商(OEM)和独立硬件开发商(IHV)可以对设备驱动程序来支持他们的独立于硬件的发展,而不需要微软也开发设备驱动程序。本文介绍了CE Win CE架构的过程和Windows设备驱动程序的开发,并介绍了设备驱动程序,设备驱动程序结构和中断处理。CE Windows操作系统支持4个设备驱动模型:本机设备驱动,流接口设备驱动程序,USB设备驱动,网络驱动程序。(本文来源于《通讯世界》期刊2016年09期)
崔冬旭[10](2016)在《基于XFS的IDC设备驱动程序的设计与实现》一文中研究指出XFS是金融自助服务设备中重要的协议组成部分,为了实现金融自助终端应用软件的跨平台(硬件)访问,为硬件提供商提供了统一的接口形式。IDC设备是金融自助终端的重要组成部分,用来识别用户卡,进行读卡、写卡操作。在XFS标准中同时对该设备做了说明,对该设备的操作接口属于XFS标准的一部分。SP程序则是符合XFS标准的硬件驱动程序。本文主要讨论符合XFS标准的IDC设备的SP程序的设计与实现。近两年,随着国家大力支持和发展拥有自主知识产权的设备,金融行业采购金融设备时由主要进口转为主要采购国产设备,这使得国内一大批设备厂家得以发展。然而因为国内起步较晚,技术积累不足的种种限制,导致了国内厂家的SP程序大多采用了国外落后的技术架构,架构复杂、依赖性强、难以扩展、难以修改等等问题纷纷出现,严重影响了生产厂家的生产效率。针对当前生产厂家遇到的这些问题,以及近几年的技术发展形式,确定了研究的目标:分析XFS的接口需求,研究架构简单、高内聚低耦合、易于扩展、易于修改的SP程序架构,通过多线程、队列、信号量等技术手段,以IDC设备为例,实现基于新的框架的符合XFS标准的IDC设备驱动程序。对于简单架构的设计,抛弃了目前以dll+exe服务程序+ocx的结构,新的SP架构为以多个组件编译而成的dll文件,不使用任何依赖项(包括MFC),组件通过面向对象编程实现高内聚低耦合,同时SP框架程序设计尽量与设备无关,从而实现易于扩展,使得仅需修改框架中的一个组件即可实现对同类但不同设备的支持,仅需修改个别的特定组件即可实现对不同类别设备的支持。通过对SP程序的改善,既可以提高程序的兼容性,也可以省去设备厂家重复开发的时间和人力成本,提高行业整体代码质量,加速金融业自动化建设。(本文来源于《北京工业大学》期刊2016-05-01)
块设备驱动程序论文开题报告
(1)论文研究背景及目的
此处内容要求:
首先简单简介论文所研究问题的基本概念和背景,再而简单明了地指出论文所要研究解决的具体问题,并提出你的论文准备的观点或解决方法。
写法范例:
要在Linux操作系统下开发一款支持智能设备与主机之间通过USB通信的读写控制程序,为了满足控制和通信的需要,要求快速、便捷地开发一款USB设备驱动程序以建立主机和智能设备的连接,同时能够保证数据的正确和稳定传输.为解决上述问题,本文实现了一种Linux操作系统下,基于CyAPI库的USB驱动程序开发方法.在智能设备读写控制程序中对所开发的USB驱动程序进行了验证,通过调用设备驱动程序直接实现了对USB设备的控制和数据传输,同时能够及时正确的收到智能设备的信息反馈,设备驱动程序展现了良好的稳定性.
(2)本文研究方法
调查法:该方法是有目的、有系统的搜集有关研究对象的具体信息。
观察法:用自己的感官和辅助工具直接观察研究对象从而得到有关信息。
实验法:通过主支变革、控制研究对象来发现与确认事物间的因果关系。
文献研究法:通过调查文献来获得资料,从而全面的、正确的了解掌握研究方法。
实证研究法:依据现有的科学理论和实践的需要提出设计。
定性分析法:对研究对象进行“质”的方面的研究,这个方法需要计算的数据较少。
定量分析法:通过具体的数字,使人们对研究对象的认识进一步精确化。
跨学科研究法:运用多学科的理论、方法和成果从整体上对某一课题进行研究。
功能分析法:这是社会科学用来分析社会现象的一种方法,从某一功能出发研究多个方面的影响。
模拟法:通过创设一个与原型相似的模型来间接研究原型某种特性的一种形容方法。
块设备驱动程序论文参考文献
[1].李宏宇,李茂月,刘献礼.基于RTX系统的PCI硬件设备驱动程序开发[J].制造技术与机床.2019
[2].万玛宁,侯志化.基于Linux操作系统的USB设备驱动程序开发及传输实现[J].微电子学与计算机.2018
[3].刘春龙.计算机硬件设备驱动程序分析[J].电子制作.2018
[4].任艳艳,翟高寿,张俊红.Linux设备驱动程序自动更新及辅助工具[J].计算机系统应用.2018
[5].任艳艳.Linux设备驱动程序自动更新的研究与实现[D].北京交通大学.2018
[6].Syeda,Huma,Jabeen.基于故障注入的LINUX设备驱动程序测试的研究[D].北京交通大学.2017
[7].房好帅,朱杰,李楠.嵌入式系统设备驱动程序教学探讨[J].北华航天工业学院学报.2016
[8].李玥,聂宜云.WinDriver在用户模式下的ISA设备驱动程序的开发[J].航空精密制造技术.2016
[9].郝旺,杨一帆.WindowsCE设备驱动程序开发[J].通讯世界.2016
[10].崔冬旭.基于XFS的IDC设备驱动程序的设计与实现[D].北京工业大学.2016