单一内核操作系统设备驱动程序缺陷研究

单一内核操作系统设备驱动程序缺陷研究

ID:33930479

大小:388.57 KB

页数:5页

时间:2019-02-28

单一内核操作系统设备驱动程序缺陷研究_第1页
单一内核操作系统设备驱动程序缺陷研究_第2页
单一内核操作系统设备驱动程序缺陷研究_第3页
单一内核操作系统设备驱动程序缺陷研究_第4页
单一内核操作系统设备驱动程序缺陷研究_第5页
资源描述:

《单一内核操作系统设备驱动程序缺陷研究》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、万方数据单一内核操作系统设备驱动程序缺陷研究秦莹戴华东颜跃进(国防科学技术大学计算机学院长沙410073)摘要设备驱动程序是操作系统内核中代码量最大、缺陷最多的组件。单一内核操作系统中驱动程序处于内核态执行。驱动程序缺陷引发的错误往往直接导致内核崩溃,极大地降低系统可用性。分析了单一内核驱动程序存在的缺陷并将其按照位置分类,介绍了驱动程序缺陷解决方法。关键词单一内核,操作系统,设备驱动,缺陷中图法分类号TP314文献标识码AStudyOilDefectsRelatetoDeviceDriverinMonolithicKernelofOpera

2、tingSystemQINYingDAIHua-dongYANYue-jin(SchoolofComputerScience,NationalUniversityofDefenseTechnology.Changsha410073,China)AbstradDevicedriversaremajorandeasierfaultypartofkernelEspeciallyinmonolithickernelofoperatingsystem,devicedriversexecuteinsupervisormode,defectsindevic

3、edriversusuallyresuhinkernelpanic,greatlydegradethea—vailabilityofoperatingsystem.Defectsindevicedriverswereanalyzedand.sorted,methodsofreducingdefectsindevicedriverwereintroduced.KeywordsMonolithickernel,Operatingsystem,Devicedriver,Defect1引言2驱动程序缺陷分析和分类随着社会信息化程度的提高,运行于各类计

4、算机及电子设备中的操作系统逐渐成为与日常生活息息相关的组成部分。操作系统可靠性成为与性能同等重要的追求目标。主流操作系统如Unix,Linux采用了单一内核结构。设备驱动程序等扩展功能模块和内核核心代码同处于核态运行。这种单一内核结构在带来性能优势的同时也带来了可靠性隐患:设备驱动程序以任务队歹lj处理线程和中断线程的形式处理用户请求和设备应答。中断处理和任务队列处理这两类内核线程一旦因程序缺陷(defect)而改变正常运行轨迹,将会导致操作系统内核运行混乱,进而引发内核崩溃。斯坦福大学研究表明[1],Linux驱动程序代码缺陷的出现频度(以

5、平均每万行代码存在的缺陷数计)是Linux内核其他部分代码的3~7倍;而据美国Coverity公司报告[2],2009年每万行Linux内核代码存在1.27个缺陷,据此可推算在Linux操作系统中每万行驱动程序存在4~8个缺陷。win.dowsServer缺陷统计报告显示[3],WindowsServer设备驱动程序缺陷造成87%的系统崩溃;即使是微软最新推出的Wi旷dows7操作系统,驱动程序仍然是制约操作系统可靠运行的主要障碍。本文对单一内核操作系统中设备驱动程序缺陷进行分析并根据缺陷在驱动程序中所处的位置进行分类;在该分类基础上。分析国

6、际上针对不同类型缺陷提出的解决方法,提出存在的问题和进一步研究方向。2.1单一内核操作系统的内核和驱动结构目前单一内核操作系统的内核采用模块化设计:内核核心开发者实现处理器调度、内存管理、并发控制机制(锁、信号量)等核心功能模块;采用动态加载内核模块机制,集成由第三方开发的设备驱动、文件系统等扩展功能模块。·设备驱动程序是重要内核扩展,表现在两个方面:①代码量大。管理I/0硬件资源是内核的主要任务,为驱动种类繁多的I/0硬件,内核集成大量驱动代码;驱动程序代码在Linux2.6内核中占到了50%以上。②关系复杂。驱动程序和设备之间通过硬件协议

7、完成数据交互;驱动程序还要和操作系统内核其他模块交互,如使用内核并发控制机制、内核内存分配功能及为文件系统提供数据服务等;驱动程序以内核线程形态存在。同其他内核线程竞争计算、存储等资源。图1给出内核组成示意图,说明驱动程序在单一内核操作系统中的位置。虚线间的部分为操作系统内核,驱动位于内核子系统和设备之间。实现内核核心、设备之间交互代理功能。I应用程序lI应用程序II应用程序l用户空阍一一一==I:晤=_=-:旺:=_=:匹=_=!一一L』篁堡坠蚓I内棱空同l驱动程序I一一=了==1f===—=_==刁■===z=_=_=巧=_=:l一一苫固

8、白硬件图1内核组成示意图到稿日期:2010-05-07返修日期:2010-08-29本文受国家863计划重大项目(2008AAOIA203)。核高基重大专项(200

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。