查看
这份发明的实施例主要用于虚拟现实、增强现实和混合现实
(赌命运!Facebook为AR/VR研发操作系统、芯片,摆脱Android
根据美国专利商标局日前公布的专利申请,Facebook正在积极地向目标进发。
名为“Buildingaresilientoperatingsystembasedondurableserviceswithkernelsupport”的发明主要描述了构建一个基于持久服务并包含内核支持的弹性操作系统,从而提供更高的稳定性。
对于计算机,进程是由一个或多个线程执行的计算机程序的实例。它包含程序代码及其事件。根据操作系统,进程可以由多个并发执行指令的执行线程组成。尽管计算机程序是指令的被动集合,但过程则是所述指令的实际执行。多个进程可以与同一程序相关联;例如,打开同一程序的多个实例通常会致使执行多个进程。进程管理是现代操作系统不可或缺的一环。操作系统必须将资源分配给进程,允许其共享和交换信息,保护每个进程的资源不受其他进程的影响,并在进程之间实现同步。为了满足所述要求,操作系统必须为每个进程维护一个数据结构,并对每个进程施加控制。
Facebook指出,这份发明的实施例主要用于虚拟现实、增强现实和混合现实。
在一个实施例中,操作系统可以有效地恢复微内核中崩溃的服务,这样就无需重新启动操作系统。操作系统可以运行多个服务,但如果部分服务崩溃或必须重新启动,则相关数据可能会丢失。如果必须重新启动,这可能对操作系统有害。为了解决所述问题,专利描述了一种构建弹性操作系统的方法,所述弹性操作系统可以重新启动崩溃的服务并恢复其崩溃前的状态,从而无需重新启动操作系统。
基本技术可以包括通过微内核提供的API与微内核建立specialcontract来维护每个服务的状态。contract可以提供内存的特殊页表,并允许服务在其中检查其状态,特别是不能自动恢复的状态。另外,这个特殊页表可以与提供给其他服务的页表分离,这样在发生崩溃时损坏状态的可能性较小。
举例来说,操作系统中的启动程序服务可能负责跟踪所有已启动且当前正在运行的服务。当操作系统实现服务列表时,它可能会请求启动程序服务迭代所有已启动的服务。当发生崩溃时,操作系统可以通过内核API在同一页表或一组页表中寻找启动程序服务的检查点,并获取检查点的句柄。在重新启动launcher服务的过程中,loader服务将把句柄传递给新启动的launcher服务。通过句柄,launcher服务可以在崩溃之前检索其状态。
在一个实施例中,一种方法包括为服务生成引用检查点的句柄;将句柄发送到服务,其中句柄配置为由服务用以在检查点中存储服务的一个或多个状态;确定服务需要重新启动;重新启动服务;访问检查点的句柄,并将检查点的句柄发送给重新启动的服务,其中检查点的句柄配置为由重新启动的服务用以恢复一个或多个状态。
FacebookPatent|Buildingaresilientoperatingsystembasedondurableserviceswithkernelsupport
名为“Buildingaresilientoperatingsystembasedondurableserviceswithkernelsupport”的Facebook专利申请最初在2019年8月提交,并在日前由美国专利局公布。