版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
AComparativeStudyoftheLinuxandWindowsDeviceDriverArchitectureswithafocusonIEEE1394(highspeedserialbus)driversMelekamTsegayeg98t4414@campus.ru.ac.zaSupervisorsProf.RichardFoss,BradleyKlinkradtAComparativeStudyoftheLin1OverviewTheLinuxandWindowsdriverarchitecturesTheLinuxandWindowsIEEE1394driverstacksDriverdevelopmentonthetwoplatformsResultsofthestudyOverviewTheLinuxandWindows2Whythestudywasconducted?MicrosoftWindowsandLinuxTwoofthemostpopularoperatingsystemsNopreviouscomparisonsoftheirdriverarchitecturesdonebyotherresearchersIEEE1394(firewire)PopularbusofferinghighdatatransferratesActiveresearchareafortheCSdepartment’sAudioEngineeringGroupWhythestudywasconducted?M3IEEE1394DataTransferratesof100,200and400MbpsIsochronousmodeoftransferGuaranteedbandwidth(80%)AsynchronousmodeoftransferGuaranteedpacketdelivery(20%ormore)Fullyplug‘nplayIEEE1394DataTransferrateso4IEEE1394ConsumerProductsIEEE1394ConsumerProducts5DeviceDriversAdriverisapieceofsoftwarethatextendsakernel’sfunctionalityDriversenableapplications(throughthekernel)totransferdatatoandfromadevicetocontroltheadevicetoallowmodificationofitsattributesComposedofasetofroutinesthatakernelcallsatappropriatetimese.g.read/writeDeviceDriversAdriverisapi6TypicaldriverroutinesAdriverwouldimplementInitialisationCleanupOpenReadWriteI/OControl(ioctl)CloseTypicaldriverroutinesAdrive7TheWindowsdriverarchitectureStandardmodelTheWindowsDriverModel(WDM)bus,functional&filterdriversPnP&PowermanagementCommunicationI/Orequestpackets(IRPs)TheWindowsdriverarchitectur8TheLinuxdriverarchitectureNostandarddrivermodelDriversaremodulesNoPnP&PowermanagementmessagedispatchingCommunicationthroughdirectfunctioncallsTheLinuxdriverarchitectureN9SidebysidecomparisonofthetwodriverarchitecturesLinuxWindowsSidebysidecomparisonofthe10IEEE1394driverstacksTheWindowsIEEE1394stackclosedsourcemaintainedbyMicrosoftstableTheLinuxIEEE1394stackopensourcemaintainedbytheLinux1394community(privateindividuals)taggedexperimentalIEEE1394driverstacksTheWin11TheWindowsIEEE1394stackHostcontrollerBusdriverClientdriversCommunicationI/Orequestblock(IRB)TheWindowsIEEE1394stackHos12TheLinuxIEEE1394stackHostcontrollerBusdriversClientdriversCommunicationdirectfunctioncallsDirectdriverpossibleTheLinuxIEEE1394stackHost13Sidebysidecomparisonofthetwo
IEEE1394stacksLinuxWindowsSidebysidecomparisonofthe14TheWindowsIEEE1394implementationTheWindowsIEEE1394implemen15TheLinuxIEEE1394implementationTheLinuxIEEE1394implementa16WhatoperationsshouldIEEE1394clientdriversprovide?AsynchronousOperationsReadWriteLockListenRegisterAsynchronousListeningDeregisterAsynchronousListeningIsochronousoperationsListenTalkAsynchronousstreaming WhatoperationsshouldIEEE1317WhatoperationsshouldIEEE1394clientdriversprovide?(Continued)BusresethandlingRegisterBusResetHandlerGenerateSoftBusResetObtainBusInformation(e.g.nodecount)LocalconfigurationROMmanipulationNetworktroubleshootingPingingofnodesWhatoperationsshouldIEEE1318DeviceDriverDevelopmentEnvironmentsDeviceDriverDevelopmentEnvi19IssuestobeconsideredwhencreatingdriversMemorymanagementThekernelprovidesmemoryallocation/de-allocationroutinesHastwopoolsofmemory(swappable,non-swappable)DatastructuresThekernelprovidesimplementationsforqueues,lists,stacksSynchronisationwithspinlocks,mutexes,semaphores,signalobjectsIssuestobeconsideredwhenc20Issuestobeconsideredwhencreatingdrivers(Continued)Driversroutinesmustbere-entranti.e.shouldbeexecutablebymultiplethreadswithnoproblemsavoidrecursionHardwareAbstractionLayeruseHALroutinesprovidedbythekerneltoaccesshardwareIssuestobeconsideredwhenc21MapofsoftwareproducedduringthisstudyMapofsoftwareproduceddurin22Windowsraw1394driverWindowsraw1394driver23Linuxraw1394-2driverLinuxraw1394-2driver24LinuxIeee1394diagLinuxIeee1394diag25DriverTestsTestswereruntodeterminehighestdatatransferratesthatcanbeachievedbyeachoftheIEEE1394drivershowclosethesecametothetheoreticalmaximumof50MB/sBusanalyserusedtomeasurethedurationofdatatransferstheamountofdatatransferredCalculatedthedatatransferrateinMB/sDriverTestsTestswererunto26TestresultsIsochronousmodeWindowsraw13948.9MB/spacketsize1024bytesLinuxraw13944.5MB/spacketsize512bytesIsochronousmode(buffered)Linuxraw1394-28.9MB/spacketsize1024bytesWindowsraw139417.7MB/spacketsize2048bytesTestresultsIsochronousmode27Testresults(continued)DriversfrombothLinuxandWindowsdonottransferdataatarateclosetothetheoretical50MB/sTheyachievealmosthalfthatduetothePCIbusbottleneck(theoretical132MB/s)InpracticehavethatavailablesharedbyallI/OdevicesattachedtothePCIbusThePCIbushaslatencyproblemsdriverimplementationmaynotbeefficientTestresults(continued)Driver28ConclusionAcomparisonoftheWindowsandLinuxdriverarchitectureshasshownthatDriversforthetwoplatformhavesimilarcomponentscomposedofroutinesforperformingI/OanddevicecontroldriversaremoduleswhichareloadableatruntimeWindowshasaformallydefineddrivermodel,Linuxdoesnot.PnPandpowermanagementsupportintegratedintheWindowsarchitecture,notsoinLinuxConclusionAcomparisonofthe29Conclusion(continued)AcomparisonoftheWindowsandLinuxIEEE1394stackshasshownthatTheirIEEE1394driverstacksarebrokenupintosimilarlayershostcontroller,busandclientdriverlayersEachstackprovidesthestandardIEEE1394operations(bothasynchronousandisochronous)TheLinuxIEEE1394stackisopensourcewhiletheWindowsstackisproprietaryEasiertocreateIEEE1394driversforLinuxthanWindowssinceallsourcecodeisavailableConclusion(continued)Acompar30FutureworkIEEE1394.1bridgeawarenessIEEE1394.1allowsextendingtheno.ofnodesto64Kinsteadofthecurrent63stillindraftphaseTheWindowsandLinuxIEEE1394driverdevelopersdidnottakeintoaccountIEEE1394.1bridgingintheirdesignThisstudyidentifiedbridgeawarenessrequirementsimplementationpossiblefortheLinux1394stacknotfortheWindows1394stack(closedsource)FullIEEE1394.1implementationandtestingnotdoneduringthisstudynoIEEE1394.1bridginghardwareavailablethestandardmaychangeFutureworkIEEE1394.1bridge31Questions?Questions?32AComparativeStudyoftheLinuxandWindowsDeviceDriverArchitectureswithafocusonIEEE1394(highspeedserialbus)driversMelekamTsegayeg98t4414@campus.ru.ac.zaSupervisorsProf.RichardFoss,BradleyKlinkradtAComparativeStudyoftheLin33OverviewTheLinuxandWindowsdriverarchitecturesTheLinuxandWindowsIEEE1394driverstacksDriverdevelopmentonthetwoplatformsResultsofthestudyOverviewTheLinuxandWindows34Whythestudywasconducted?MicrosoftWindowsandLinuxTwoofthemostpopularoperatingsystemsNopreviouscomparisonsoftheirdriverarchitecturesdonebyotherresearchersIEEE1394(firewire)PopularbusofferinghighdatatransferratesActiveresearchareafortheCSdepartment’sAudioEngineeringGroupWhythestudywasconducted?M35IEEE1394DataTransferratesof100,200and400MbpsIsochronousmodeoftransferGuaranteedbandwidth(80%)AsynchronousmodeoftransferGuaranteedpacketdelivery(20%ormore)Fullyplug‘nplayIEEE1394DataTransferrateso36IEEE1394ConsumerProductsIEEE1394ConsumerProducts37DeviceDriversAdriverisapieceofsoftwarethatextendsakernel’sfunctionalityDriversenableapplications(throughthekernel)totransferdatatoandfromadevicetocontroltheadevicetoallowmodificationofitsattributesComposedofasetofroutinesthatakernelcallsatappropriatetimese.g.read/writeDeviceDriversAdriverisapi38TypicaldriverroutinesAdriverwouldimplementInitialisationCleanupOpenReadWriteI/OControl(ioctl)CloseTypicaldriverroutinesAdrive39TheWindowsdriverarchitectureStandardmodelTheWindowsDriverModel(WDM)bus,functional&filterdriversPnP&PowermanagementCommunicationI/Orequestpackets(IRPs)TheWindowsdriverarchitectur40TheLinuxdriverarchitectureNostandarddrivermodelDriversaremodulesNoPnP&PowermanagementmessagedispatchingCommunicationthroughdirectfunctioncallsTheLinuxdriverarchitectureN41SidebysidecomparisonofthetwodriverarchitecturesLinuxWindowsSidebysidecomparisonofthe42IEEE1394driverstacksTheWindowsIEEE1394stackclosedsourcemaintainedbyMicrosoftstableTheLinuxIEEE1394stackopensourcemaintainedbytheLinux1394community(privateindividuals)taggedexperimentalIEEE1394driverstacksTheWin43TheWindowsIEEE1394stackHostcontrollerBusdriverClientdriversCommunicationI/Orequestblock(IRB)TheWindowsIEEE1394stackHos44TheLinuxIEEE1394stackHostcontrollerBusdriversClientdriversCommunicationdirectfunctioncallsDirectdriverpossibleTheLinuxIEEE1394stackHost45Sidebysidecomparisonofthetwo
IEEE1394stacksLinuxWindowsSidebysidecomparisonofthe46TheWindowsIEEE1394implementationTheWindowsIEEE1394implemen47TheLinuxIEEE1394implementationTheLinuxIEEE1394implementa48WhatoperationsshouldIEEE1394clientdriversprovide?AsynchronousOperationsReadWriteLockListenRegisterAsynchronousListeningDeregisterAsynchronousListeningIsochronousoperationsListenTalkAsynchronousstreaming WhatoperationsshouldIEEE1349WhatoperationsshouldIEEE1394clientdriversprovide?(Continued)BusresethandlingRegisterBusResetHandlerGenerateSoftBusResetObtainBusInformation(e.g.nodecount)LocalconfigurationROMmanipulationNetworktroubleshootingPingingofnodesWhatoperationsshouldIEEE1350DeviceDriverDevelopmentEnvironmentsDeviceDriverDevelopmentEnvi51IssuestobeconsideredwhencreatingdriversMemorymanagementThekernelprovidesmemoryallocation/de-allocationroutinesHastwopoolsofmemory(swappable,non-swappable)DatastructuresThekernelprovidesimplementationsforqueues,lists,stacksSynchronisationwithspinlocks,mutexes,semaphores,signalobjectsIssuestobeconsideredwhenc52Issuestobeconsideredwhencreatingdrivers(Continued)Driversroutinesmustbere-entranti.e.shouldbeexecutablebymultiplethreadswithnoproblemsavoidrecursionHardwareAbstractionLayeruseHALroutinesprovidedbythekerneltoaccesshardwareIssuestobeconsideredwhenc53MapofsoftwareproducedduringthisstudyMapofsoftwareproduceddurin54Windowsraw1394driverWindowsraw1394driver55Linuxraw1394-2driverLinuxraw1394-2driver56LinuxIeee1394diagLinuxIeee1394diag57DriverTestsTestswereruntodeterminehighestdatatransferratesthatcanbeachievedbyeachoftheIEEE1394drivershowclosethesecametothetheoreticalmaximumof50MB/sBusanalyserusedtomeasurethedurationofdatatransferstheamountofdatatransferredCalculatedthedatatransferrateinMB/sDriverTestsTestswererunto58TestresultsIsochronousmodeWindowsraw13948.9MB/spacketsize1024bytesLinuxraw13944.5MB/spacketsize512bytesIsochronousmode(buffered)Linuxraw1394-28.9MB/spacketsize1024bytesWindowsraw139417.7MB/spacketsize2048bytesTestresultsIsochronousmode59Testresults(continued)DriversfrombothLinuxandWindowsdonottransferdataatarateclosetothetheoretical50MB/sTheyachievealmosthalfthatduetothePCIbusbottleneck(theoretical132MB/s)InpracticehavethatavailablesharedbyallI/OdevicesattachedtothePCIbusThePCIbushaslatencyproblemsdriverimplementationmaynotbeefficientTestresults(continued)Driver60ConclusionAcomparisonoftheWindowsandLinuxdriverarchitectureshasshownthatDriversforthetwoplatformhavesimilarcomponents
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO/IEC 23090-25:2025 EN Information technology - Coded representation of immersive media - Part 25: Conformance and reference software for carriage of visual volumetric vid
- 二零二五版企业清算注销及税务筹划合同3篇
- 二零二五版供配电设施安全风险评估与治理合同3篇
- 二零二五版锅炉安装与能源审计服务合同范本3篇
- 二零二五版阿拉尔经济技术开发区绿色建筑推广应用合同3篇
- 二零二五版高职高专土建专业校企合作项目合同3篇
- 二零二五版二手车买卖纠纷处理合同3篇
- 二零二五版公益项目合同担保法合规合同3篇
- 二零二五版专业打印设备升级与维护服务合同2篇
- 二零二五版电子商务平台食品农产品溯源合同3篇
- 2025年工程合作协议书
- 2025年山东省东营市东营区融媒体中心招聘全媒体采编播专业技术人员10人历年高频重点提升(共500题)附带答案详解
- 2025年宜宾人才限公司招聘高频重点提升(共500题)附带答案详解
- KAT1-2023井下探放水技术规范
- 驾驶证学法减分(学法免分)题库及答案200题完整版
- 竣工验收程序流程图
- 清华经管工商管理硕士研究生培养计划
- 口腔科诊断证明书模板
- 管沟挖槽土方计算公式
- 国网浙江省电力公司住宅工程配电设计技术规定
- 烟花爆竹零售应急预案
评论
0/150
提交评论