




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DB31/ 574-2011铝箔单位产品能源消耗限额
- 虚拟动物保护社群考核试卷
- 绿色建筑能耗监测与优化服务合同
- 跨界合作网络直播流量分成及版权保护合同
- 电动汽车电池更换系统租赁与维护服务协议
- 智能大田作物生长态势监测系统租赁及数据服务协议
- 绿色环保建材家居经销区域独家代理协议
- 2025年中国铵明矾行业市场前景预测及投资价值评估分析报告
- 海外新能源项目专用无人机租赁与管理服务协议
- 补课班班组协议书
- 铁路隧道侧沟清淤施工方案
- 完整版高中古诗文必背72篇【原文+注音+翻译】
- 饮水安全保障体系-深度研究
- 丙肝有关的考试题及答案
- 自愿放弃宅基地协议书(2篇)
- 2025年泉州市公交集团有限责任公司招聘笔试参考题库含答案解析
- 地球的自转+训练题 高二地理湘教版(2019)选择性必修1
- 2025年基本公共卫生服务人员培训计划
- 《香格里拉松茸保护与利用白皮书》
- 2025届上海市中考联考生物试卷含解析
- 信息化平台项目集成联调测试方案
评论
0/150
提交评论