# Alioth-kernel **Repository Path**: robothub/alioth-kernel ## Basic Information - **Project Name**: Alioth-kernel - **Description**: This is the Alioth kernel - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 2 - **Created**: 2021-07-12 - **Last Updated**: 2021-07-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Alioth(玉衡) OS 0.1 ## 1 概述 玉衡Alioth是一个专注于机器人的Linux发行版开源操作系统,希望通过开放的社区形式与全球的开发者共同构建一个开放、多元和架构包容的机器人软件生态体系。 ## 2 技术要点 - Alioth 微内核 - Vec 资源虚拟层 - HexFed 联邦模型服务解决方案 ### 2.1 Alioth内核 内核作为直接运行在硬件上的最基础的软件实体,是操作系统的核心部分,管理着系统的各种资源。目前从内核架构来划分,可以分为微内核(Micro Kernel)和宏内核(Monolithic Kernel),常见的如Linux、Windows等系统都为宏内核,它们的用户服务和内核服务运行在相同的地址空间中,是一个包含了非常多功能的底层程序。 宏内核的功能完备,但是是不可插拔的,修改一些小的功能,都会涉及到整个程序的重新编译等;并且如果其单个服务出现 bug导致崩溃,往往意味着整个系统的崩溃,可靠性不强。 Alioth微内核主要针对专业的应用场景,来提高系统的扩展性,使系统在经历不可避免的变更时拥有较强的灵活性,并且提供针对提供这样的灵活性所需要付出的成本间的平衡能力。当往系统中添加新业务时,不需要改变原有组件,只需把新业务封闭在一个新的组件中就能完成整体业务升级。 ### 2.2 Vec 在Alioth内核中,其调度算法(基于最大吞吐量准则)、设备驱动、不可中断的系统调用、中断屏蔽以及虚拟内存的使用等因素,会导致系统在时间上的不可预测性,决定了Alioth无法处理硬实时任务。 而机器人会经常遇到需要迅速作出决策的场景,如果不能及时反应,机器人会出现宕机甚至完全损坏的情况,为了确保高优先级任务能在第一时间内全部完成,Vec在Alioth微内核与硬件间加一个虚拟层,同时创建一个简易的、时间上可以预测的实时内核,来保证运行的实时进程能满足硬实时性。 在Vec的调控下,Alioth能完成既包括实时部分又包括非实时部分的复杂任务。 Vec为基于Alioth内核补丁的资源虚拟层,它启动的多个域(Domain)能同时存在一个机器上,在Alioth中Vec管理着Alioth微内核域和RTOS简易实时内核域。 所有的域根据获得的全系统的优先级,有序地处理外部事件(如中断)或内部事件(如陷阱、异常)。 ### 2.3 HexFed 大数据人工智能时代下许多领域存在着数据有限且质量较差的问题,不足以支撑人工智能技术的实现。 而在大多数行业中,数据是以孤岛的形式存在的,由于行业竞争、隐私安全、行政手段复杂等问题,即使在同一公司的不同部门之间实现数据整合也面临着重重阻力,在现实中想要将分散在各地、各个机构的数据进行整合几乎是不可能的,所需的成本巨大。 HexFed通过加密机制下的参数交换方式,在不违反数据隐私法规情况下,建立多方参与的虚拟共有模型,在HexFed联邦机制下,联邦学习模型的结果能尽可能地达到传统数据聚合效果。 HexFed是一款基于Alioth开发的,涵盖联邦特征工程,联邦机器学习模型训练,联邦模型评估的联邦模型服务解决方案,覆盖常规机器人应用场景建模需求。