一种设想:为linux建立一个微内核,融合OS内核与语言runtime设想

面向边缘AI的约束驱动执行方法论:从不可能到可验证 在边缘计算与嵌入式AI场景中,‘实时性’‘低功耗’‘小内存’等硬约束常使本应可行的任务被工程上放弃。其本质是传统功能驱动开发范式与物理资源边界脱节所致。本文聚焦约束驱动设计、生成式执行机制与数学可证伪的Impossible验证框架三大核心技术支柱,融合Lean Execution与Generative Systems思想,提供一套可量化、可复现、可降级的极致优化实践体系。特别适用于树莓派等资源受限平台上的YOLO模型部署、工业PLC毫秒级协同、多模态机器人决策等典型场景,直击内存墙、时序墙、能耗墙下的工程落 阅读详情

本文关键字:os之争。微内核,language based os,language on bearmetal not on os,华为鸿蒙,语言即OS,类脚本语言,把原生应用变语言模块。

我们知道,OS兼容跟语言兼容一样,是一项几乎不太可能完成的事情,因为OS的使命就是作为闭环竞争的商业产品出现,成就造出它他们的公司。从文件系统的多样化和存在的互访鸿沟就知道,见《一个设想:基于colinux,去厚重虚拟化,共盘直接文件系统安装运行的windows,linux》。osx有apfs,windows有ntfs,linux有btrfs/ext,难得出一个exfat,又仅是作为数据盘存储格式不能作为系统区存在而且也有坑(不过也听说过在exfat上成功装系统的)。os之争与语言之争一样,技术上不是不可能融合,而是厂商各自为政。不想那么去做。

但幸运的是,软件是抽象的堆栈,业界方面这些融合一直在进行,只是比较缓慢。融合可以从源头(对于os是kernel)完成,还可以在别的层次完成,类似《编程语言选型之技法融合,与领域融合的那些套路》谈到的那些语言融合。

OS/OS内核/OS的融合经过了很多发展阶和变形形式,如日常我们使用的PD,VB虚拟机管理器里的os,wsl( as os subsystem),虚拟机管理器on baremetal(qubeos,etc…),虚拟firmware内嵌虚拟机管理器,os级的虚拟化openvz,简单的chroot沙盒os,iaas大数据级别的kvm,最后,就是这篇文章要谈到的:从0开始,和从os kernel源头进行融合OS和语言系统的os。即“微内核+unikernel”。

OS的融合其实和语言/语言runtime的融合其实可以是一个相关的过程,如《基于colinux的metaos for realhw,langsys和一体user mode xaas》如《一个隔开hal与langsys,用户态专用OS的设想》中关于让os的子系统直接服务于语言runtime的思想。我们在《云APP,virtual appliance:unikernel与微运行时的绝配,统一本地/分布式语言与开发设想》中也讲到语言的后端和容器和OS的关系(通用容器和语言虚拟机/语言沙盒/baas/serverless,这些东西的存在,其实是”可移殖可隔离runtime“的功能重合。正是面向不同方向但同一目的的某些意义上的“重造轮子”。)

安全的内核级语言:unikernel化

os与语言的关系从来不是先有蛋还是先有鸡,而是先有蛋(语言),再有OS(鸡),自举语言和自举OS特殊情况另当别论,历史上和我们现实中出现过的常见OS,其kernel都是C开发的(我仅指osx,linux,windows kernel),,c runtime作为toolchain系统实现层面存在。c库存在用户空间和程序空间的部分是有特权不同的,它们之间要跨syscall互访。应用开发层次的语言系统处在用户空间(由此,官方py版本这种语言是不可能作内核编程的,抽象层次太高运行时也巨大)。我们把内核中的c称为“bearmetal或toolchain”语言,因为它们最开始的作用是给硬件平台提供软件管理层的作用。

