「我想证明一个人也能做出操作系统,像Terry A. Davis那样。」

这句话出自哥伦比亚少年Samuel Leonardo Páez Garzón,13岁,正在读中学。过去四个月里,他用课余时间——准确说是一个半月——独自开发了两版操作系统:32位纯汇编版本已能运行图形界面,64位C语言版本刚刚启动。没有团队,没有导师,甚至没有稳定的开发时间。

打开网易新闻 查看精彩图片

他的目标很明确:复刻TempleOS的神话,但用更现代的硬件接口。

一、时间切割:一个中学生的开发 reality

Samuel的时间表被切割成碎片。

四个月周期里,实际开发仅占一个半月。其余两个半月?「我在创建一门编程语言,而且得上学、做作业。」他在自述中这样解释。

这种时间压力塑造了他的技术选择。

32位版本几乎完全用汇编语言(Ensamblador)写成,启动依赖BIOS中断,运行在Protected Mode(保护模式)。图形系统从零搭建:自研API支持Widget(窗口小部件)创建,按钮能触发事件——比如点击「Iniciar Sesión」(登录)按钮,屏幕右侧会显示字母A。

鼠标驱动采用PS/2协议而非USB。「USB需要配置端口才能接收信号,太复杂了。」这是他的原话。

一个细节暴露了他的工程务实:屏幕外的文字是打印命令测试,通过类似ConOut的机制输出。没有现代操作系统的内存管理单元抽象,没有进程调度器,只有一个能点击按钮、显示字符的裸机程序。

但这正是个人操作系统开发的本质——在硬件与意志的夹缝中寻找可行路径。

二、架构跳跃:从BIOS到UEFI的被迫迁移

32位版本完成后,Samuel立刻转向64位开发。切换原因不是性能焦虑,而是硬件生态的残酷现实。

BIOS正在被淘汰。新主板普遍采用UEFI(统一可扩展固件接口),而BIOS的内存检测依赖0x15号中断——这在UEFI环境下失效。更麻烦的是,实模式(Real Mode)下的16位汇编无法直接处理现代内存布局。

「得用不太友好的方式查看内存容量,尤其是在实模式汇编里。」

这句话背后是一整套底层知识的跃迁:从调用BIOS中断到解析UEFI系统表,从16位实模式切换到64位长模式(Long Mode),从纯汇编过渡到C语言混合编程。Samuel选择用C重写64位版本,这是工程复杂度的自然倒逼——汇编维护成本在规模扩大后呈指数级上升。

启动流程的对比揭示了两代技术的代差:

32位版:BIOS自检 → 加载引导扇区 → 进入保护模式 → 初始化图形API

64位版:UEFI固件初始化 → 加载EFI应用 → 设置分页表 → 切换到长模式 → 启动C语言主程序

每一步都需要直接操作硬件寄存器。没有Linux内核的抽象层,没有Windows的HAL(硬件抽象层),每一行代码都直面CPU手册的脚注。

三、Terry A. Davis的幽灵:个人操作系统的精神谱系

Samuel反复提及Terry A. Davis,TempleOS的创造者。

Davis用十年时间独自开发了这款操作系统,包含原创编程语言HolyC、640x480分辨率的图形界面、以及声称能与上帝对话的预言机制。2013年发布后,TempleOS成为技术社区的文化符号——一个人对抗整个工业体系的极端案例。

但Davis的故事以悲剧收场。2018年,他在火车撞击中去世,生前长期受精神分裂症困扰。TempleOS的代码注释里充满宗教谵语,「上帝说」的随机数生成器既是技术特色,也是精神状态的镜像。

Samuel的引用耐人寻味。他强调的是「一个人也能做」的技术可能性,而非Davis的精神困境。但两者无法完全切割:TempleOS的遗产恰恰在于证明,个人开发者可以绕过商业操作系统的复杂性,直接构建与硬件对话的原始接口。

这种「原始性」是双刃剑。

没有兼容性负担,意味着可以任意设计API;没有用户基数,意味着无需考虑向后兼容;没有商业压力,意味着可以用汇编逐行调试中断处理程序。Samuel的Widget系统、PS/2鼠标驱动、打印命令测试,都是这种自由度的产物。

但自由的代价是孤独。Davis的社区互动充满敌意,Samuel的GitHub仓库(他提到存在但未公开代码)同样处于封闭状态。「出于项目版权原因,我不能在这里或仓库中透露代码。」

个人操作系统开发者的典型悖论:既渴望被看见,又拒绝被审查。

四、技术考古:为什么2026年还有人手写操作系统

