用于便携式计算设备虚拟化的技术的制作方法_3

文档序号:9932632阅读:来源:国知局
作为示例,接口590可以被操作成经由网络999检索计算设备100的数据130的至少一部分(暂时参照回图
l)o
[0046]然而,如果由API调用代码块545的可见性检查器5454从可见性检查例程514接收的指示是框架例程540a当前不可见的效果,则可以允许或可以不允许做出代表应用例程570a的访问接口 590的前述资源访问调用。再次,采取或不采取什么行动可以经由框架配置数据534可配置,并且API调用代码块545可以通过由共享检查器5455对该配置的指示的检索来确定将采取或不采取什么行动。再次,API调用代码块545可以简单地向应用例程540a返回执行流。可替换地或此外,API调用代码块545可以取决于由API调用器5754做出的API调用中所指定的API函数的性质和/或取决于API调用代码块545被配置成采取或不采取什么行动而往回向应用例程540a提供“无效”值或其它值和/或将提供给资源(在该情况下,接口 590)的缓冲数据。
[0047]由六?1例程5473、5478、547丨、54711或547¥中的任一个的六?1调用代码块545中的任一个响应于框架例程540a当前不可见的指示(以及响应于在API调用中被调用)而采取或不采取什么行动可以通过框架配置数据534中的指示和/或通过另一机制是单独地可配置的。这样的指示可以被提供给API调用代码块545中的单独的若干个和/或可以被提供给API调用代码块545的集合,诸如单独地构成4?1例程547&、5478、547丨、54711和547¥中的每一个的集合。通过针对API例程547的这些实例中的每一个单独地指定采取或不采取的行动,可以对计算设备500的什么资源(例如什么硬件组件)由可见的框架例程540a-c之一与非可见的框架例程540a-c中的若干个中的一个或多个共享或不共享来施加控制。
[0048]图4描绘了对在各种时间处不是可见框架例程的框架例程540a_c中的每一个的响应的配置的这样的使用以控制资源的共享的示例。至少在图4中描绘的一个时刻,框架例程540b是可见的并且框架例程540a和540c是非可见的。
[0049]正如在图3的示例中那样,图4中描绘的框架例程540a_c中的每一个结合了相同的△卩1例程547&、5478、547丨、54711和547¥。在该示例中,框架例程540&-(3中的每一个已经被提供有下述指示= API例程547a、547g、547i和547v的API调用代码块545中都没有在它们被结合到其中的框架例程540a-c中的一个为非可见时被允许施行资源访问操作。然而,框架例程540a-c还已经被提供有下述指示:API例程547η的API调用代码块545要继续被允许施行资源访问操作而不管它们被结合到其中的框架例程540a-c中的一个是可见还是非可见。
[0050]作为该配置的结果,框架例程540a和540c当前为非可见的事实(如所描绘的)导致其API例程547a、547g、547i和547v的API调用代码块545中都没有被允许施行资源访问操作以分别施行从应用例程570a和570c接收的API调用中所调用的API函数。另外,尽管框架例程540a和540c当前为非可见,API例程547η中的每一个中的API例程547η的API调用代码块均继续被允许施行资源访问操作。同样作为该配置的结果,框架例程540b当前为可见的事实(同样如所描绘的)导致所有API例程547a、547g、5471、547n和547v的所有API调用代码块545被允许施行资源访问操作以施行从应用例程570b接收的API调用中所调用的API函数。
[0051]这导致经由接口590与联网相关联的资源访问操作继续由全部三个框架例程540a-c施行,而不管哪一个当前可见。实际上,经由接口 590的联网功能实际上在框架例程540的这些实例中的全部三个间共享,而不管它们的状态是可见还是非可见。然而,这还导致与音频、图形、输入和视频相关联的资源访问操作仅由当前可见的框架例程540a-c中的一个(例如框架例程540b,如所描绘的)施行。实际上,经由音频子系统522的音频功能、经由显示器580的图形和视频功能、经由控件520的输入功能和经由相机582的视频功能不被共享,但是被允许仅由当前可见的框架例程540a-c中的一个(再次,框架例程540b,如所描绘的)所采用。
[0052]在各种实施例中,处理器组件550中的每一个可以包括多种多样的商业上可得到的处理器中的任一个。另外,该处理器组件可以包括多个处理器、多线程处理器、多核处理器(无论多个核共存在相同管芯上还是分离的管芯上),和/或多个物理分离的处理器以某种方式通过其链接的某种其它种类的多处理器架构。
[0053]在各种实施例中,存储装置560可以基于各种各样的信息存储技术中的任一种,这些信息存储技术可能包括要求不间断提供电力的易失性技术,并且可能包括需要使用可能可移除或可能不可移除的机器可读存储介质的技术。因此,该存储装置可以包括各种各样类型(或类型组合)的存储设备中的任一种,包括但不限于只读存储器(R0M)、随机存取存储器(RAM)、动态 RAM(DRAM)、双数据速率 DRAM(DDR-DRAM)、同步DRAM( SDRAM)、静态RAM(SRAM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速存储器、聚合物存储器(例如铁电聚合物存储器)、奥氏存储器(ovonic memory)、相变或铁电存储器、硅-氧化物-氮化物-氧化物-硅(S0N0S)存储器、磁卡或光学卡、一个或多个单独铁磁性盘驱动器、或组织成一个或多个阵列的多个存储设备(例如组织成独立磁盘阵列的冗余阵列或RAID阵列的多个铁磁盘驱动器)。应当指出的是,虽然该存储装置被描绘为单个块,但这些存储装置中的一个或多个可以包括可以基于不同的存储技术的多个存储设备。因此,例如,所描绘的该存储装置可以表示以下项的组合:光学驱动器或闪速存储器卡读取器,可以通过该光学驱动器或闪速存储器卡读取器在某种形式的机器可读存储介质上存储并传递程序和/或数据;铁磁盘驱动器,其将程序和/或数据本地存储相对延长的时段;以及一个或多个易失性固态存储器设备(例如SRAM或DRAM),其使得能够实现对程序和/或数据的相对快速访问。还应当指出的是,该存储装置可以由基于相同存储技术的多个存储组件构成,但是可以作为专用的结果而被单独地维护(例如,一些DRAM设备被用作主存储装置,而其它DRAM设备被用作图形控制器的分立帧缓冲器)。
[0054]在各种实施例中,如已描述的,接口590可以采用使得计算设备能够耦合至其它设备的各种信令技术中的任何技术。这些接口中的每一个可以包括提供至少一些必须功能以能够实现这样的耦合的电路。然而,该接口还可以利用由处理器组件中的对应若干个组件执行的指令序列至少部分地实现(例如,以实现协议栈或其他特征)。在采用电和/或光学传导电缆的情况下,该接口可以采用符合各种行业标准的任一种的信令和/或协议,各种行业标准包括但不限于,RS-232C、RS-422、USB、以太网(IEEE-802.3)或IEEE-1394。在需要使用无线信号传输的情况下,该接口可以采用符合各种行业标准的中任一种的信令和/或协议,各种行业标准包括但不限于,IEEE 802.11a、802.11b、802.11g、802.16、802.20(通常被称为“移动宽带无线接入”);蓝牙;ZigBee;或蜂窝无线电话服务,诸如具有通用分组无线电服务的GSM(GSM/GPRS)、CDMA/lxRTT、增强型数据率全球演进(EDGE)、仅数据演进/数据优化(EV-DO)、数据和语音演进(EV-DV)、高速下行链路分组接入(HSDPA)、高速上行链路分组接入(HSUPA)、4G LTE等等。
[0055]图5和6均更加详细地图示了图1的虚拟化系统1000的实施例的部分的框图。更具体地,图5描绘了其中处理器组件550在执行内核例程510时生成框架例程540的多个实例(例如框架例程540a-c,如所描绘的)的计算设备500的操作环境的各方面。图6描绘了其中处理器组件550在执行框架例程540的实例(例如框架例程540a、540b或540c中的一个,如所描绘的)时配置实现一个或多个API例程(例如API例程547a、547g、5471、547n和/或547v,如所描绘的)中的API函数的代码块的计算设备500的操作环境的各方面。
[0056]如本领域技术人员可认识到的,内核例程510和框架例程540所生成的实例,包括组成其每一个的组件,被选择成在被选择实现处理器组件550的无论什么类型的一个或多个处理器上操作。在各种实施例中,构成每一个的指令序列可以包括以下中的一个或多个:操作系统的至少一部分、设备驱动器和/或应用级例程(例如在磁盘介质上提供的所谓的“软件套件”、从远程服务器获取的“小应用程序”等)。在包括操作系统的至少一部分的情况下,操作系统可以是对于处理器组件550而言适当的各种可用操作系统中的任一个。在包括一个或多个设备驱动器的情况下,那些设备驱动器可以提供针对计算设备500的各种其它组件中的任一个(无论是硬件还是软件组件)的支持。
[0057]更具体地转向图5,内核例程510可以包括由处理器组件550可执行以生成框架例程540的多个实例(例如框架例程540a-c,如所描绘的)的实例化组件5100。如先前所讨论的,框架例程540的实例的生成是限定其中可以按将应用例程与彼此隔离的方式分离地执行的应用例程(例如应用例程570a-c)的容器的部分。同样如先前所讨论的,生成来与容器中的每一个对应的框架例程540的实例提供了应用例程中的其相关联的一个与内核例程和各种资源(例如硬件组件)二者之间的抽象层。由应用例程中的其相关联的一个向框架例程的实例中的每一个做出API调用,并且进而,向内核例程510做出系统调用以间接访问资源,或者施行读取或写入操作以直接访问资源。
[0058]内核例程510可以包括配置组件5104,其由处理器组件550可执行以检索由实现框架例程540a-c中的一个或多个中的API函数(例如API调用代码块545的实例)的代码块在它们当前非可见的时间期间所采取的行动的指示。如已经解释的,这样的指示可以向框架例程540的每一个实例中的这样的代码块中的全部应用对于非可见的相同的响应,或者可以向这样的代码块的不同集合(例如属于与不同特征或硬件组件相关联的不同API例程的代码块的集合)应用不同的响应,或者可以向代码块中的单独若干个应用不同的响应。另外,框架例程540的多个实例化中的不同若干个可以被不同地配置使得对应的这样的代码块响应于非可见而在不同实例中采取不同行动。
[0059]内核例程510可以包括选择组件5102,其由处理器组件550可执行以改变框架例程540的多个实例中的哪一个(例如框架例程540a-c中的哪一个)是当前可见的一个。如所描绘的,选择组件5102可以从已经操作成传达改变实例中的哪一个是当前可见的一个的命令的控件520中的控件520接收指示。在其中控件520包括小键盘或键盘的实施例中,提供这样的指示的操作可以包括按下特定键或键的组合。在其中控件520是触摸屏(例如其中显示器580是显示元件的触摸屏)的触摸元件的实施例中,提供这样的指示的操作可以是触摸这样的触摸元件的触敏表面的具体图案(例如指尖按压特定位置的组合或利用一个或多个指尖的特定“划扫”移动)。本领域技术人员将想到控件520的其它可能形式的操作的其它形式。
[0060]更具体地转向图6,框架例程540的实例(例如框架例程540a_c中的一个)可以包括配置组件5404,其由处理器组件550可执行以检索由实现框架例程540a-c中的一个或多个中的API函数(例如API调用代码块545的实例)的代码块在它们当前非可见的时间期间所采取的行动的指示。再次,这样的配置可以是按照代码块、按照这样的代码块的集合、或者利用应用于所有这样的代码块的单个配置。
[0061 ] 框架例程540的实例(例如框架例程540a_c中的一个)可以包括选择组件5402,其由处理器组件550可执行以从控件520向内核例程510中继指示以改变框架例程540的多个实例中的哪一个(例如框架例程540a-c中的哪一个)是当前可见的一个。如所描绘的,选择组件5402可以从多个控件520中的控件520接收指示,该控件520已经操作成传达改变实例中的哪一个是当前可见的一个的命令。再次,传达这样的命令的控件520的操作可以采取各种形式中的任一个。
[0062]图7图示了逻辑流2100的一个实施例。逻辑流2100可以代表由本文所描述的一个或多个实施例执行的操作中的一些或全部。更具体地,逻辑流2100可以说明由处理器组件550在至少执行内核例程510和/或框架例程540的实例时施行和/或由计算设备500的(一个或多个)其它组件施行的操作。
[0063]在2110处,虚拟化系统的计算设备的处理器组件
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1