由于语言放在OS之前设计(没办法,先得用起来,那个时候还没有出现既能保证开发效率运行效率又能保证安全的语言如rust),架构于os kernel之上。于是kernel的二大机制(内存管理和任务进程)会继承C语言的固有缺点,比如运行在这种OS上的程序会发生内存泄漏,这对于系统实现和APPDEV级都是延续的影响。我们现在的OS,如果它们自我宣称它们是“安全的OS”,其实是某些高阶层次的完全,比如OS应用方面的安全。并不是“内存管理和任务进程”方面的绝对安全。运行在这种OS上的APP还是会发生内存泄漏,因为“程序申请内存”这个功能,无论处在编程的哪个层次,都是从OS继承的能力(任何编程都是某种意义上的系统编程)。GC只是自动释放并不能改变OS内核这种可能的缺陷(这只是一种可能,OS内核的质量会保证这种情况很少出现)。

那么,为什么不采用一种从一开始就足够安全的bearmetal语言呢,如rust?

当然可以,语言放在OS之前设计可以直接省掉OS发明的很多问题,如cpu的保护模式甚至都可以略去,特权模式无关紧要,一种内核天然是bearmetal和usermode通用的(驱动和hal层放在用户空间)。你甚至还可以将rust的stdlib整个实现在bearmetal层,使得内核编程跟系统开发编程/系统应用编程共享同一门语言。

这些特点加起来,可以直接用语言作为虚拟机管理器(这种语言系统和OS最绝佳的关系,正是另一种os kernel-libos的特点:它可作为lib的os被嵌入语言使用,用户态无须经过虚拟机管理器。直接为支持“一app一os”而提出的os)。因为你可以把语言系统作为OS的源。直接compile and run一个kernel出来,使得语言架构于OS之上,做成devable os。在《云APP,virtual appliance:unikernel与微运行时的绝配,统一本地/分布式语言与开发设想》中我们提到unikernel是docker等lanauge runtime的代替品。这里是“more safer unikernel”。

当然,为促成microkernel+unikernel,这还需要一些额外工作。比如,将这种内核裁剪下,去掉“不那么重要的部分”。

采用了安全的语言,我们还要给内核“微内核化”

首先,这种内核要小。仅保留必要的“内存管理和任务管理”。如上,我们知道,内核中最关键的是“内存管理和进程管理”,因为这二个部件,足够可以运行某种“APP”(内存和并发,刚好它们也是语言runtime的重大问题之一,所以这里“语言runtime即OS,这种特征又一次出现了”),除此之外都是addon,非essential的。hal,drives,文件系统,gui都是第二级别的。我们可以把这种OS的“驱动”保障效率的前提下放在user space(如上,实际上,这种OS kernel下,没有内核空间和用户空间的区分了)。传统上,我们将hal和driver一部分放在(firmware或boot层),一部分放在os kernel层。

这就是微内核。OS层的其它组件可以通过ipc通讯放到其它具体os kernel下,它本身可以很小(作为meta os kernel与其它内核合作,管理这些内核并融入这些内核,这也使这些内核可以实现真正的跨OS)。比如给linux kernel,这种monolitch一体化宏内核作上层,复用它里面的东西。

综合上的microkernel和unikernel,如果融入现在的linux,比"用虚拟firmware内嵌虚拟机管理器打造applevel虚拟化的容器和开发方案"这样的办法要强多了。


(此处不设回复,扫码到微信参与留言,或直接点击到原文)

在这里插入图片描述

Linux内核架构和基础概念 随着Linux内核在全球市场份额的持续扩大,其影响力已深深渗透至各行各业,尤其在服务器领域乃至我们所熟知的前沿行业,更是彰显出无可匹敌的重要性。因此,本系列文章旨在系统性地记录我深入探索与学习Linux内核过程中的心得体会与关键笔记。本文主要是描述一下内核学习过程中的一些常用的概念,宏内核和微内核,内核架构等等。 阅读详情

相关推荐

linux内核

无

m0_60274660的博客 681

想造一个自己的OS吗