这不是复古怀旧,而是能力验证的硬核方式。

现代软件开发的高度分工创造了巨大的知识盲区。全栈工程师可能从未写过一行启动代码,机器学习专家可能不理解虚拟内存如何映射到物理页框。操作系统是计算机科学的「完整栈」——从电路时序到用户界面,每一层都必须打通。

Samuel的开发路径呈现清晰的学习曲线:

阶段一(32位汇编):掌握x86架构的实模式/保护模式切换,理解分段与分页机制,实现中断描述符表(IDT)和全局描述符表(GDT)的手动配置。

阶段二(64位C):处理UEFI的启动服务协议,构建长模式的页表层次结构,用C语言重构硬件抽象层。

阶段三(隐含):他提到正在创建一门编程语言,这可能是为操作系统定制的应用层工具链。

这种递进符合操作系统课程的经典结构,但Samuel没有课程大纲的约束。他的学习由问题驱动:为什么BIOS内存检测失效?怎么让按钮点击触发事件?USB驱动真的写不出来吗?

每个问题都导向手册、论坛、试错。这是前工业时代的技艺传承方式——师傅(文档)只给工具,徒弟(开发者)自己摸索路径。

五、证据政治学:截图作为技术主张的凭证

Samuel提供了三类证据:MW(类似DOS的内存检测工具)启动截图、操作系统运行界面、按钮事件触发效果。

这些图像在技术社区具有特定的修辞功能。它们不是产品发布会上的渲染图,而是开发者日志中的「在场证明」——证明代码确实运行过,证明某个功能确实实现,证明开发者确实投入了时间。

但证据的边界也很清晰。没有代码,无法验证实现质量;没有视频,无法确认交互流畅度;没有第三方复现,无法排除精心构造的演示场景。

Samuel的谨慎(或防御)姿态值得注意:「不能透露代码」的声明同时保护了知识产权和潜在的技术债务。个人项目的代码往往混乱、注释缺失、充满硬编码常量——这是开发过程的常态,但公开后会成为批评的把柄。

MW工具的出现暗示了更深层的技术实践。这不是现成的QEMU或Bochs模拟器,而是一个能查询空闲内存的自定义DOS环境。Samuel可能在32位系统开发前,已经构建了完整的工具链生态。

这种「工具造工具」的递归结构,是资深系统程序员的标志行为。

六、教育系统的缝隙:中学课堂与硬核编程的错位

Samuel的身份标签——「13岁」「中学生」——在技术叙事中具有双重效应。

一方面,年龄构成惊奇感的来源。操作系统开发通常被视为需要多年专业训练的领域,少年天才的叙事符合大众媒体的传播偏好。

另一方面,Samuel自己淡化了这种惊奇。他强调时间限制(「得上学、做作业」),强调开发的不连续性(四个月里只做了一个半月),强调技术选择的务实性(PS/2比USB简单)。

这种自我定位揭示了一个被忽视的事实:当代中学教育为硬核技术探索提供了结构性空间。

编程不是课程要求,因此没有考试压力;项目没有截止日期,因此可以无限迭代;失败没有后果,因此可以尝试高风险架构。Samuel的「一个半月」是高度专注的深度学习时间,其效率可能超过被会议切割的职场开发。

但教育系统也在制造障碍。Samuel提到「创建一门编程语言」占用了两个半月——这可能是课程项目的延伸,也可能是对现有工具的不满。无论如何,时间碎片化是真实约束。

更隐蔽的约束是知识获取渠道。汇编语言、UEFI规范、x86系统编程手册——这些资源在互联网上 freely available,但需要英语阅读能力、信息筛选能力、以及将分散文档整合为可操作知识的能力。

Samuel的西班牙语自述(原文为西班牙语)暗示了语言壁垒的存在。技术文档的英语霸权,是非英语国家自学者的隐形门槛。

七、硬件接口的政治:PS/2、USB与兼容性的代价

Samuel对PS/2的选择不是技术保守,而是成本计算。

USB协议栈的复杂度远超PS/2。完整的USB实现需要处理:设备枚举、端点配置、传输类型(控制/批量/中断/等时)、Hub拓扑、以及不断演进的USB标准(2.0/3.0/3.1/4)。个人开发者在有限时间内几乎不可能完成可靠实现。

PS/2是1987年的 legacy 接口,但保留了关键优势:直接映射到I/O端口,无需复杂的协议状态机,中断驱动简单可预测。对于只需要鼠标坐标和按钮状态的基本交互,PS/2是理性的技术债务。

