过去几十年,Linux 改变了整个软件世界。
今天全球大多数服务器、超级计算机、云平台,还有大量嵌入式设备,背后都运行着 Linux。
但是有一个问题。
软件虽然越来越开放,计算机最底层的处理器架构,却长期被少数公司控制。
个人电脑和服务器主要使用 x86。
手机和嵌入式设备主要使用 ARM。
而 RISC-V 的出现,让这种局面开始发生变化。
RISC-V 是一套开放的处理器指令集。
一个开放硬件接口,一个开放软件平台。
所以很多人把 Linux 和 RISC-V 称为开源世界的“天作之合”。
但它们为什么这么合适?
今天我们就来讲清楚。
第一章:RISC-V 到底开放了什么?
首先,我们必须纠正一个常见误解。
RISC-V 并不代表所有 RISC-V 芯片都是开源的。
RISC-V 真正开放的是指令集架构,也就是 ISA。
什么是指令集?
简单来说,它就是 CPU 能够听懂的语言。
比如:
加法、减法、读取内存、写入内存、条件跳转。
程序最终都要被翻译成这些机器指令,CPU 才能执行。
过去,如果一家公司想设计 ARM 处理器,通常需要获得 ARM 的授权。
但是 RISC-V 的指令集标准是公开的。
企业、大学,甚至个人,都可以根据公开规范设计自己的 RISC-V 处理器。
不过,芯片公司仍然可以不公开自己的具体设计。
比如流水线有多少级,缓存有多大,分支预测器怎么实现,这些都可能是商业机密。
所以最准确的说法是:
RISC-V 是开放指令集。
但具体的 RISC-V 芯片,可能开源,也可能不开源。
即使如此,它仍然非常重要。
因为它开放了软件和处理器之间最核心的接口。
第二章:Linux 为什么特别适合 RISC-V?
Linux 有一个非常重要的特点:
它并不是只为某一种 CPU 设计的。
Linux 可以运行在 x86、ARM、PowerPC、IBM Z、LoongArch,以及很多其他架构上。
为什么?
因为 Linux 把大量通用功能和处理器相关代码分开了。
比如进程调度、文件系统、网络协议、安全机制,这些功能在不同处理器上大体相同。
真正需要针对 CPU 修改的,只是比较底层的部分。
比如系统启动、异常处理、页表、上下文切换和原子操作。
所以,当 RISC-V 出现以后,Linux 社区不需要从零开始重新写一个操作系统。
他们只需要为 RISC-V 增加对应的架构支持,就可以把整个 Linux 生态带过来。
这就是 Linux 给 RISC-V 带来的最大优势:
RISC-V 不需要重新发明操作系统。
它可以直接使用几十年积累下来的 Linux 内核、工具和软件。
第三章:RISC-V 的模块化设计
Linux 和 RISC-V 还有一个共同点:
它们都非常灵活。
RISC-V 并不是一套固定不变的庞大指令集。
它先提供一个基础整数指令集,再根据需要加入扩展。
比如乘法和除法扩展、原子操作扩展、浮点扩展、压缩指令扩展、向量扩展和虚拟化扩展。
一颗简单的嵌入式芯片,不需要实现所有功能。
它可以只使用一个很小的指令集。
但是一颗服务器处理器,就可以加入向量运算、虚拟化和高级内存管理功能。
这意味着 RISC-V 可以覆盖非常广的设备。
小到微控制器。
大到未来的数据中心服务器。
Linux 同样可以根据设备规模进行裁剪。
嵌入式设备可以运行精简 Linux。
服务器则可以运行完整的 Debian、Ubuntu 或其他发行版。
这让两者在设计思路上非常接近。
第四章:Linux 如何在 RISC-V 上启动?
RISC-V Linux 的启动流程,和普通 PC 有些不同。
一个典型流程大概是:
然后进入 OpenSBI。
接下来运行 U-Boot 或 UEFI。
最后加载 Linux 内核,启动系统服务和用户程序。
这里最容易让人困惑的是 OpenSBI。
你可以把 OpenSBI 理解成 Linux 和最底层硬件之间的一个中间层。
Linux 有时需要启动其他 CPU 核心、设置定时器,或者发送核间中断。
这些工作不能完全由普通的内核权限直接完成。
Linux 会通过 SBI 接口,把这些请求交给更高权限的固件。
OpenSBI 就是这个接口最常见的开源实现。
所以完整关系大概是:
硬件在最下面。
OpenSBI 负责最底层服务。
U-Boot 或 UEFI 负责加载系统。
Linux 内核运行在上面。
结尾
Linux 与 RISC-V 为什么是天作之合?
因为 RISC-V 开放了处理器指令集。
RISC-V 不需要从零开始建立软件世界。
Linux 也终于得到了一套不完全依赖传统商业架构的新硬件基础。
但理论上很般配,不代表现实中已经完全成熟。
Linux 内核对 RISC-V 的支持到底怎么样?
Debian、Ubuntu 和 Fedora 能不能真正使用?
普通软件能不能在 RISC-V 上运行?
下一集,我们继续讲:
2026 年的 RISC-V Linux 生态,究竟已经发展到了什么程度?