操作系统的定义 操作系统:是一组控制和管理计算机软硬件资源、合理组织多道程序的运行、方便用户使用的程序的集合。(管家、调度、桥梁) 1.1操作系统的目标和作用 1.1.1 操作系统的目标 1.方便性:配置用户图形界面; 2.有效性:提高资源利用率; 3.可扩充性:方便增加新的功能和模块; 4.开发性:遵循世界标准规范,使软硬件兼容。 1.1.2 操作系统的作用 1.接口的作用 接口使用方式: 1.命令方式 2.图形、窗口方式 3.系统调用方式(用户程序对操作系统的调用) 2.资源管理者 资源 功能

qq_43515378的博客 1032

【信息科学与工程学】【数据中心】第三十五篇 云计算数据中心的学科知识04

编号学科(课程)核心知识点在云计算/云存储/云网络/云安全/云MaaS中的作用代表教材/资料/论文 + 数学方程式列表工业界应用D1421​云原生数据库:TiDB​HTAP(混合事务/分析处理)、分布式SQL、水平扩展、强一致(Raft)、自动故障恢复、与MySQL兼容、TiFlash列式引擎提供弹性扩展的分布式数据库;支撑高并发在线交易与实时分析教材:《TiDB in Action》PingCAP(2020) 论文:《TiDB: A Raft-based HTAP Database》(2017)

weixin_49199313的博客 406

一个微型的操作系统内核 MiniOS

MiniOS 是我在研究生导师的指导下参与开发的一个微型操作系统内核,接触 MiniOS 的开发有一段时间了,对其已经比较熟悉,便着手为 MiniOS 写了一个简要的介绍,下面是介绍内容(同时也是 MiniOS 在 GitHub 仓库的自述): MiniOS 简介 MiniOS 是一个面向操作系统开发学习者的、微型的操作系统内核,可以运行在32位 x86 架构的 CPU 上。MiniOS 专注于...

doubleXnine的专栏 1万+

【信息科学与工程学】【数据中心】 第十九篇 MFU的优化提升方法03

等级模块类型子模块子子模块功能描述MFU影响因子优化优先级L0​算术逻辑单元(ALU)标量ALU整数ALU标量整数运算α_int = 0.1-0.3中浮点ALU标量浮点运算α_fp_scalar = 0.2-0.4中向量处理单元(VPU)SIMD单元128-bit SIMD短向量运算β_SIMD128 = 0.3-0.6高256-bit SIMD中向量运算β_SIMD256 = 0.4-0.7高512-bit SIMD长向量运算β_SIMD512 = 0.5-0.8极高矩阵处理单元(MPU)Tensor C

weixin_49199313的博客 1013

arm下exfat源码包.zip

exfat源码包,详细操作方法及步骤请看本人博客,有详细说明,地址https://blog.youkuaiyun.com/u012915226/article/details/107543826

Linux内核学习(Linux内核整体架构,编译Linux内核源码)

从今天开始我将带大家来学习Linux内核的整体架构,深入学习Linux内核源码,学习Linux内核中的重要模块,学习Linux内核源码对于提高自己的编程水平有非常大的帮助,并且能够深入的去了解Linux源码的内容。宏内核提供了更高的性能,但其复杂性和潜在的不稳定性也是显而易见的。微内核在安全性、稳定性和模块化方面有明显优势,但可能会牺牲一些性能。选择宏内核还是微内核架构,通常取决于应用场景和对系统的具体需求。对于需要高性能和较少上下文切换的应用,宏内核可能是更好的选择。

m0_49476241的博客 2080

exfat源代码

Linux下基于FUSE实现的exFAT源代码,可直接在Linux系统下编译运行。

科普文:图文探究Linux内核

本文主要讲解什么是Linux内核,以及通过多张图片展示Linux内核的作用与功能,以便于读者能快速理解什么是Linux内核,能看懂Linux内核。拥有超过1300万行的代码,Linux内核是世界上最大的开源项目之一,但是内核是什么,它用于什么?

为无为,事无事,味无味。 3865

exfat文件系统详解.rar

目前看过最详细总结最好的exfat介绍文档,为作者自己总结实践出来。

exFAT文件系统结构分析.docx

exFAT文件系统结构分析.docxexFAT文件系统结构分析.docx

exfat驱动源码 linux_一种设想:为linux建立一个微内核,融合OS内核与语言runtime设想...

