操作系统的制作方法_3

文档序号:8344590阅读:来源:国知局
码需要被存储或访问。例如,可以通过虚拟机172指定,将客户操作系统176的可执行编码放置在存储器120的一部分122中,作为客户操作系统176可访问。
[0092]在一些实现中,磁盘映像134包含准备要在计算机系统100上执行的一个版本的客户操作系统176,这样使得不再需要安装程序。在一些例子中,我们提到“安装”客户操作系统176可以是指将磁盘映像134复制到存储器120中而不运行安装程序的简单动作。在一些例子中,客户操作系统176可以仅仅被安装用于计算机系统100的单次使用,这样使得在每一次计算机系统100通电时,从客户操作系统磁盘映像134重新安装客户操作系统176。例如,主机操作系统170可以被配置为当计算机系统100被通电时重新安装客户操作系统176。在一些实现中,可以从客户操作系统磁盘映像134将客户操作系统176重新安装到存储设备130并且随后安装到存储器120中。在一些实现中,可以将客户操作系统磁盘映像134直接复制到存储器120中。
[0093]在一些例子中,在单次使用计算机系统100期间,还可以多次安装客户操作系统176。例如,每次终止并且重新激活虚拟机172时(这可能在单次使用计算机系统100期间多次发生)可以重新安装客户操作系统176。例如,可以以定期的或者不定期的进度终止并且重新激活虚拟机172,或者响应于主机操作系统170检测到的状态而终止并且重新激活虚拟机172,或者可以因为另一原因而终止并且重新激活虚拟机172。
[0094]在一些实现中,同时运行多个虚拟机172的实例。程序的实例是执行中的程序的副本(例如,程序的可执行编码和数据结构的副本)。例如,虚拟机172的一个实例可以运行一个客户操作系统176的实例,并且虚拟机172的第二实例可以运行客户操作系统176或者不同的客户操作系统的第二实例。当终止虚拟机172的一个实例时,可以使用虚拟机172的第二实例向用户165呈现客户操作系统176的第二实例。如果虚拟机172的第二实例已经是活动的并且准备好使用,那么减少在客户操作系统176的实例之间进行切换所需的时间数量(例如,所述的减少是与在终止客户操作系统176的较早实例的之后,重新安装客户操作系统176的方案相比)。
[0095]在一些例子中,在磁盘映像上可以使除了操作系统以外的其他程序可用。例如,存储设备130可以存储应用磁盘映像136 (例如,第二主映像、第三主映像等等),每个磁盘映像存储安装软件应用实例的程序。这里,我们使用术语软件应用来包括例如除了操作系统以外的其他程序,例如可以向计算机系统100的用户165提供功能和特征的程序(所述用户为例如,使用输入/输出外围设备160操作计算机系统100的用户165)。
[0096]软件应用程序的例子包括网页浏览器、电子邮件程序、文字处理器或者另一类型的程序,或者两个或者多个那些的任意组合。在一些例子中,应用磁盘映像136(有时称为程序包)可以包含用于在客户操作系统176上运行的软件应用138的安装程序137。例如,当从磁盘映像134安装客户操作系统176时,可以从磁盘映像136安装各自的软件应用以在客户操作系统176上运行。例如,安装在客户操作系统176的软件应用,例如,被安装在存储器上客户操作系统176可访问的软件应用,可以在客户操作系统176上运行。虽然客户操作系统176在虚拟机172上运行,但是诸如软件应用的程序180以如同客户操作系统176是在诸如计算机系统100的实体系统上运行一样(尤其是考虑到他的用户)的同样方式运行。
[0097]在单次使用计算机系统100的期间,可以重新安装(这个处理有时被称为刷新)客户操作系统176多次。例如,主机操作系统170可以开始客户操作系统176的重新安装。在一些实现中,主机操作系统170可以终止客户操作系统176的执行,从客户操作系统磁盘映像134开始客户操作系统176的重新安装,并且重新加载客户操作系统176用于执行。这个终止、重新安装并且重新加载客户操作系统176的处理有时被称为刷新客户操作系统176。
[0098]刷新客户操作系统176可能有多种目的之一或者这些目的的两个或多个任意组合。在一些例子中,在客户操作系统176的运行期间,可能以有害的方式改变组成客户操作系统176的可执行编码。我们有时将这种有害的修改称为损害操作系统的完整性。例如,程序180可能已经以致使客户操作系统176以料想不到的方式改变了客户操作系统176。该料想不到的方式可能是有害的,例如导致删除存储设备130存储的数据,或者将存储设备130存储的数据暴露给未被授权访问该数据的实体(例如,可能使用网络144访问计算机系统100的实体)。
[0099]做出有害改变的程序可以是用户165使用的软件应用,例如或者该程序可以是诸如病毒或者特洛伊木马的恶意程序。这里,如果,例如程序或者指令致使诸如删除数据、损害计算机系统100或者将数据暴露于未被授权的实体,我们则将该程序或者指令称为“恶意的”。如果客户操作系统176已经被改变,则当刷新客户操作系统176时除去这些改变。主机操作系统170可能生成指令来刷新客户操作系统176,以减轻由对客户操作系统176进行的料想不到的修改所引起的任何损害。例如,主机操作系统170可以以定期的间隔刷新客户操作系统176,诸如一小时一次、一天一次、或者另一间隔、或者随机间隔、或者两个或多个这些的一些组合。在一些实现中,主机操作系统170可以监视客户操作系统176的修改或者故障(例如,客户操作系统176料想不到的行为)并且当检测到修改或者故障时刷新客户操作系统176。
[0100]在一些实现中,仅仅刷新一部分客户操作系统176并且不刷新一部分客户操作系统176。例如,主机操作系统170或者另一个系统可以识别已经被恶意改变或者相反的被指定刷新的一部分客户操作系统176。该部分客户操作系统176可以是客户操作系统176的组成部分,诸如操作系统核心、设备驱动、实用软件应用或者另一组成部分。在一些例子中,计划在不同的时间刷新客户操作系统176的不同部分。
[0101]在一些实现中,在执行磁盘映像中包含的任何程序之前,可以将任何或者全部磁盘映像132、134、136复制到存储器120。例如,主机操作系统170可以将客户操作系统磁盘映像134复制到存储器120 (例如,从存储设备130复制)。如果在单次使用计算机系统100期间,主机操作系统170多次访问客户操作系统磁盘映像134,例如重新安装客户操作系统176,则客户操作系统磁盘映像134将中存储器120中可用。在一些例子中,当客户操作系统磁盘映像134在存储器120中可用时,提高访问的速度。
[0102]因为客户操作系统176在虚拟机172内部操作,所以在客户操作系统176上运行的程序180 —般不能引起对主机操作系统170的修改,因为虚拟机或者主机操作系统本身,或者他们两者遮蔽(screen) 了对主机操作系统进行这种修改。因此,刷新客户操作系统176将除去在客户操作系统176上运行的程序180所引起的任何故障或者其他的恶意结果,并且将计算机系统返回到它的正常、想要的操作状态。
[0103]在一些实现中,磁盘映像132、134、135和136对于主机操作系统170是可以访问的,并且对于客户操作系统176是不能访问的。以这种方法,如果任何恶意的指令致使客户操作系统176可访问数据的修改,那么将不会修改磁盘映像132、134、136中任何一个。例如,如果组成客户操作系统176的可执行编码被修改了,那么主机操作系统170可以从保持未被修改的客户操作系统磁盘映像134重新安装客户操作系统176。
[0104]如果程序运行在主机操作系统170上,那么可以修改主机操作系统170和磁盘映像132、134、136。例如,诸如病毒的恶意程序可以导致对主机操作系统170或者磁盘映像132、134、136的修改,或者诸如计算机系统的用户165使用的程序180的另一程序可以导致可能对主机操作系统170或者磁盘映像132、134、136的完整性有害的修改。在一些实现中,主机操作系统170被配置为减少或者最小化对主机操作系统170做出任何改变的任何机会,例如由另一程序引起的改变。
[0105]在一些例子中,诸如在一个磁盘映像136上包含的软件应用的程序180可以导致可能对客户操作系统176的完整性有害的修改。主机操作系统170可以检测到该修改。例如,主机操作系统176可以对客户操作系统176的状态与之前它的状态的记录进行定期地比较,并且检测变化。当刷新客户操作系统176并且从磁盘映像136重新安装软件应用时,主机操作系统170可以选择不重新安装引起该修改的软件应用。主机操作系统170还可以选择删除包含软件应用的磁盘映像136以避免将来有害的修改。主机操作系统170可以以这种方法在检测到软件应用执行了任何恶意活动的时候禁用或者删除软件应用。可以警告用户软件应用是恶意活动的来源,例如以用户接口中的警告信息警告。
[0106]在一些实现中,主机操作系统170可以被配置为计算机系统100的用户165不能访问。典型地,主机操作系统170可以包括使其能够在计算机系统100上(例如,在诸如计算机监视器、触摸屏或者其他设备的输入/输出外围设备160之一上)呈现用户接口 162的功能。当使用那些功能时,用户接口 162允许用户165与主机操作系统170进行交互,例如,来在主机操作系统170上安装并且运行软件应用,或者对主机操作系统170的配置做出改变。为了减少那些将危害主机操作系统的活动的机会,主机操作系统170的用户接口 162可以被禁用,以便用户165不具有对主机操作系统170的访问。例如,可以修改或者配置主机操作系统170以在计算机系统100上运行主机操作系统170时,不进行提供用户接口或者显示用户接口 162的处理。
[0107]在一些例子中,主机操作系统170被配置为在计算机系统100上运行并且在不存在来自用户165的输入的情况下,激活(例如加载并且执行)虚拟机172。当虚拟机172被激活时,主机操作系统170激活该客户操作系统176。例如,主机操作系统170可以将客户操作系统176加载到存储器120中并且在虚拟机172上运行它。在一些例子中,主机操作系统170从磁盘映像134安装客户操作系统176。当客户操作系统176已经被激活时,客户操作系统176进行提供用户接口并且在计算机系统100上显示用户接口 164的处理。
[0108]计算机系统100的用户165可以随后使用客户操作系统176的用户接口 164与计算机系统100进行交互,例如,在计算机系统100上运行(在客户操作系统176上运行的)软件应用。因为主机操作系统170不是负责提供用户接口的软件并且不显示用户接口 162,所以用户165不需要与主机操作系统170进行相互。进一步地,用户165可以不知道并且不需要知道主机操作系统170在计算机系统100上运行或者主机操作系统170不是向用户展示用户接口的实体。
[0109]因为用户165不与主机操作系统170进行相互,所以主机操作系统170可以独立于用户165的任何动作来控制计算机系统100的服务(例如,硬件的资源或者特征或者功能)。例如,主机操作系统170可以独立于用户165的控制来使能或者禁用计算机系统100的服务。
[0110]在一些例子中,如果计算机系统100在特定的地理或者网络可访问的区域(例如拥有计算机系统100的公司的办公楼)中被激活,那么主机操作系统170可以启动网络通讯设备142。如果主机操作系统170检测到计算机系统100的位置已经发生了变化(例如,使用GPS或者其他计算机系统100的位置服务),那么主机操作系统170可以禁用网络通讯设备142。以这种方法,计算机系统100仅仅在特定地理区域中对于网络服务可用。
[0111]在一些例子中,主机操作系统170可以减少客户操作系统176对计算机系统100的服务的访问,但是不需要完全禁用那些服务。例如,如果主机操作系统检测到计算机系统100的位置已经发生了变化,那么主机操作系统170可以改变网络设备142的配置,以便网络通讯设备142不能被用来发送或者接收特定种类的数据,但是可用于发送或者接收其他种类的数据。例如,主机操作系统170可以改变网络通讯设备142的配置,以便被指定为敏感的或者秘密的数据仅仅能够在特定地理区域中被发送或者接收。
[0112]在一些例子中,主机操作系统170可以使能或者禁用网络通讯设备142的一部分功能。例如,主机操作系统170可以为了安全原因禁用网络通讯设备142的功能。主机操作系统170可以被配置为不允许使用网络通讯设备142用于桥接两个网络。以这种方法,主机操作系统170不会允许网络通讯设备142进行从与网络通讯设备142通讯的一个网络与与网络通讯设备142通信的另一个网络之间的通信交换。如果一个网络是局域网(例如诸如公司或者政府机构的组织的内部网络),并且其他网络是广域网(例如因特网),那么在局域网上的通信不能被传输到广域网。因为计算机系统100的用户仅仅与客户操作系统176交互,所以计算机系统100的用户将不能绕过主机操作系统170或者网络通讯设备142的配置。可以为了提高安全的目的以其他方式配置网络通讯设备142。例如,网络通讯设备142可以被配置为作为单向防火墙运行,以此使得网络通讯设备142可以接收来自一个网络上的设备的网络通信,但是该网络通信不被传输到那个网络上的其他设备。在一些例子中,可以通过主机操作系统170或者网络通讯设备142或者两者对网络通讯设备142通信的一些或者全部网络通信进行加密。
[0113]在一些例子中,主机操作系统170可以保证网络通讯设备142的一部分功能维持有效的。例如,网络通讯设备142可以允许网络服务与主机操作系统170、客户操作系统176或者两者进行交互。网络服务可以是允许实体访问计算机系统100的远程管理服务。例如,计算机系统100的管理员可以从与网络144通信的另一个计算机系统访问客户操作系统176的功能。主机操作系统170可以被配置为允许管理员使用远程管理服务访问客户操作系统176。因为计算机系统100的用户165不具有对主机操作系统170的访问,所以不能通过用户165禁用远程管理服务。在一些实现中,主机操作系统170可以将计算机系统100的服务展示给客户操作系统176。服务可以包括可以通过客户操作系统176定址(从中读取、向其中写入或者两者)而不是响应于客户操作系统176定址虚拟硬件而通过虚拟机172定址的硬件。例如,主机操作系统170可以启动在客户操作系统上运行的程序180以访问计算机系统100的服务。可以选择服务来最小化程序180可以以恶意的方式使用所展示的服务,或者相反地致使主机操作系统170故障的危险。例如,主机操作系统170可以将服务展示给客户操作系统176,例如将数据提供给程序180但是不从程序180接受数据或者仅仅以有限的方式接受数据的服务。例如,主机操作系统170可以展示例如程序180仅仅从摄影机接收视频数据的摄影机的服务。在一些例子中,主机操作系统170可以展示这样的服务,例如允许程序180接收关于计算机系统100发送和接收的网络通信的数据的网络监视服务。在一些例子中,主机操作系统170可以向客户操作系统176展示一部分服务并且拒绝客户操作系统176访问该服务的其他部分。例如,主机操作系统170可以向客户操作系统176展示一部分存储设备,这样使得在客户操作系统176上运行的程序180可以向一部分存储设备写入并且不向另一部分存储设备写入。
[0114]在一些实现中,主机操作系统170可以以程序可以使用主机操作系统170的设备驱动的方式(例如向客户操作系统176上运行的程序180)展示服务。例如,如果程序180是视频会议程序,那么程序180可以使用摄影机设备驱动使得称为主机操作系统170可用。使用这种技术,程序180可以在不支持设备驱动使用该服务的客户操作系统176上起作用。对客户操作系统176进行的改变不需要影响程序180的功能,例如否则,如果设备驱动运行在客户操作系统176上,那么对客户操作系统176进行的改变将影响程序180与设备驱动进行交互的能力。用户可以升级客户操作系统176或者使用不同的客户操作系统176并且程序仍然可用服务,因为设备驱动和主机操作系统170保持不变。
[0115]在一些实现中,主机操作系统170和客户操作系统176中的任一个或者两者是可以在计算机硬件的多个配置上运行的操作系统,有时被称为通用操作系统。因为使用了两个操作系统,所以可以基于对特征和能力的单独的要求的集合,选择这两个操作系统。
[0116]在一些例子中,可以基于安全和可
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1