首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

AR/VR专利披露Facebook在构建内核支持弹性操作系统

查看引用/信息源请点击:映维网

这份发明的实施例主要用于虚拟现实、增强现实和混合现实

映维网 2021年02月12日)Facebook一直致力于打造一个涵盖硬件、软件,应用商店和操作软件等的完整XR生态系统,并多次公开描述过相关的计划愿景。

以操作系统为例,微软毫无疑问是PC时代的统治者,而苹果和谷歌则是移动领域的两座大山。对于需要以其为基础来开发应用内容的Facebook等公司,这种系统级平台拥有巨大的话语权。

所以随着下一个计算平台的崛起,Facebook决心摆脱这种命运,并已经组建了一直由前微软明星工程师领衔的团队,从零开始构建自己的操作系统。

延伸阅读:赌命运!Facebook为AR/VR研发操作系统、芯片,摆脱Android

根据美国专利商标局日前公布的专利申请,Facebook正在积极地向目标进发。

名为“Building a resilient operating system based on durable services with kernel support”的发明主要描述了构建一个基于持久服务并包含内核支持的弹性操作系统,从而提供更高的稳定性。

对于计算机,进程是由一个或多个线程执行的计算机程序的实例。它包含程序代码及其事件。根据操作系统,进程可以由多个并发执行指令的执行线程组成。尽管计算机程序是指令的被动集合,但过程则是所述指令的实际执行。多个进程可以与同一程序相关联;例如,打开同一程序的多个实例通常会致使执行多个进程。进程管理是现代操作系统不可或缺的一环。操作系统必须将资源分配给进程,允许其共享和交换信息,保护每个进程的资源不受其他进程的影响,并在进程之间实现同步。为了满足所述要求,操作系统必须为每个进程维护一个数据结构,并对每个进程施加控制。

Facebook指出,这份发明的实施例主要用于虚拟现实、增强现实和混合现实。

在一个实施例中,操作系统可以有效地恢复微内核中崩溃的服务,这样就无需重新启动操作系统。操作系统可以运行多个服务,但如果部分服务崩溃或必须重新启动,则相关数据可能会丢失。如果必须重新启动,这可能对操作系统有害。为了解决所述问题,专利描述了一种构建弹性操作系统的方法,所述弹性操作系统可以重新启动崩溃的服务并恢复其崩溃前的状态,从而无需重新启动操作系统。

基本技术可以包括通过微内核提供的API与微内核建立special contract来维护每个服务的状态。contract可以提供内存的特殊页表,并允许服务在其中检查其状态,特别是不能自动恢复的状态。另外,这个特殊页表可以与提供给其他服务的页表分离,这样在发生崩溃时损坏状态的可能性较小。

举例来说,操作系统中的启动程序服务可能负责跟踪所有已启动且当前正在运行的服务。当操作系统实现服务列表时,它可能会请求启动程序服务迭代所有已启动的服务。当发生崩溃时,操作系统可以通过内核API在同一页表或一组页表中寻找启动程序服务的检查点,并获取检查点的句柄。在重新启动launcher服务的过程中,loader服务将把句柄传递给新启动的launcher服务。通过句柄,launcher服务可以在崩溃之前检索其状态。

在一个实施例中,一种方法包括为服务生成引用检查点的句柄;将句柄发送到服务,其中句柄配置为由服务用以在检查点中存储服务的一个或多个状态;确定服务需要重新启动;重新启动服务;访问检查点的句柄,并将检查点的句柄发送给重新启动的服务,其中检查点的句柄配置为由重新启动的服务用以恢复一个或多个状态。

相关专利

Facebook Patent | Building a resilient operating system based on durable services with kernel support

https://patent.nweon.com/17698

名为“Building a resilient operating system based on durable services with kernel support”的Facebook专利申请最初在2019年8月提交,并在日前由美国专利局公布。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210212A01CAV00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券