本文关键字:os之争。微内核,language based os,language on bearmetal not on os,华为鸿蒙,语言即OS,类脚本语言,把原生应用变语言模块。我们知道,OS兼容跟语言兼容一样,是一项几乎不太可能完成的事情,因为OS的使命就是作为闭环竞争的商业产品出现,成就造出它他们的公司。从文件系统的多样化和存在的互访鸿沟就知道,见《一个设想:基于colinux,去厚重...

weixin_39671405的博客 106

边缘设备选型指南:从数据采集到AI推理,工业物联网硬件如何匹配你的需求?

本文提供了一份全面的工业物联网边缘设备选型指南,系统性地阐述了如何根据数据采集、协议兼容性、边缘AI推理算力及环境适应性等核心需求匹配硬件。文章深入剖析了从CPU/GPU/NPU选择到MQTT、Sparkplug B等工业协议支持的实战考量,并强调了软件生态与全生命周期成本的重要性,旨在帮助项目负责人在复杂场景中做出明智决策。

weixin_29168813的博客 88

鸿蒙 vs iOS vs Android:三大移动操作系统的技术对决

2025年全球移动操作系统形成三足鼎立格局:HarmonyOS 5、iOS 17/18和Android 15/16。三大系统在架构内核、安全模型、生态策略、开发体验和AI能力上各具特色。 架构方面,HarmonyOS采用微内核+分布式设计,iOS使用混合内核,Android基于Linux宏内核。安全模型上,鸿蒙实现"原生安全",iOS依赖审核机制,Android侧重碎片化补救。生态策略差异明显:iOS是封闭花园,Android开放但碎片化,鸿蒙主打分布式跨设备体验。开发体验上,ArkTS、Swift和Kot

2402_85554739的博客 1529

长鑫存储面试真题解析:DRAM工程师的工程直觉与产线思维

DRAM作为现代计算系统的底层存储基石,其性能与可靠性高度依赖半导体物理基础、工艺窗口控制和电路-系统协同设计。理解电荷保持机制、位线电容耦合效应、信号完整性约束等核心原理,是突破传统数字IC思维、构建真实产线语感的关键。在晶圆厂级工程实践中,TEM缺陷识别、BIST空间聚类分析、Retention失效定位等能力,直接关联良率爬坡与客户系统稳定性。本文聚焦长鑫存储一线技术面试中高频出现的工艺-电路-测试三维问题,融合‘电荷保持’‘信号完整性’等热词,还原DRAM工程师必备的系统性建模能力与闭环验证思维,覆盖

weixin_34293246的博客 337

PCIE6.0协议学习小记-Flit_Mode

PCIE6.0学习

code_aJack的博客 4642

嵌入式开发工具链演进:从编译器到软硬件协同设计

在嵌入式系统开发中,编译器与调试器是基础且核心的工具,它们共同构成了软件与硬件之间的桥梁。编译器负责将高级语言代码翻译为机器指令,并通过优化技术平衡性能与内存占用;调试器则提供了程序运行时的状态可视化和错误定位能力。这些工具的技术价值在于显著提升了开发效率与代码可靠性,使开发者能够应对日益复杂的系统需求。随着物联网和智能设备的普及,软硬件协同设计成为关键趋势,它允许在硬件原型就绪前进行软件验证,大幅缩短开发周期。本文聚焦于现代嵌入式工具链的集成与ABI标准,探讨如何通过统一的应用二进制接口实现编译器、调试器

weixin_30315435的博客 484

SAM3模型国内快速上手:Modelscope权重下载+环境配置一条龙指南

本文详细介绍了SAM3模型在国内的快速部署方案,包括通过Modelscope平台下载权重文件、优化CUDA 11.8环境配置以及实战避坑技巧。针对国内开发者常见的网络问题和环境兼容性问题,提供了从权重下载到模型加载的全流程指南,帮助用户高效完成部署并快速上手SAM3模型。

weixin_28465009的博客 1154

【Linux 内核】宏内核与微内核架构 ( 操作系统需要满足的要素 | 宏内核 | 微内核 | Linux 内核动态加载机制 )

