设备驱动运行时跟踪方法的研究与实现
发布时间:2022-07-20 11:14
在Linux系统中,由设备驱动程序引发的错误通常比源自内核其它部分的错误要多,并且由设备驱动程序引发的漏洞问题极易影响操作系统的稳定性和安全性,因此测试设备驱动程序变得十分重要且必要。在软件测试中,运行时跟踪是监控程序实际执行过程的重要方法。同时,运行时信息还可以帮助开发人员更精确地分析程序,如验证代码执行的正确性和检测错误。不过,需要强调的是,设备驱动程序主要工作在内核模式中,在这种特定的工作场景下,跟踪驱动程序非常困难。为此,本文提出了一种可用于设备驱动运行时跟踪的方法。本文以常见的Linux设备驱动作为分析对象,概要说明了当前国内外的设备驱动分析方法和研究趋势,分析了设备驱动在系统中的重要位置及相关体系架构,根据设备驱动接口通信相关机制实施了通信架构的局部和整体分析。本文研究和提出了新的设备驱动运行时跟踪方法,该方法是基于两种基础结构Kprobes和Ftrace实现的,不仅针对两种方法的不足之处进行了改进,还提供了新的针对配对函数跟踪的思路。本文结合了内核经常调用的资源接口函数,也称配对函数,做出了进一步分析,研究了其匹配规则,提出了配对函数的提取算法,并针对其设计和构建了相应的...
【文章页数】:68 页
【学位级别】:硕士
【部分图文】:
图2-2?Linux内核主要子系统??Figure?2-2?Main?subsystems?of?Linux?kernel??
图2-9?Linux关于网络设备(a)和SCS丨磁盘设备(b)的丨/O协议栈??Figure?2-9?Drivers?in?the?Linux?I/O?protocol?stacks?for?(a)?network?and?(b)?SCSI?disk?devices??2.2.1设备驱动与内核的通信??
图4-1?TDD原型架构设计??Figure?4-1?Architecture?of?TDD?prototype??4.2基于Ftmce的待跟踪函数的获取与分析??
本文编号:3663893
【文章页数】:68 页
【学位级别】:硕士
【部分图文】:
图2-2?Linux内核主要子系统??Figure?2-2?Main?subsystems?of?Linux?kernel??
图2-9?Linux关于网络设备(a)和SCS丨磁盘设备(b)的丨/O协议栈??Figure?2-9?Drivers?in?the?Linux?I/O?protocol?stacks?for?(a)?network?and?(b)?SCSI?disk?devices??2.2.1设备驱动与内核的通信??
图4-1?TDD原型架构设计??Figure?4-1?Architecture?of?TDD?prototype??4.2基于Ftmce的待跟踪函数的获取与分析??
本文编号:3663893
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3663893.html