《尹杰-元OS架构:面向多场景交付的下一代Kit化操作系统内核架构思考.pdf》由会员分享,可在线阅读,更多相关《尹杰-元OS架构:面向多场景交付的下一代Kit化操作系统内核架构思考.pdf(23页珍藏版)》请在三个皮匠报告上搜索。
1、元OS架构:面向多场景交付的下一代Kit化操作系统内核架构思考尹杰华为OS内核技术专家目录问题背景介绍相关工作挑战和解决思路元OS架构在鸿蒙内核的实践目录问题背景介绍相关工作挑战和解决思路元OS架构在鸿蒙内核的实践操作系统内核架构的诞生:适合某一个/某一类硬件平台IBM OS/360架构,开启生态兼容之路原生问题:抽象过时,当前OS架构实际是硬件物理资源的更高层抽象,主流OS架构均源自单核、CPU为中心、批处理任务、安全不敏感、投资充足、单一硬件架构的平台。l经典理论中,OS通过预先定义的编程接口,提供应用程序的运行环境。u 一般包含进程调度、内存管理、文件系统、网络通信、设备驱动等几个关键组
2、件Linux内核整体框架操作系统内核架构的演进之路,分层抽象叠加层次叠加聚合资源用户用户应用程序数据处理数据管理资源管理传统操作系统文件系统问题:延迟高、不可控设备100微秒Hadoop存储栈操作100毫秒l计算机领域所有问题都可以通过加一个抽象层解决,除了抽象层太多这个问题u All problems in computer science can be solved by another level of indirectionu Except for the problem of too many levels of indirection原生问题:抽象层过多,开发效率提升,但执行效率下
3、降;各层存在语义鸿沟,阻碍垂直整合1.8MHz+2KB RAM+64KB ROM Nintendo Family Computer操作系统内核架构的历史实践,不同架构的尝试效果各不相同宏内核(1960s):内核接管硬件和特权指令,应用和内核共同拥有独立的单一平坦地址空间;API调用,简单高效。耦合度高,可靠性难保障微内核(1980s):内核只负责消息转发、中断、进程管理、内存;占用内存小;模块化程度高,可靠性易于保障。性能低。外内核(2000s):内核负责控制编排;应用直接管理物理资源,负责数据面。多内核(2010s):多个内核实例,状态同步,对应用提供单一操作系统状态。l硬件形态变化:众核、
4、超大内存、多级存储、分布式硬件、多样性算力、多规格平台l应用场景变化:海量数据,云原生,可穿戴,边缘计算,AI,HPC原生问题:架构种类多,但大多源自学术界,对生态、工作量、成熟周期考虑不多POSIX、Vsyscall扩展、外围包时钟进程并发协同调度文件安全内存网络驱动功耗中断ArchPOSIX、Vsyscall扩展、外围包时钟中断IPC驱动文件内存网络进程调度功耗安全并发协同ArchEL0EL1POSIX、Vsyscall扩展、外围包时钟进程并发协同调度文件安全内存网络驱动功耗中断Arch硬件硬件硬件硬件宏内核架构微内核架构单地址空间内核架构(Unikernel)POSIX、Vsyscall
5、扩展、外围包进程并发协同调度文件安全内存网络驱动功耗硬件操作层硬件进程调度文件内存驱动POSIX、Vsyscall扩展、外围包CPUPOSIX、Vsyscall扩展、外围包进程并发协同调度文件安全内存网络驱动功耗CPU(ARM)GPUArchArchEL0EL1硬件NVMMemory通信网络外内核架构(Exokernel)多内核架构(Multikernel)分离式内核(LegoOS)操作系统内核架构的价值lOS架构的价值u 简化体系结构复杂性,对外呈现一个简单的编程模型,数学世界和比特世界的桥梁 u 掩盖体系结构各个组件之间的差异,达到最好的性能nDRAM 比处理器慢 100 倍n磁盘比 DR
6、AM 慢 1000 倍lOS架构对系统效率的影响u OS自身开销n终端典型场景,OS内核自身开销30%,部分关键场景可达50%u OS对应用的影响n提供适当的执行抽象、并行模型和资源分配机制n提升局部性,减少上下文切换OS的整机资源管理n感知业务特征及硬件能力,实现XPU/内存/存储等资源供给恰到好处n全栈信息(任务依赖关系、Deadline、内存类型、IO优先级)透传,指导最优决策l当下的OS架构l数据中心平均使用率不足1x%(来源:Gartner)lARM大小核能效相差9倍,续航存在倍增空间业务场景对OS的能力诉求调试/维测安全可扩展性/高并发度性能时延确定性功耗/热维护成本/长生命周期小