交叉环境事件通知的制作方法

文档序号:6484462阅读:133来源:国知局
交叉环境事件通知的制作方法【专利摘要】一种移动计算设备具有在不虚拟化的情况下同时并独立地运行在共享内核上的移动操作系统和桌面操作系统。该移动操作系统提供了对于适合于移动环境的移动计算设备的用户体验。在该移动操作系统对接到第二用户环境时,该桌面操作系统提供了全桌面用户体验。交叉环境通知和事件应对通过与桌面操作系统相关联的用户环境允许向用户通知发生在移动操作系统内的事件,并允许用户响应于该事件。可以触发交叉环境通知的事件可以是本地事件和/或远程事件。该移动计算设备可以是在修改的安卓内核上运行安卓移动操作系统和全桌面Linux发布的智能电话。【专利说明】交叉环境事件通知[0001]相关申请的交叉引用[0002]本申请是以下美国临时申请的非临时申请并且要求它们的提交日期的权益:美国临时申请号61/389,117,2010年10月I日提交,题为“Mult1-OperatingSystemPortableDockingDevice”;美国临时申请号61/507,199,2011年7月13日提交,题为“DockableMobileSoftwareArchitecture”;美国临时申请号61/507,201,2011年7月13日提交,题为“Cross-EnvironmentCommunicationFramework,,;美国临时申请号61/507,203,2011年7月13日提交,题为“Mult1-OperatingSystem”;美国临时申请号61/507,206,2011年7月13日提交,题为“Auto-ConfigurationofaDockedSysteminaMult1-OSEnvironment”;以及美国临时申请号61/507,209,2011年7月13日提交,题为“Auto-WakingofaSuspendedSecondaryOSinaDockableSystem”,其中以上优先权申请的全部内容通过弓I用合并于此用于所有目的。【
技术领域
】[0003]本申请一般涉及移动计算环境的领域,更具体地涉及通过在单个移动计算设备中使用多个操作系统来支持多个用户环境。【
背景技术
】[0004]移动计算设备在当今社会中正变得无处不在。例如,至2008年末,90%的美国人具有移动无线设备。同时,移动设备的性能正在迅速提升,包括将提升的计算能力与移动电话能力集成的智能电话。移动提供者在过去三年中已经基于几个不同的平台(例如苹果的iPhone,安卓,黑莓,Palm和WindowsMobiIe)投入了数百种新的智能电话。在美国,至2010年年中,智能电话渗透率(penetration)达到几乎23%,并且在某些年龄段达到35%。在欧洲,从2009年到2010年,智能电话市场增长了41%,至2010年7月,仅在五个最大的欧洲国家就有超过6千万的智能电话用户。[0005]虽然智能电话的普及性和计算性能在增长,但是它们提供了有限的用户体验。具体地,它们通常具有被修改用于移动设备硬件的操作系统以及可用于修改的操作系统的应用的限定集合。例如,许多智能电话运行Google的安卓操作系统。安卓仅运行专门被开发用于在基于Java的虚拟机运行时间环境内运行的应用。另外,尽管安卓是基于修改的Linux内核,但是其使用与Linux不同的标准C库、系统管理器和服务。因而,为Linux而写的应用没有修改或移植(porting)不在安卓上运行。类似地,苹果的iPhone使用iOS移动操作系统。同样,尽管iOS是从MacOSX得到的,但是为OSX开发的应用不在会iOS上运行。因此,尽管许多应用可用于诸如安卓和iOS的移动操作系统,但是用于诸如Linux和MacOSX的桌面操作系统的许多其他普通应用在移动平台上不可用。[0006]因而,智能电话通常适合于有限的用户体验集并且提供主要设计用于移动环境的应用。特别是,智能电话不提供适当的桌面用户体验,也不运行大多数普通桌面应用。因此,许多用户携带并使用多个计算设备,包括智能电话、桌面和/或平板计算机。在此实例中,每个设备具有其自己的CPU、存储器、文件存储区和操作系统。[0007]智能电话和其他技术设备之间的连接性和文件共享涉及通过无线或有线连接将一个设备(例如运行移动OS的智能电话)与第二完全不同的设备(例如运行桌面OS的笔记本、桌面机或者平板(tablet))。通过在分别在每个设备上运行的应用之间同步数据而在设备之间共享信息。通常称为“同步”的此处理是麻烦的并且通常需要用户的主动管理。【
发明内容】[0008]本发明的实施例涉及在单个移动计算设备中提供智能电话的移动计算体验以及第二终端环境的适当的用户体验。第二终端环境可以是视觉呈现设备(例如监视器或显示器)、输入设备(例如鼠标、触控板、触摸屏、键盘等)和通过有线(例如USB、电线、雷电(Thunderbolt)等)或者无线(例如蓝牙、WiFi等)连接而连接到计算设备的其他计算外围设备(例如HDD、光盘驱动器、记忆棒、相机、打印机等)的一些组合。在这些实施例中,与移动环境的用户体验相关联的移动操作系统以及与第二终端环境的用户体验相关联的桌面操作系统在共享的内核上同时并独立地运行。[0009]根据符合各个实施例的一个方面,移动操作系统与桌面操作系统同时运行在共享内核上。一种用于移动操作系统和桌面操作系统之间的事件的交叉环境通知的方法包括:响应于发生在移动操作系统内的事件,在该移动操作系统中广播事件通知;在该移动操作系统的通知接收器中接收该事件通知;在该移动操作系统的事件过滤器中过滤该事件通知以找到预定事件;以及基于该事件通知匹配于所述预定事件的确定,通过处理间通信信道将与该预定事件相关联的交叉环境通知发送到该桌面操作系统的组件。[0010]根据符合各个实施例的其他方面,该方法可以包括查询该移动操作系统以找到与该事件通知相关联的参数。可以在移动操作系统的广播接收器中接收该事件通知。该广播接收器可以进行预定事件与交叉环境通知的运行时间绑定。该方法可以包括由该桌面操作系统显示与该交叉环境通知相关联的消息和/或图标。可以在该移动操作系统的广播接收器的意图过滤器中接收该事件通知。可以由该桌面操作系统的共享库的事件处理机在该桌面操作系统中接收该交叉环境通知。该移动操作系统可以是安卓移动操作系统,并且该桌面操作系统可以是Linux桌面操作系统。该方法可以包括在该移动操作系统中接收来自该桌面操作系统的组件的、指示响应于对该交叉环境通知的通知回调(callback)的用户选择而进行的动作的答复。[0011]根据符合各个实施例的其他方面,移动计算设备包括与桌面操作系统同时运行在共享内核上的移动操作系统。该移动计算设备进一步包括:通知管理器,响应于发生在移动操作系统内的事件而广播意图对象;广播接收器,接收该意图对象;意图过滤器,过滤该意图对象以找到与预定事件相关联的意图对象;交叉环境事件通知器,将与该预定事件相关联的交叉环境通知发送到该桌面操作系统的组件,这些组件实例化与该预定事件对应的共享库的事件监听器。该交叉环境通知可以通过套接字被传递到该共享库。该交叉环境通知可以包括与意图对象相关联的消息,该共享库的事件监听器在与该桌面操作系统相关联的用户环境内显示所述消息。[0012]根据符合各个实施例的其他方面,移动计算设备包括存储用于物理处理器的指令的计算机可读介质。该指令在被执行时致使该处理器进行包括以下的步骤:在共享内核上同时运行移动操作系统和桌面操作系统;响应于在该移动操作系统内发生的事件,在该移动操作系统中广播事件通知;在该移动操作系统的通知接收器中接收事件通知;在该移动操作系统的事件过滤器中过滤该事件通知以找到预定事件;以及基于该事件通知匹配于所述预定事件的确定,通过处理间通信信道向该桌面操作系统的组件发送与该预定事件相关联的交叉环境通知。[0013]根据符合各个实施例的其他方面,所述指令可以进一步致使所述处理器进行以下步骤:查询该移动操作系统以找到与该事件通知相关联的参数;在该移动操作系统中接收来自该桌面操作系统的组件的、指示响应于对该交叉环境通知的通知回调的用户选择而进行的动作的答复;在与所述桌面操作系统相关联的用户环境的显示器上显示所述通知;在所述桌面操作系统的共享库的事件处理机中接收所述交叉环境通知;和/或将指示该通知被用户接收的通知答复消息从桌面操作系统发送到移动操作系统。该移动操作系统可以是安卓移动操作系统,并且该桌面操作系统可以是Linux桌面操作系统。【专利附图】【附图说明】[0014]在附图的引用的图中例示了本发明的实施例,附图中,对图的描述通篇中相同的数字指代相同的要素。[0015]图1例示根据各个实施例的提供多个用户计算体验的计算环境。[0016]图2例示根据各个实施例的用于移动计算设备的示例系统架构。[0017]图3例示根据各个实施例的用于计算环境的操作系统架构。[0018]图4例示根据各个实施例的可以在多操作系统计算架构中采用的移动操作系统。[0019]图5例示根据各个实施例的用于计算环境的操作系统架构的方面。[0020]图6例示根据各个实施例的可以在多操作系统计算架构中采用的桌面操作系统。[0021]图7例示根据各个实施例的支持多个用户环境的多OS计算环境。[0022]图8例示根据各个实施例的在多OS计算环境中提供交叉环境通知和事件应对的计算环境。[0023]图9更详细地例示根据各个实施例的图8的计算环境的方面如何提供交叉环境通知应对。[0024]图10例示根据各个实施例的用于在多OS计算环境中提供交叉环境通知和事件应对的示例处理流程。【具体实施方式】[0025]包括计算性能的移动电话设备(即,智能电话、手持机、移动站、可携式通信设备等)的普及性正在增加。这些智能电话的许多包括运行在移动处理器上的移动操作系统(“OS”)。尽管移动处理器和移动OS已经增加了这些设备的性能,但是至少由于所提供的有限的用户体验,智能电话还没有趋向于取代诸如桌面或者笔记本计算机的个人计算机(“PC”)环境(即Windows、MaxOSX、Linux)。具体地,在智能电话上找到的(一个或多个)用户接口设备通常被设计用于移动环境。例如,智能电话通常使用小的拇指型QWERTY键盘、触摸屏显示器、点击转盘(clickiheel)和/或滚轮作为用户接口设备。移动OS以及为移动OS开发的应用(即“App”)通常针对移动环境的限制而设计,包括出现在移动设备上的移动处理器和(一个或多个)用户接口设备。因此,已经开发用于PC操作系统的许多应用对于移动OS不可用(即未被编译用于移动OS并且不会在移动OS上运行)。另外,对于诸如打字和编辑文档的某些任务,全尺寸的键盘和大的显示器比通常在智能电话找到的用户接口组件更容易使用。[0026]因而,用户通常为了每个计算体验使用单独的计算设备,包括智能电话、平板计算机、膝上计算机和/或桌面计算机。在此实例中,每个设备具有其自己的CPU、存储器、文件存储区和OS。智能电话和其他设备之间的连接性和文件共享涉及通过无线或有线连接将一个设备(例如运行移动OS的智能电话)连接到第二完全不同的设备(例如运行桌面OS的笔记本、桌面机或平板机)。通过同步分别运行在每个设备上的应用之间的数据而在设备之间共享信息。通常称为“同步”的此处理是麻烦的并且通常需要用户的主动管理。[0027]图1例示根据各个实施例的通过如下移动设备提供多个用户计算体验的计算环境100,该移动设备具有包括与分别的多个用户交互空间(即多个用户环境)相关联的多个操作系统。计算环境100的第一用户交互空间115包括移动计算设备110的显示器116和I/O设备118。当移动计算设备110作为单独的移动设备而操作时,移动0S130通过用户交互空间115给出通常的移动计算用户体验。移动0S130提供的移动计算体验通常包括适合于用户交互空间115的移动电话能力和图形用户接口(“⑶I”),该用户交互空间115包括(一个或多个)显不器116和(一个或多个)1/0设备118。例如,(一个或多个)显不器116可以是(一个或多个)触摸屏显示器,并且可以主要使用(一个或多个)触摸屏显示器116通过移动0S130的基于手势的⑶I,来控制运行在移动0S130上的各个应用程序(即“App”)。[0028]在计算环境100中,移动计算设备110可以与包括I/O设备144、146和/或148的第二终端环境140对接。在一些实施例中,通过将移动计算设备110的端口120连接到第二终端环境140的端口142,来将移动计算设备110与第二终端环境140对接。在此实例中,第二终端环境140给出计算环境100的第二用户交互空间。在一些实例中,第二用户交互空间可能更适合于桌面计算体验。在这些实例中,桌面0S160可以与第二终端环境140相关联以通过第二用户交互空间提供笔记本、平板或桌面计算机环境的全部性能。[0029]在实施例中,移动0S130和桌面0S160同时运行在移动计算设备110的处理器上的共享内核上。在提交于2011年8月24日、题为“MULT1-OPERATINGSYSTEM”的美国专利申请中N0.13/217,108中更详细地描述了移动OS和桌面OS在共享内核上的同时执行,在此通过引用并入。以此方式,单个移动计算设备可以通过第一用户交互空间提供移动计算体验并且通过第二用户交互空间提供桌面计算体验。尽管携带可以通过分别的用户交互空间同时执行多个操作系统的一个计算设备的能力解决了用户的许多问题,但是每个用户交互空间(通过同时运行的移动OS和桌面OS)通常提供了单独的可用应用和用户功能性的集口ο[0030]本发明的实施例旨在通过允许在第一OS(例如移动0S130)内的通知而促进无缝的交叉环境工作流。[0031]本发明的实施例旨在促进运行在第一OS(例如移动0S130)中的应用在第二OS(例如桌面0S160)内的表象(apparent)执行,其中第一和第二OS同时运行在共享内核上。值得注意,在第二OS中为用户提供对于为第一(例如不兼容的)OS编译并且运行在第一OS中的应用的输入(例如输入设备)和输出(例如显示器、音频等)支持涉及解决多个问题。当应对同时运行的多个应用的显示和交互性时,可能出现另外的问题。[0032]例如考虑第一和第二用于两者都被编译用于第一OS并且同时运行在第一OS上。但是,用户希望观看第一应用的图形输出,并且通过与该第一OS相关联的输入/输出设备(例如使用移动计算环境的触摸屏显示器)与该第一应用交互,并且希望观看第二应用的图形输出,并且通过与第二OS相关联的输入/输出设备(例如使用桌面计算环境的显示器、键盘和鼠标)与该第二应用交互。应对此情况涉及在多个显示环境中的图形的同时应对以及对于所有在分别的(例如不兼容的)操作系统上的分别的应用的多个输入/输出流的同时处理。[0033]因而,实施例提供了用于在第二OS的用户交互空间内访问第一OS的应用、在第二OS的用户交互空间内显示运行在第一OS中的应用、以及应对通过第二OS的用户交互空间与那些应用的用户交互的各种新颖的技术。实施例包括第二OS的控制台(console)应用,其支持交叉环境应用的各种显示和用户交互特征。[0034]一组实施例提供了使用所谓的“非延伸的”呈现上下文的跨过多个OS计算环境的同时用户接口支持的技术。另一组实施例提供了使用所谓的“延伸的”呈现上下文的跨过多个OS计算环境的同时用户接口支持的技术。再另一组实施例提供了使用所谓的“镜像的”上下文的跨过多个OS的同时的用户接口支持的技术。又再另一组实施例提供了从第二OS的用户交互空间到在第一OS上可用的应用的访问。以下将更全面地描述这些组的实施例的每组。[0035]如上所述,计算环境100通过与同时运行多个操作系统的移动设备相关联的多个用户交互空间来提供多个用户计算体验。具体地,因为移动计算设备110包括多个OS,其中每个OS适合于具体的计算环境,移动计算设备110可以与外部I/O设备适配以利用单个移动计算设备提供广阔范围的用户体验。例如,用户可以具有移动计算设备110和膝上型外壳中的包括键盘、显示器和/或(一个或多个)指向设备的第二终端环境140。当移动计算设备110与此类似膝上型的第二终端环境对接时,通过第二终端环境140,桌面0S160的全部性能可用。[0036]图2例示根据各个实施例的移动计算设备110的示例硬件系统架构。移动计算设备硬件112包括移动处理器114,该移动处理器114包括一个或多个CPU核204以及外部显示接口220。通常,移动计算设备硬件112还包括I/O设备118、存储器206、存储设备208、连接到触摸屏显示器116的触摸屏显示器控制器210、连接到电池216的电力管理IC214、蜂窝调制解调器218、通信设备222和/或通过各种通信信号和接口连接到处理器114的其他设备224。I/O设备118通常包括按钮以及可以在移动计算设备110中采用的其他用户接口组件。例如,I/O设备118可以包括一组按钮(例如后退、菜单、主页(home)、搜索等等)、离屏手势区、点击转盘、滚轮、QWERTY键盘等等。其他设备224可以包括例如GPS设备、LAN连接、麦克风、扬声器、相机、加速计和/或MS/MMC/SD/SD10卡接口。外部显示接口220可以是任何适当的显示接口(例如VGA、DV1、HDMI等等)。[0037]处理器114可以是基于ARM的移动处理器。在实施例中,移动处理器114是诸如TexasInstruments的0MAP3430、Marvell的PXA320、Freescale的iMX51或者Qualcomm的QSD8650/8250的基于ARM的移动处理器。但是,移动处理器114可以是另一适合的基于ARM的移动处理器或者基于诸如例如基于x86的处理器架构或者其他基于RISC处理器架构的其他处理器架构的处理器。[0038]尽管图2例示了移动计算设备110的一个示例的硬件实现112,但是在本发明的范围内可构思其他架构。例如,图2中所示的在移动处理器114外部的各个组件可以被集成到移动处理器114中。可选地,在图2中示出为集成到移动处理器114中的外部显示接口220可以在移动处理器114外部。另外,采用系统总线、分离的图形处理器和/或其他架构变型的其他计算机架构适合于采用本发明的方面。[0039]图3例示根据各个实施例的可以采用以在移动计算设备110上同时运行移动0S130和桌面0S160的OS架构300。如图3所示,移动0S130和桌面0S160是独立的操作系统。具体地,移动0S130和桌面0S160可能具有独立的并且不兼容的用户库、图形系统和/或框架层。OS架构300的功能和指令可以作为计算机程序代码存储在移动计算设备100的有形计算机可读介质上。例如,用于OS架构300的指令可以存储在移动计算设备硬件112的(一个或多个)存储设备208中。[0040]在OS架构300中,移动0S130和桌面0S160同时运行在共享内核320上。这意味着,移动0S130和桌面0S160在相同时间时运行在共享内核320上。具体地,移动0S130和桌面0S160两者通过进行对共享内核320的系统调用而经过相同的内核接口322接口到共享内核320。共享内核320管理用于移动0S130和桌面0S160两者的处理的任务调度。在这点上,移动0S130和桌面0S160在共享内核320上独立地并且同时运行。另外,共享内核320直接运行在移动计算设备硬件112的移动处理器114上,如硬件接口312所示。具体地,共享内核320直接管理诸如CPU调度、存储器访问和I/O的移动计算设备硬件112的计算资源。在这点上,硬件资源不是虚拟化的,意味着移动0S130和桌面0S160通过内核接口322而没有虚拟化的存储器或I/O访问地进行系统调用。[0041]如图3所示,移动0S130具有库层330、应用框架层340和应用层350。在移动0S130中,应用352和354运行在移动0S130的应用框架层340所支持的应用层350中。应用框架层340包括由运行在移动0S130上的应用使用的(一个或多个)管理器342和(一个或多个)服务344。例如,应用框架层340可以包括窗口管理器、活动性管理器、包管理器、资源管理器、电话管理器、手势控制器和/或用于移动环境的其他管理器和服务。应用框架层340可以包括执行为移动0S130开发的应用的移动应用运行时间环境。移动应用运行时间环境可以被优化用于诸如较低处理功率或限制的存储器空间的移动计算资源。对于处理隔离、存储器管理和线程支持,移动应用运行时间环境可以依靠内核。库层330包括实现诸如I/O和串操纵的普通功能、图形功能、数据库性能、通信性能和/或其他功能和性能的用户库332。[0042]如图3所示,桌面0S160具有库层360、框架层370和应用层380。在桌面0S160中,应用382和384运行在由桌面0S160的应用框架层370支持的应用层380中。应用框架层370包括由运行在桌面0S160上的应用使用的(一个或多个)管理器372和(一个或多个)服务374。例如,应用框架层374可以包括窗口管理器、活动性管理器、包管理器、资源管理器和/或对于桌面环境常见的其他管理器和服务。库层360可以包括实现诸如I/O和串操纵的普通功能、图形功能、数据库性能、通信性能和/或其他功能和性能的用户库362。[0043]在本公开的各个实施例中,桌面0S160运行在与移动0S130分开的执行环境中。例如,移动0S130可以运行在根(root)执行环境中并且桌面0S160可以运行在根执行环境之下建立的第二执行环境中。运行在移动0S130上的处理和应用在根执行环境中访问用户库332、(一个或多个)管理器342和(一个或多个)服务344。运行在桌面0S160上的处理和应用在第二执行环境中访问用户库362、(一个或多个)管理器372和(一个或多个)服务374。[0044]在实施例中,移动0S130和桌面0S160是具有不兼容的用户库、图形系统和/或应用框架的独立的操作系统。因此,为移动0S130开发的应用不直接在桌面0S160上运行,并且为桌面0S160开发的应用可能不直接在移动0S130上运行。例如,运行在移动0S130的应用层350中的应用352可能与桌面0S160不兼容,意味着应用352可能不运行在桌面0S160上。具体地,应用352可能依赖于不可用或不与桌面0S160的(一个或多个)管理器372、(一个或多个)服务374和/或库362兼容的移动0S130的(一个或多个)管理器342、(一个或多个)服务344和/或库332。[0045]因此,移动0S130和桌面0S160可以具有不同的可用应用集。在这点上,OS架构300的移动0S130和桌面0S160通过经分别的用户交互空间可访问的分别的应用集提供分别的用户体验。用户可以通过与移动0S130相关联的第一用户交互空间来访问在移动0S130上可用的(即被编译用于其执行环境的并且在其执行环境内被加载的)应用,以及通过与桌面0S160相关联的第二用户交互空间来访问在桌面0S160上可用的应用。[0046]如上所述,移动操作系统通常不使用与桌面操作系统相同的图形环境。为了灵活性和高性能而设计了桌面OS的图形环境。例如,由一些桌面OS使用的X-Windows系统以更大的处理和系统资源为代价而提供了平台和网络独立性。相对比,更多地为了效率以及更少为了灵活性而设计移动OS的图形环境和移动计算环境的具体用户输入设备。因为移动OS和桌面OS的图形环境通常不同,可能不能通过将来自移动OS的图形服务器的图形信息重新引导到桌面OS的图形服务器而将运行在移动OS上的应用重新引导为在桌面OS的用户空间内显示。[0047]最广泛采用的移动OS是Google的安卓(Android)。尽管安卓是基于Linux的,但是其包括对内核的修改以及用于移动环境和移动处理器的其他OS层。具体地,Linux内核被设计用于PC(即x86)CPU架构,而安卓内核被修改用于基于ARM的移动处理器。安卓设备驱动器还特别适合于通常存在于除了其他之外包括触摸屏、移动连接性(GSM/EDGE、CDMA,W1-Fi等)、电池管理、GPS、加速计和相机模块的移动硬件架构中的设备。另外,安卓不具有固有的X-Window系统,也不支持标准GNU库的全集,并且这使得难以将现有的GNU/Linux应用或库移植(port)到安卓。[0048]苹果的iOS操作系统(运行在iPhone上)和微软的WindowsPhone7类似地被修改用于移动环境和移动硬件架构。例如,尽管iOS从MacOSX桌面OS得到,但是普通的MacOSX应用并不会自然地在iOS上运行。具体地,通过标准开发工具包(“SDK”)开发iOS应用以运行在iOS的“CocoaTouch”运行时间环境内,这提供了基本的应用基础结构并且支持诸如基于触摸的输入、推送通知和系统服务的关键iOS特征。因此,为MacOSX而写的应用在没有移植的情况下不会在iOS上运行。另外,由于两个OS的用户库和应用框架层之间的差别以及移动和桌面硬件的系统资源上的差别,可能难以将MacOSX应用移植到iOS。[0049]在符合OS架构300的一个实施例中,安卓移动OS和全LinuxOS独立并同时运行在修改的安卓内核上。在此实施例中,安卓OS可以是修改的安卓发布,而LinuxOS(“Hydroid”)是修改的DebianLinux桌面OS。图4_6更详细地例示根据各个实施例的可以在OS架构300中采用的安卓移动0S430、安卓内核520和Hydroid0S660。[0050]如图4所示,安卓0S430包括通过应用框架层440来被访问的库层432中的一组C/C++库。库层432包括被开发具体用于安卓以比“glibc”LinuxC库更小并且更快的“仿生(bionic)”系统C库439。库层432还包括处理间通信(“IPC”)库436,其包括用于安卓OS的“绑定器(Binder)”IPC机制的基类。绑定器被开发具体用于安卓以允许处理和服务之间的通信。在图4中的库层432中示出的其他库包括支持媒体格式的记录和回放的媒体库435、管理从多个应用到显示子系统和合成图形层的访问的表面管理器434、2D和3D图形引擎438以及轻量级相关数据库引擎(SQLITEM37。可以在库层432中包括但是未在图4中绘出的其他库包括位图和矢量字体呈现库、实用程序库、浏览器工具(即排版引擎(WebKit)等)和/或安全通信库(即SSL等)。[0051]安卓0S430的应用框架层440提供了允许开发者使用设备硬件的组件、访问位置信息、运行后台服务、设置警报、向状态栏添加通知等的开发平台。框架层440还允许应用公布其性能以及利用其他应用的公布的性能。安卓移动0S430的应用框架层440的组件包括活动性管理器441、资源管理器442、窗口管理器443、对接管理器444、硬件和系统服务445、桌面监视服务446、多显示器管理器447和远程通信服务448。除了其他管理器和服务之外,可以包括在安卓移动0S430的框架层440中的其他组件包括查看系统、电话管理器、包管理器、位置管理器和/或通知管理器。[0052]运行在安卓0S430上的应用运行在安卓面向对象的应用框架之上的安卓运行时间环境433中的Dalvik虚拟机431内。Dalvik虚拟机431是基于登记的虚拟机,并且运行被设计为降低存储器使用和处理要求的紧凑可执行格式。运行在安卓0S430上的应用包括主页屏幕451、电子邮件应用452、电话应用453、浏览器应用454和/或(一个或多个)其他应用(“App”)455。[0053]安卓OS图形系统使用客户端/服务器模型。表面管理器(“表面渲染器(SurfaceFlinger)”)是图形服务器,并且应用是客户端。表面渲染器维持显示器ID的列表并且跟踪向显示器ID分配应用。在一个实施例中,显示器IDO与触摸屏显示器116之一相关联,并且显示器IDl与另一触摸屏显示器116相关联。显示器ID2与这两个触摸屏显示器116相关联(即应用同时显示在两个显示器上)。大于2的显示器ID是虚拟显示器,意味着它们不与物理地存在于移动计算设备硬件112上的显示器相关联。[0054]用于安卓应用的图形信息包括窗口、视图和画布(canvasses)。利用底层的表面对象来实现每个窗口、视图和/或画布。表面对象被双次缓冲(前缓冲器和后缓冲器)并且在用于画图的处理之间同步。表面渲染器在共享的存储器池中维持所有表面,该共享的存储器池允许安卓内的所有处理访问并且绘制到它们中,且不用高昂的复制操作、也不使用诸如X-Windows的服务器侧绘制协议。应用总是绘制到后缓冲器中,而表面渲染器从前缓冲器读取。表面渲染器创建每个表面对象,维持所有表面对象,并且还维持对于每个应用的表面对象的列表。当应用在后缓冲器中完成绘制时,其向表面渲染器发布事件,表面渲染器将后缓冲器交换到前缓冲器,并且将呈现表面信息的任务排队到帧缓冲器。[0055]表面渲染器监视所有窗口改变事件。当一个或多个窗口改变事件发生时,表面渲染器将该表面信息呈现(render)给一个或多个显示器的帧缓冲器。呈现(rendering)包括合成表面,即基于表面的尺寸、透明度、z顺序(z-order)和可见性合成最终图像。呈现还可以包括硬件加速(例如用于图形处理硬件的OpenGL2D和/或3D接口)。表面渲染器在所有的表面对象上循环并且将其前缓冲器按其z顺序呈现到帧缓冲器。[0056]图5更详细地例示根据各个实施例的修改的安卓内核520。修改的安卓内核520包括触摸屏显示器驱动器521、(一个或多个)相机驱动器522、(一个或多个)蓝牙驱动器523、共享存储器分配器524、(一个或多个)IPC驱动器525、(一个或多个)USB驱动器526、(一个或多个)WiFi驱动器527、(一个或多个)I/O设备驱动器528和/或电力管理模块530。(一个或多个)1/0设备驱动器528包括用于外部I/O设备的设备驱动器,外部I/O设备包括可以通过端口120连接到移动计算设备110的设备。修改的安卓内核520可以包括其他驱动器和功能块,包括低存储器管理器(lowmemorykiller)、内核调试器、记录能力和/或其他硬件设备驱动器。[0057]图6更详细地例示根据各个实施例的Hydroid0S600。Hydroid是能够运行为标准Lunix发布开发的几乎任何应用的全LinuxOS。具体地,Hydroid0S660的库层662包括支持联网、图形处理、数据库管理和其他普通程序功能的Linux库。例如,用户库662可以包括“glibc”LinuxC库664、Linux图形库662(例如GTK、OpenGL等)、Linux实用程序库661、Linux数据库和/或其他Linux用户库。应用使用X-服务器674、窗口管理器673和/或桌面环境672在X-WindowsLinux图形环境内的Hydroid上运行。例示的应用包括文字处理器681、电子邮件应用682、电子数据表格(spreadsheet)应用683、浏览器684和(一个或多个)其他应用685。[0058]LinuxOS图形系统是基于X-windows(或“XII”)图形系统。X-windows是独立于平台的联网的图形框架。X-windows使用客户端/服务器模型,其中X-服务器是图形服务器,并且应用是客户端。X-服务器控制与LinuxOS相关联的输入/输出硬件,比如显示器、触摸屏显示器、键盘、(一个或多个)指向设备等。在这点上,X-windows提供了服务器侧绘制图形架构,即X-服务器维持可绘制的内容,包括窗口和像素映射。X-客户端通过交换描述在通信信道上的绘制操作的数据分组而与X-服务器通信。X-客户端通过标准例程的库(“)(lib”)访问X通信协议。例如,X-客户端可以向X-服务器发送在客户端窗口中绘制矩形的请求。X-服务器向X-客户端发送输入事件,例如键盘或者指向设备输入、和/或窗口移动或调整大小。输入事件与客户端窗口有关。例如,如果当指针在窗口内时用户点击,则X-服务器向与该窗口相关联的X-客户端发送包括该输入事件的分组,该分组包括该事件相对于该窗口的动作和定位。[0059]由于操作系统框架、图形系统和/或库的差别,为安卓而写的应用通常不在Hydroid0S660上运行,并且为标准Linux发布而写的应用通常不在安卓0S430上运行。在这点上,用于安卓0S430和Hydroid0S660的应用不是字节码兼容的,意味着用于一者的编译的并且可执行的程序不在另一者上运行。[0060]在一个实施例中,Hydroid0S600包括促进通过共享内核520与安卓0S430的通信的交叉环境通信框架的组件。这些组件包括IPC库663,该IPC库663包括用于安卓OS的绑定器IPC机制和远程通信服务671的基类。[0061]在一个实施例中,Hydroid0S660运行在安卓根环境内创建的改变根目录的(chrooted)(以“改变根目录(chroot)”命令创建的)第二执行环境内。Hydroid0S660内的处理和应用在该第二执行环境内运行,以便这些处理和应用看到的表象根目录是第二执行环境的根目录。以此方式,Hydroid0S660可以不用修改地运行为标准Linux发布而写的程序,因为在改变根目录的第二执行环境中,Linux用户库662对于在Hydroid0S660上运行的处理可用。[0062]回去参考图1,移动计算设备110通过与移动0S130相关联的第一用户环境115给出移动计算用户体验。通常的移动计算用户体验的主要方面涉及通过几个有线和/或无线通信接口之一的通信。例如,移动计算设备110可以支持蜂窝网络连接(S卩,通过蜂窝网络的语音、文本和/或数据)、局域网络连接、无线网络连接(例如W1-F1、WiMax、蓝牙等)和/或其他通信接口。通过一些通信接口,移动计算设备110可以接收诸如语音呼叫、文本消息、多媒体消息、电子邮件和/或其他消息的到来的通信。这样,移动0S130通常包括对于在各种有线和无线接口上的几个通信协议的支持,包括电话支持、文本(SMS)和多媒体(丽S)消息、因特网协议和/或其他通信协议。[0063]为了允许OS的应用和其他组件知悉到来的通信,移动OS通常包括通知系统。通知系统提供了移动OS的应用、管理器和/或服务接收来自通信网络的通知(即远程通知)和来自移动OS的其他应用、管理器和/或服务的通知(即本地通知)的方式。远程通知可以包括例如可以由移动OS的电话管理器应对的到来的语音呼叫、文本消息和多媒体消息。本地消息可以包括例如警报、提醒和或其他通知。通知系统还可以允许向应用和/或服务通知各种系统和/或服务的状态的改变。[0064]移动OS可以包括用于应对向用户通知各种事件的通知管理器。可以通过各种视觉、音频和/或其他用户通知向用户通知事件。例如,消息窗口(例如模式(modal)对话框或提醒(Toast)通知)可以出现在移动OS的GUI内以警告用户到来的呼叫或文本。或者,在状态栏中的永久图标可以出现或改变状态以指示到来的通知。选择消息窗口的图标或者用户控制可以启动应用、服务、消息处理机和/或通知中心。[0065]图7例示根据各个实施例的支持多个用户环境的多OS计算环境700。如上所述,移动计算设备110给出与移动OS相关联的第一用户环境,该第一用户环境包括移动计算设备110的(一个或多个)触摸屏显示器116和其他I/O设备118。如图7所示,移动0S130的用户接口750显示在触摸屏显示器116上。在计算环境700中,移动计算设备110通过对接接口722对接到第二用户环境740。该第二用户环境包括显示器监视器744、键盘746和/或指向设备748。在这点上,第二用户环境740是类似桌面的终端环境。当通过对接接口722对接时,移动设备将桌面0S160与第二用户环境740相关联,以便桌面OS的用户接口780显示在第二用户环境740的显示器744上。尽管在图7中第二用户环境740被例示为通常的桌面型计算环境,但是移动计算设备110可以与其他类型的第二用户环境对接,包括膝上型、平板型和/或其他类型。如图7所示,移动计算设备通过坞座(dockcradle)741和/或对接电缆743连接到第二用户环境740的组件,但是,对接接口722可以包括不同的连接器,包括与第二用户环境的组件的其他有线或无线连接。[0066]如上所述,当移动计算设备110被对接时,桌面0S160可以与第二用户环境740相关联。在此实例中,用户可以通过第二用户环境与桌面OS交互。但是,移动计算设备可以接收到来的呼叫,这可以由移动OS的电话管理器应对。当在用户正通过第二用户环境与桌面OS活跃地交互的同时移动计算设备接收了到来的呼叫时,用户可能错过到来的呼叫,或者需要转而查看(lookto)与移动OS相关联的移动计算设备110上的用户界面以应对到来的呼叫。[0067]图8例示根据各个实施例的延伸计算环境300以在多OS计算环境中提供交叉环境通知和事件应对的计算环境300a。在计算环境300a中,移动0S130和桌面0S160处于在移动计算设备上的共享内核320上的活跃的同时执行中。计算环境300a通过提供用于监视和过滤移动0S130的通知、且将那些通知传递到桌面0S130内的各种通知处理机的组件,来促进事件的交叉环境通知。[0068]更具体地,移动OS的各种管理器847和/或服务可以基于到来的通信(即远程通知)、本地事件和/或系统或服务状态改变,来产生通知。通知系统842在移动0S130内广播这些事件。移动0S130的远程通信服务844中的通知接收器846监视发生在移动OS内的事件。远程通信服务844还包括过滤在远程通信服务844中接收的事件以找到预定事件,其中对于该预定事件的通知应该被传递给桌面OS。通知接收器846接收移动OS的通知事件,并且在事件过滤器848过滤事件以找到应该将其通知给桌面OS的组件的预定事件之后,调用远程通信服务844的适当的通知功能,以经过处理间通信信道将通知传递到桌面0S160的通知库862中的事件处理机。远程通信服务844还可以查询移动OS的组件以找到与该事件相关联的参数。例如,事件可以指示移动0S130的系统或服务的状态改变。远程通信服务844可以查询事件对象以找到与该事件相关联的参数。然后远程通信服务844将该通知内的参数传递给桌面0S160的通知库862。[0069]在实施例中,通知接收器846还通过登记以接收移动0S130的某些预定通知来过滤通知。例如,在安卓移动OS中,远程通信服务可以为广播接收器实例化(instantiate)意图过滤器。该意图过滤器描述了广播接收器将从通知管理器接收的意图对象。该意图过滤器还将意图对象与在广播过滤器中接收到意图对象时要进行的动作相关联。通过该意图过滤器,广播接收器在预定的安卓事件和传递到桌面OS的通知之间进行运行时间绑定。因为广播接收器有效地进行事件过滤,在此情况下不需要单独的事件过滤器848。[0070]桌面0S160的通知库862包括用于应对来自移动0S130的通知。通知库862的事件处理机进行低级通信以接收来自远程通信服务844的事件通知,并将该事件通知传递给桌面0S160的组件。例如,通知库事件处理机可以由桌面OSUI的应用(例如应用382、384)和/或组件使用,来接收来自移动OS的远程通信服务844的通知。例如,窗口管理器872和/或桌面管理器874可以使用通知库862接收来自移动OS的通知。[0071]远程通信服务844通过共享内核320的处理间通信信道826与通知库862的事件处理机通信。例如,远程通信服务844可以通过unix域套接字、IPC套接字和/或网络套接字与通知库862通信。在一个实施例中,远程通信服务使用抽象命名的套接字(abstractnamedsocket)通过共享内核320的IPC信道与通知库862通信。[0072]通知库862可以包括对于各种通知和各种通知机制的处理机。通知库862的一些通知处理机可以通过在组件或应用内显示消息或图标来应对事件通知。其他事件处理机可以播放与通知相关联的声音。消息、图标或声音可以被包括在从移动OS传递的通知中。其他事件处理机可以给出交互通知,这种交互通知提供了用户通过启动移动0S130和/或桌面0S160的应用或服务来响应于事件的机制。[0073]图9例示根据各个实施例的计算环境300a的方面如何提供交叉环境通知。图9例示其中移动设备Iio对接到第二用户环境740的计算环境900,如图7所示。在计算环境900中,运行在移动计算设备110的处理器114上的移动0S130通过移动计算设备110的显示器116和/或其他I/O设备118提供了第一用户环境。与移动0S130同时运行在移动计算设备110的处理器114上的共享内核320上的桌面0S160与第二用户环境740相关联。移动0S130包括应对在移动0S130内发生的各种事件管理器846。例如,管理器847可以包括电话管理器、电池/电力管理器、警报管理器和/或其他管理器。[0074]在计算环境900中,移动0S130的远程和本地通知可以被显示在与桌面0S160相关联的第二用户环境740内。例如,通知940例示了计算环境900可以将移动0S130的到来的呼叫事件显示为桌面0S160中的消息框通知。通知940可以包括消息942和/或用于响应于该通知的用户控制944。只要该呼叫被认为是到来的(例如只要该呼叫是在移动设备处等待应答的),该通知940就可以持续,或者可以持续某个更短的时间段。如图9所示,通知940出现在桌面0S160的Π内的对话框内。但是,通知940可以出现在桌面0S160的菜单栏920内,或者在桌面0S160的另一Π组件中。除了在移动0S130的⑶I内显示的通知930之外,可以出现通知940,或者在实施例中,代替出现在移动OS⑶I中的通知930,通知940可以出现在桌面OSGUI中。[0075]图9例示其中可以在桌面0S160的⑶I内呈现对于移动0S130内的事件的通知的其他方式。例如,图标960、962、964、966和/或968例示了通知可以作为图标出现在桌面OSGUI内。图标可以出现在桌面GUI的区域内、桌面GUI的状态栏内核/或桌面GUI的菜单栏(例如菜单栏920)内。在计算环境900中,图标960指示移动计算设备110的电力状态,并且允许用户从桌面GUI内关闭移动计算设备110。图标962指示来自移动0S130的电池/电力管理器的信息。在此情况下,图标962指示电池当前正从外部电源被充电。图标964和966给出来自电话管理器的与移动设备110到各个通信接口的连接有关的信息。例如,图标964指示到网络的无线连接的信号强度,而图标966指示当前通过无线网络可用的服务的类型。图标968指示用户还未确认的警告的数量。[0076]仍参考图9,更详细地描述来自移动0S130的事件在桌面0S160的用户环境内的用户通知。最初,事件发生在移动0S130中,其触发了移动0S130内的通知。例如,到来的呼叫可能被移动计算设备110接收到,其由移动0S130的电话管理器应对。通知系统向已经登记以接收通知的移动0S130的系统和服务广播该通知。移动0S130的远程通信服务844实例化被登记以接收通知的通知接收器。例如,在安卓移动OS中,远程通信服务844可以实例化用于接收广播通知意图对象的广播接收器。[0077]远程通信服务844过滤该事件以确定该事件是否应该触发对于桌面0S160的事件库862的通知。如果该事件应该触发桌面上的通知,则远程通信服务经过IPC信道向862传递通知。移动0S130内的通知可以包括被传递到通知库中的事件处理机的消息、声音和/或图标。例如,作为意图对象由广播接收器接收的通知可以包括消息、声音和/或图标。实例化通知库862的接收事件处理机的桌面0S160的组件和/或应用接收到该通知。在计算环境900中,桌面0S160的桌面管理器874实例化用于移动0S130的到来的呼叫通知的事件处理机。由桌面管理器874实例化的事件处理机显示该通知940,包括通知消息942和用户控制944。[0078]用户可以通过选择与该通知相关联的通知用户控制或图标而采取响应于通知的各种动作。例如,在计算环境900中,用户可以通过选择通知940的用户控制944而选择忽略或者应答到来的呼叫。通知的用户控制或图标可以进行对于移动0S130的功能或应用和/或桌面0S160的功能或应用的回调(callback)。在实施例中,通知的用户控制可以启动桌面0S160的应用,用于显示运行在移动0S130中的应用程序。在2011年9月27日提交的题为“InstantRemoteRendering”的联合未决的美国专利申请N0.13/246,665中更详细地讨论了应用的交叉环境显示,其全部内容通过引用合并于此用于所有目的。例如,选择桌面GUI中的关于通知940的“应答”用户控制可以启动桌面OS内的控制台应用,该控制台应用使用在该申请中描述的技术在桌面0S160的GUI内显示运行在移动0S130上的电话应用。以此方式,代替需要切换用户环境以使用移动OS应答该电话呼叫,用户可以通过与桌面OS相关联的用户环境应答该电话呼叫。[0079]图10例示根据各个实施例的用于在多OS计算环境中提供交叉环境通知和数据应对的示例处理流程1000。多OS计算环境可以包括例如同时运行在共享内核上的移动操作系统和桌面操作系统。处理流程1000开始于块1002,这时响应于在移动操作系统中发生的事件在移动操作系统中广播事件通知。例如,该事件通知可以是响应于到来的呼叫或由于到来的通信而发生的其他事件的广播。作为另一例子,该事件通知可以是诸如警报事件的本地通知的结果。在块1004,在移动操作系统的通知接收器中接收事件通知。例如,可以由广播接收器在安卓移动OS中接收事件通知。[0080]在块1006,移动OS使用事件过滤器过滤该事件以找到预定事件。在可选的块1008,由于事件通知匹配预定事件,可以查询移动OS以找到与该事件通知相关联的另外的参数。例如,事件通知可以指示移动OS的系统或服务的状态改变(例如电池状态改变、设备配置改变、时间改变等等)。通知接收器可以查询该系统或服务以找到与状态改变有关的参数。在块101,移动OS基于事件通知匹配于预定事件的确定,将与该预定事件相关联的交叉环境通知通过处理间通信信道发送到桌面操作系统的组件。该交叉环境通知可以包括响应于块1008的查询而接收的参数。[0081]为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本发明的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。[0082]以上所述的方法的各个操作可以通过能够进行相应的功能的任何适当的手段而进行。该手段可以包括各种硬件和/或软件组件和/或模块,包括但不限于电路、专用集成电路(ASIC)或处理器。[0083]可以利用被设计用于进行在此所述的功能的通用处理器、数字信号处理器(DSP)、ASIC、场可编程门阵列信号(FPGA)或其他可编程逻辑器件(PLD)、离散门或晶体管逻辑、离散的硬件组件或者其任意组合而实现或进行所述的各个例示的逻辑块、模块和电路。通用处理器可以是微处理器,但是作为替换,该处理器可以是任何商业上可获得的处理器、控制器、微控制器或状态机。处理器还可以实现为计算设备的组合,例如DSP和微处理器的组合,多个微处理器、与DSP核协作的一个或多个微处理器或任何其他这样的配置。[0084]结合本公开描述的方法或算法的步骤可以直接嵌入在硬件中、处理器执行的软件模块中或者这两种的组合中。软件模块可以存在于任何形式的有形存储介质中。可以使用的存储介质的一些例子包括随机存取存储器(RAM)、只读存储器(ROM)、快闪存储器、EPRIM存储器、EEPROM存储器、寄存器、硬碟、可移动碟、CD-ROM等。存储介质可以耦接到处理器以便该处理器可以从该存储介质读取信息以及向该存储介质写信息。在替换中,存储介质可以与处理器是整体的。软件模块可以是单个指令或者许多指令,并且可以分布在几个不同的代码段上、不同的程序之间以及跨过多个存储介质。[0085]在此公开的方法包括用于实现所述的方法的一个或多个动作。方法和/或动作可以彼此互换而不脱离权利要求的范围。换句话说,除非指定了动作的具体顺序,否则可以修改具体动作的顺序和/或使用而不脱离权利要求的范围。[0086]所述的功能可以按硬件、软件、固件或其任意组合而实现。如果以软件实现,功能可以作为一个或多个指令存储在切实的计算机可读介质上。存储介质可以是可以由计算机访问的任何可用的切实介质。通过例子而不是限制,这样的计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光碟存储、磁碟存储或其他磁存储器件或者可以用于携带或存储指令或数据结构形式的期望的程序代码并且可以由计算机访问的任何其他切实介质。如在此使用的,碟(disk)和盘(disc)包括紧凑盘(⑶)、激光盘、光盘、数字通用盘(DVD)、软碟和蓝光盘,其中碟通常磁地再现数据,而盘利用激光光学地再现数据。[0087]因此,计算机程序产品可以进行在此给出的操作。例如,这样的计算机程序产品可以是具有有形存储(和/或编码)在其上的指令的计算机可读的有形介质,该指令可由一个或多个处理器执行以进行在此所述的操作。计算机程序产品可以包括包装的材料。[0088]软件或指令也可以通过传输介质而传输。例如,可以使用诸如同轴电缆、光纤光缆、双绞线、数字订户线(DSL)或诸如红外、无线电或微波的无线技术的传输介质从网站、月艮务器或者其他远程源传输软件。[0089]此外,用于进行在此所述的方法和技术的模块和/或其他适当的手段可以在适当时由用户终端和/或基站下载和/或其他方式获得。例如,这样的设备可以耦接到服务器以促进用于进行在此所述的方法的手段的传送。或者,在此所述的各种方法可以经由存储部件(例如RAM、ROM、诸如CD或软盘等的物理存储介质)提供,以便用户终端和/或基站可以在耦接到该设备或者向该设备提供存储部件时获得各种方法。此外,可以利用用于将在此所述的方法和技术提供给设备的任何其他适当的技术。[0090]其他例子和实现方式在本公开和所附权利要求的范围和精神内。例如,由于软件的本质,以上所述的功能可以使用由处理器、硬件、固件、硬连线或这些的任意的组合执行的软件实现。实现功能的特征也可以物理地位于各个位置,包括被分发以便功能的部分在不同的物理位置处实现。而且,如在此使用的,包括在权利要求中使用的,在以“至少一个”项的列举中使用的“或”指示分别的列举,以便例如“A、B或C的至少一个”的列举意味着A或B或C、或AB或AC或BC、或ABC(S卩A和B和C)。此外,措辞“示例的”不意味着描述的例子是优选的或者比其他例子更好。[0091]可以不脱离由所附权利要求定义的教导的技术而进行对在此所述的技术的各种改变、替换和更改。此外,本公开的和权利要求的范围不限于以上所述的处理、机器、制造、事件的组成、手段、方法和动作的具体方面。可以利用与在此所述的相应方面进行基本相同的功能或者实现基本相同的结果的当前存在的或者稍后要开发的处理、机器、制造、事件的组成、手段、方法或动作。因而,所附权利要求包括在其范围内的这样的处理、机器、制造、事件的组成、手段、方法或动作。【权利要求】1.一种方法,包括:响应于发生在移动操作系统内的事件,在该移动操作系统中广播事件通知,该移动操作系统与桌面操作系统同时运行在共享内核上;在该移动操作系统的通知接收器中接收该事件通知;在该移动操作系统的事件过滤器中过滤该事件通知以找到预定事件;以及基于该事件通知匹配于所述预定事件的确定,通过处理间通信信道将与该预定事件相关联的交叉环境通知发送到该桌面操作系统的组件。2.如权利要求1的方法,还包括查询该移动操作系统以找到与该事件通知相关联的参数。3.如权利要求1的方法,其中在移动操作系统的广播接收器中接收该事件通知。4.如权利要求3的方法,其中该广播接收器进行预定事件与交叉环境通知的运行时间绑定。5.如权利要求1的方法,还包括由该桌面操作系统显示与该交叉环境通知相关联的消肩、O6.如权利要求1的方法,`还包括由该桌面操作系统显示与该交叉环境通知相关联的图标。7.如权利要求1的方法,其中在该移动操作系统的广播接收器的意图过滤器中接收该事件通知。8.如权利要求1的方法,其中由该桌面操作系统的共享库的事件处理机在该桌面操作系统中接收该交叉环境通知。9.如权利要求1的方法,其中该移动操作系统包括安卓移动操作系统,并且该桌面操作系统包括Linux桌面操作系统。10.如权利要求1的方法,还包括在该移动操作系统中接收来自该桌面操作系统的组件的、指示响应于对该交叉环境通知的通知回调的用户选择而进行的动作的答复。11.一种移动计算设备,包括:通知管理器,响应于发生在移动操作系统内的事件而广播意图对象,该移动操作系统与桌面操作系统同时运行在该移动计算设备的共享内核上;广播接收器,接收该意图对象;意图过滤器,过滤该意图对象以找到与预定事件相关联的意图对象;交叉环境事件通知器,将与该预定事件相关联的交叉环境通知发送到该桌面操作系统的组件,这些组件实例化与该预定事件对应的共享库的事件监听器。12.如权利要求11的移动计算设备,其中该交叉环境通知通过套接字被传递到该共享库。13.如权利要求11的移动计算设备,其中该交叉环境通知包括与意图对象相关联的消息,该共享库的事件监听器在与该桌面操作系统相关联的用户环境内显示所述消息。14.一种移动计算设备,包括存储用于物理处理器的指令的计算机可读的介质,所述指令在被执行时致使该处理器进行包括以下的步骤:在共享内核上同时运行移动操作系统和桌面操作系统;响应于在该移动操作系统内发生的事件,在该移动操作系统中广播事件通知;在该移动操作系统的通知接收器中接收事件通知;在该移动操作系统的事件过滤器中过滤该事件通知以找到预定事件;以及基于该事件通知匹配于所述预定事件的确定,通过处理间通信信道向该桌面操作系统的组件发送与该预定事件相关联的交叉环境通知。15.如权利要求14的移动计算设备,其中所述指令进一步致使所述处理器进行查询该移动操作系统以找到与该事件通知相关联的参数的步骤。16.如权利要求14的移动计算设备,其中所述指令进一步致使所述处理器进行在该移动操作系统中接收来自该桌面操作系统的组件的、指示响应于对该交叉环境通知的通知回调的用户选择而进行的动作的答复的步骤。17.如权利要求14的移动计算设备,其中所述指令进一步致使所述处理器进行在与所述桌面操作系统相关联的用户环境的显示器上显示所述通知的步骤。18.如权利要求14的移动计算设备,其中所述指令进一步致使所述处理器进行在所述桌面操作系统的共享库的事件处理机中接收所述交叉环境通知的步骤。19.如权利要求14的移动计算设备,其中所述指令进一步致使所述处理器进行将指示该通知被用户接收的通知答复消息从桌面操作系统发送到移动操作系统的步骤。20.如权利要求14的移动计算设备,其中该移动操作系统包括安卓移动操作系统,并且该桌面操作系统包括Linux桌面操作系统。【文档编号】G06F9/22GK103493010SQ201180057364【公开日】2014年1月1日申请日期:2011年10月3日优先权日:2010年10月1日【发明者】P.里夫斯,W.刘申请人:Z124
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1