一、操作系统需要满足的要素、 二、宏内核、 三、微内核、 四、Linux 内核动态加载机制、

让 学习 成为一种 习惯 ( 韩曙亮 の 技术博客 ) 3696

从零开始构建量化价值投资多因子模型

量化价值投资多因子模型的构建目的在于通过系统性的方法,综合考虑多个影响股票价值的因素,以更准确地评估股票的投资价值,为投资者提供科学的投资决策依据。本模型的构建范围涵盖了从因子的选取、数据的处理、模型的建立到模型的评估和优化等一系列过程。通过对历史数据的分析和回测,验证模型的有效性和稳定性,进而应用于实际的投资组合管理中。本文将按照以下结构进行组织:首先介绍量化价值投资和多因子模型的相关背景知识,包括核心概念和联系;接着详细阐述核心算法原理和具体操作步骤,并给出Python代码示例;

AI天才研究院 1245

第三方 API 调用 OpenClaw 出现 LLM request timed out 的解决方案

本文主要介绍了第三方 API 调用 OpenClaw 出现 LLM request timed out 的解决方案,希望能对使用OpenClaw的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 8万+

linux微内核体系结构,科普:微内核操作系统现状

该楼层疑似违规已被系统折叠隐藏此楼查看此楼微内核结构是1980年代产生出来的较新的内核结构,强调结构性部件与功能性部件的分离。20世纪末,基于微内核结构,理论界中又发展出了超微内核与外内核等多种结构。尽管自1980年代起,大部分理论研究都集中在以微内核为首的“新兴”结构之上,然而,在应用领域之中,以单内核结构为基础的操作系统却一直占据着主导地位。在众多常用操作系统之中,除了QNX和基于Mach的...

weixin_34081203的博客 416

C3 模块与普通 Bottleneck 堆叠区别

维度普通 Bottleneck 堆叠C3 模块设计理念残差学习CSP + 特征分治信息路径单一路径双路径(主干 + bypass)融合方式相加(Add)拼接(Concat)+ 卷积计算效率较低高(通道减半)特征保留弱(多次非线性)强(直连保留原始信息)梯度传播单一主路径多样化、更稳定任务适配通用(分类为主)专为目标检测优化可扩展性有限极强(即插即用各种模块)实际性能基准线显著优于(尤其在小目标和效率方面)

浩瀚之水的专栏 107

linux微内核

给大家讲解一下linux系统的微内核

wtt561111的专栏 2883

【毕业设计之python系列】基于Flask的在线音乐网设计与实现

本论文旨在通过使用Python的Web框架Flask,设计和实现一个具有完整功能的在线音乐网站。该网站包括用户注册、登录、注销、歌曲上传、编辑、删除、歌单创建、编辑、删除、评论、搜索、音乐播放等功能,并针对不同用户角色(如普通用户、管理员)实现了不同的权限管理。同时,本论文还介绍了如何使用第三方API(如网易云音乐API)获取歌曲信息等技术实现。在设计上,本论文采用了MVC(Model-View-Controller)架构模式,将后端数据处理与前端展示分离,以便于代码的管理和维护。在数据库设计方面,本论文设

m0_56073435的博客 3245

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

linux系统微内核,微内核操作系统的定义及用微内核设计的系统,附Linux是单内核结构介绍...

本文为你介绍微内核操作系统的定义,及其采用微内核设计的操作系统都有哪些?同时附有 Linux 是一个单内核结构的介绍,不过 Linux 还吸收了微内核的优点,所以系统表现相当的出色。微内核如今非常受关注,起因是华为鸿蒙操作系统有一个主要亮点:微内核,华为声称,微内核的启用,使其速度大大提升,并且在安全性上产生变革性突破,微内核打破了宏内核下 root 即可获取用户所有权限的做法,在安全性上大大提升...

weixin_29229055的博客 1710

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

上一篇: 我为什么选择rust
下一篇: rcore,zcore,兼谈fuchsia:一种快速编程教学系统和rust编程语言快速学习项目
Minlearn
博客等级 码龄18年 20粉丝 146原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值