外围设备与操作系统的连接技术方案

技术编号:2823684 阅读:301 留言:0更新日期:2012-04-11 18:40
一种用于安装功能驱动器的装置使用为每个外围设备加载的主驱动器,所述功能驱动器提供计算机应用和各种外围设备之间的通信。主驱动器接收各外围设备的连接的通知,并及时地加载合适的功能驱动器。每个功能驱动器都具有(1)与应用进行通信的接口部分和(2)与关联于该应用的外围设备进行通信的外围部分。当设备被断开连接时,相关联的功能驱动器被通知,并且作为响应,驱动器停止它的外围部分的操作而保持它的接口部分的操作。

【技术实现步骤摘要】
【国外来华专利技术】专利技术背景专利
本专利技术涉及用于将外围设备(peripheral device)与计算机相连接的虚拟端口。更特别地,本专利技术涉及一种当外围设备与计算机断开连接时能够保持虚拟串行端口的设备驱动器装置。背景信息在过去以及一定程度上在现在,外围设备一直以来通过用“com端口”号指定的硬件串行端口而与计算机相连接。使用这些外围设备的软件应用通过软件设备驱动器来与这些外围设备进行通信。这些外围设备被称为“内置式(builtin)”,原因在于系统在运行的时候将不会对设备的插拔作出响应。最近,已经通过USB(通用串行总线)硬件端口和与诸如MicrosoftCorporation(微软公司)销售的WINDOWS 2000TM和WINDOWS XpTM之类的操作系统包含在一起的“即插即用(Plug-N-Play)”软件而引入了“可热插拔(hot-pluggable)”设备。当可热插拔设备被连接到计算机时,操作系统内核(kernel)会安装该设备所特有的设备驱动器(driver)。在这种情况下,驱动器就起着与用户应用交互的虚拟com端口的作用,就如同它是内置式装置中的硬件com端口。在计算机操作期间,如果该设备被从计算机拆下(detach),那么计算机就会使相关联的驱动器自身从计算机中移除,并且这移除了由该驱动器提供的虚拟com端口功能。这可能会导致故障,原因在于一些应用需要com端口连接,即使相应的设备已经被拆下也需要。
技术实现思路
本专利技术大体上涉及将设备驱动器拆分成两部分。一部分,可以称作com接口部分”,向相关联的应用提供“com”接口;另一部分,可以称作“驱动器端口”,提供与外围设备的通信。这两部分相互通信,并且对使用驱动器的用户应用而言,它们表现为典型的设备驱动器。com接口部分执行附加功能,如在这里所-->描述的其他软件模块执行的那样。当外围设备被插入USB端口中时,它被操作系统检测到,该操作系统与该外围设备进行通信来获取信息,所述信息在为该设备选择设备驱动器和在把该驱动器加载到计算机存储器中的过程中使用。如以前那样,与外围设备进行通信的用户应用被通知,并且该应用和外围设备之间的通信通过驱动器。该过程对计算机操作系统是比较常见的。然而,当可热插拔的外围设备在计算机操作期间被拔出时,本专利技术提供的设备驱动器则起到不同的作用。特别地,像以前,操作系统检测(sense)外围设备的拆除。然后,它命令设备驱动器移除其本身。在本专利技术之前,设备驱动器释放它的存储器空间,并从而移除与应用通信的com端口。除非写入或者重新写入应用来处理com端口的移除,否则就会产生故障。然而,这里描述的设备驱动器仅仅通过移除与被拆除的设备通信的那部分来作为响应。它不释放包含com端口的存储器空间。因此,应用能够继续与驱动器进行通信,如同外围设备没有被拔出来一样。当然,这将不会延伸到外围设备本身,因此就如同设备发生了故障一样来操作。可替换地,驱动器能够被配置成向应用提供更适合该特定应用的响应。附图简要说明以下专利技术描述的内容提及以下附图,分别是:图1是包括在典型的现有技术的USB端口装置中的软件的框图;图2是与本专利技术相结合的典型USB端口装置的框图。说明性实施例的详细描述以下描述特别涉及Microsoft Corporation的操作系统。对于那些编写与操作系统内核相联系的软件的人来说,这些系统是公知的。除掉本专利技术所提供的那些模块之外,在这里所涉及的各种软件模块都已经被Microsoft Corporation公开。图1示出了用于在一方面的应用和被插入到USB 13中的USB多功能设备12之间进行通信的现有技术装置,所述应用例如是GPS地图应用10A、同步应用10B和拨号网络实用程序(utility)10C。应用10A与设备12的GPS接收器功能(function)进行通信以在计算机显示器上提供各种地图功能。应用10B被用于使计算机中的数据与设备(未示出)相同步,所述设备例如是个人数字助理(PDA)。拨号网络实用程序10C与设备12的调制解调器功能进行通信。-->应用通过win 32com API(应用程序接口)14与操作系统内核(未示出)相联系。API 14又与设备驱动器16A、16B和16C通信,这些驱动器对于应用而言起着虚拟com端口的作用。通信路径通过组合(composite)USB总线驱动器18以及通过USB驱动器接口(USBDI)20来完成,所述组合USB总线驱动器18包括用于进入和输出的数据的驱动器栈(未示出)。可替换地,可以用分离的物理USB端口,用被插入到这些端口中的提供相应功能的设备来配置外围设备装置(arrangement),而不是使用单个多功能USB设备来配置外围设备装置。当系统被开启或者重新启动时,USBDI 20为USB设备检查外围总线13。它对它所发现的设备进行询问并把它们标识给内核。接着内核将相关的驱动器(例如驱动器16A、16B和16C)加载到存储器中并向API 14提供这些驱动器的地址。然后,应用就能够与相应的外围功能进行通信。在计算机操作期间设备12的拆除被USBDI 20检测到,USBDI 20向内核通知该拆除。然后内核向设备驱动器16A,16B和16C发信号以通知释放它们的存储器空间,从而移除驱动器。如上所讨论的那样,这可能会导致计算机故障。在图2中示出了本专利技术,各种部件与图1所示的系统中采用同样附图标记的部件提供相同功能。然而,当系统被初始化时,即被开启或者重新启动时,主驱动器22也被加载到工作存储器中。特别地,与在现有技术的装置中一样,每个外围设备都具有ID号码,所述ID号码是当该外围设备被检测到时系统从该设备获得的。这个号码通常被操作系统使用来为该设备选择和加载适当的驱动器到工作存储器中。在图2所示的装置中,为可以依照本专利技术而连接的每个外围设备,在启动时加载独立的主驱动器。在启动时每个主驱动器都被加载到存储器中,然后,它向内核登记连接通知,所述连接通知涉及具有与该主驱动器相关联的ID的外围设备。因此,主驱动器22登记与外围设备有关的通知,所述外围设备的ID就是多功能设备12的ID。当系统启动时,设备12被检测到,主驱动器22通过建立功能驱动器16A、16B和16C来响应作为结果的通知。功能驱动器又向内核登记与外围设备12的连接或者断开有关的通知。根据本专利技术,每个功能驱动器16的功能被有效地分为两个模块:com端口接口部分16A1本文档来自技高网
...

【技术保护点】
一种用于在用户应用和外围设备功能之间通信的驱动器系统,所述系统包括:    (A)主驱动器,用来    (1)接收与外围设备有关的可用性通知,和    (2)为外围设备安装功能驱动器,    (B)所述功能驱动器具有    (1)应用接口部分和外围接口部分,接口部分与用户应用通信并为应用提供com端口,和    (2)外围接口部分在应用接口端口和与应用相关联的外围功能之间进行通信,    (C)应用接口部分接收外围设备的拆除的通知,并且作为响应,把它自身与外围接口部分之间的连接断开,由此与被拆除的外围设备通信的应用仍然被提供以com端口,所述com端口为来自应用的通信提供适当的响应。

【技术特征摘要】
【国外来华专利技术】US 2005-8-23 60/710,4751、一种用于在用户应用和外围设备功能之间通信的驱动器系统,所述系统
包括:
(A)主驱动器,用来
(1)接收与外围设备有关的可用性通知,和
(2)为外围设备安装功能驱动器,
(B)所述功能驱动器具有
(1)应用接口部分和外围接口部分,接口...

【专利技术属性】
技术研发人员:SG小斯卡菲迪
申请(专利权)人:摩尔电脑顾问公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1