




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年山西卫生健康职业学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 2025年安徽汽车职业技术学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 2025年宁夏警官职业学院高职单招(数学)历年真题考点含答案解析
- 2025年天津渤海职业技术学院高职单招语文2019-2024历年真题考点试卷含答案解析
- 2025年天府新区航空旅游职业学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 教师说课内容展示
- 《教学工作汇报与总结》
- 护理学妇产科护理学
- 设备安装合同质保协议
- 胸椎骨折术后护理措施
- 育婴行业前景及就业前景
- 2024年美容师考试理论回顾试题及答案
- 老旧城市燃气管道更新改造工程设计方案
- 中医经典临证思维与实践知到课后答案智慧树章节测试答案2025年春浙江中医药大学
- 动火和受限空间作业监护人考试题有答案
- (正式版)HGT 6313-2024 化工园区智慧化评价导则
- 康复医学科髋关节Harris-、膝关节HSS评分表
- 小学数学问题解决(吴正宪)
- 第五节 胡静-常用正颌外科手术
- 矿井开拓方案比较
- DB23-黑龙江省建设工程施工操作技术规程-城镇道路工程.doc
评论
0/150
提交评论