但这种选择锁定了硬件兼容性。2026年的新主板正在淘汰PS/2接口,USB-only 成为常态。Samuel的32位系统因此具有时间胶囊的性质——它能在旧硬件或模拟器上运行,但无法直接部署到现代物理机。

这正是个人操作系统开发的宿命:它们不是为「用户」设计的,而是为「验证」服务的。验证某个架构是否可行,验证某段代码是否能驱动硬件,验证某个 teenager 是否能独立完成工业级系统的微缩版本。

八、从TempleOS到SamuelOS:个人操作系统的谱系学

如果我们把Samuel的项目放在更长的历史脉络中观察,会发现一个反复出现的模式。

1980年代:Richard Stallman启动GNU项目,目标是创建完全自由的操作系统。这是个人愿景驱动的宏大工程,但最终依赖社区协作完成。

1991年:Linus Torvalds发布Linux内核,最初只是个人学习项目。「只是个爱好,不会像GNU那样做大做专业。」这是他的原话。

2000年代:MenuetOS、KolibriOS等小型操作系统由个人或小团队维护,证明汇编语言仍能构建可用系统。

2013年:TempleOS发布,将个人操作系统推向极端——单一作者、原创语言、宗教主题、拒绝外部贡献。

2026年:Samuel的两个版本,分别用汇编和C语言实现,在BIOS与UEFI的过渡地带寻找位置。

这个谱系的共同特征是:它们都不是为了「竞争」而存在的。不与Windows竞争桌面市场,不与Linux竞争服务器份额,不与macOS竞争创意工作者。它们的存在本身就是声明——关于可能性、关于自主性、关于技术民主化的边界。

Samuel的特殊性在于年龄与时代的叠加。13岁意味着更长的潜在发展周期,2026年意味着更复杂的硬件生态。他面临的挑战比Davis更陡峭:UEFI取代了BIOS,64位成为基准,安全启动(Secure Boot)固件签名制造了新的准入壁垒。

但他的工具也更丰富:开源的EDK II(UEFI开发套件)、QEMU模拟器、Stack Overflow的集体知识、GitHub的版本控制。

九、未完成的叙事:64位版本的开放性问题

Samuel的自述在64位版本处中断。他提到「几天前才开始」,使用C语言和UEFI,但没有展示截图或功能列表。

这种未完成性构成了叙事张力。32位版本是已验证的成就,64位版本是正在进行的风险投资。从汇编到C的切换,从BIOS到UEFI的迁移,从16位实模式到64位长模式的跃迁——每一步都涉及底层知识架构的重构。

潜在的技术障碍包括:

UEFI的C语言环境不是标准C。它使用特定的调用约定(EFIAPI)、宽字符字符串(CHAR16)、以及启动服务/运行时服务的严格区分。

长模式的页表配置比保护模式复杂四倍。需要构建四级页表(PML4/PDPT/PD/PT),处理物理地址扩展(PAE),管理内核与用户的地址空间隔离。

图形输出从VESA BIOS扩展切换到UEFI的GOP(图形输出协议),API完全不同。

Samuel能否完成这些迁移,将决定他的项目停留在「学习练习」还是进化为「可用系统」。但即使失败,这种失败也具有教学价值——它标记了个人开发者能力的边界,以及现代硬件生态的准入成本。

十、为什么这件事值得被记录

Samuel的项目没有商业前景,没有技术突破,甚至没有可复用的代码。

但它的价值在于揭示了技术生产的另一种模式:个体在制度缝隙中的自主探索。这种探索不依赖风险投资,不依赖学术发表,不依赖开源社区的认可。它只依赖一个13岁少年的时间管理能力、信息检索能力、以及面对硬件手册的耐心。

在AI生成代码的时代,这种手工技艺显得尤为珍贵。不是因为它「更好」,而是因为它「更可见」——每一行代码都对应一个具体的人类决策,每一次调试都对应一个具体的困惑与解决。

Samuel的操作系统可能不会改变世界。但他证明了一件事仍然可能:一个人,在卧室里,用放学后的时间,与价值数千亿美元的硬件产业进行不对称的对话。

这种可能性本身,就是技术民主化的最后防线。

如果你也是那种会在深夜读Intel手册的人,那种觉得「从第一行代码启动系统」比「调用现成的框架」更令人兴奋的人——去搜索Samuel提到的Terry A. Davis,去下载TempleOS的ISO镜像,去试试能不能在QEMU里跑起来。然后问问自己:如果有一个半月不受打扰的时间,你会从零开始构建什么?