国庆七天,很多人把时间留给了装机、NAS、软路由,但有一个更冷门的角落这几天一直在更新:手搓操作系统。10 月 1 日,B 站"热土工作室"把 NeoRunST 开发日志更了一集,“本期是加强了bootloader以及一些小问题,VMware依旧正常发挥无法启动”。 10 月 3 日,这位作者又交出了"FAT32 只读驱动"的进度,标题就是自制系统圈的最高礼赞:“自制UEFI64位系统成功实现FAT32只读驱动”。 同一片自留地里,9 月 30 日还有个刚注册不久的小号发了一条"自制操作系统第一天,bochs打印helloworld",配的书是《一个操作系统的实现》。 互动数字都不大——开发日志 10 赞 427 播放,新手日志 5 赞 52 播放。但在这个圈子里,更新频率比点赞数更能说明问题:这不是话题,是现场。哔哩哔哩哔哩哔哩哔哩哔哩
先把读者对清楚:这篇不聊"国产 OS 自主叙事",也不是让你去挑战下一个 Linux。它服务的是三类人——想搞懂底层的学生、想要一个看得见成果的业余项目的程序员、想把东西塞进 2KB 内存里的硬件玩家。你要回答的问题只有一个:现在从零开坑,走哪条路,花多少时间,坑在哪。
路线一:传统汇编书路线——第一天就能喊 hello,但到图形界面是半本书起步
跟着书、用 nasm + bochs 从引导扇区开始手写的老路子,至今还在进新人,而且带火的不止一本:《30天自制操作系统》讲的就是 BIOS+CMOS 老电脑启动那一套。 有人在笔记里晒"今天刚到的样书,《从零自制操作系统》“,有人在 1 月中旬打卡”[30天自制操作系统]第3天,编写第一个X86",逐字啃 mov ax,4c00H 这种指令。 这条路的成本曲线很直白:第一天你就能对着模拟器窗口打出 hello,成就感是即时的;但从 hello 到 GUI、到文件系统,中间隔着半本书起步的推进量。适合把"每一步都是自己写的"当底线的人。小红书小红书
路线二:UEFI 路线——能真机启动,是目前最大的正反馈差异
知乎上有个从 8 月中旬一直更到 9 月的"拆解自制操作系统"系列,第 0 章配开发环境,第五章已经写到"文本显示和控制台类实现文本显示",BOOTX64.EFI 命名约定、SystemTable 里 ConOut 偏移这类细节全部摊开讲。 前面书路线的产物活在模拟器里,这条线最大的不同是有机会在真机上跑起来:NeoRunST 视频下就有评论说"基于edk2开发的系统可以直接装在bios固件里了"。 坑也很具体:作者自己吐槽"VMware 依旧正常发挥无法启动"——虚拟机是这条路的第一个门槛,做好在 VMware、QEMU、实体旧机器之间来回换的准备。知乎哔哩哔哩
路线三:框架捷径——几周省掉基础工作,代价是把最有价值的部分黑箱化
8 月 15 日知乎有人问"自制操作系统没有人做框架吗?",接住这个问题的人自己花几个星期搓了个工具 FastShell,预览版正在收集反馈。 配套教程的标题起得很狂:“手把手教你编写一个属于自己的简易操作系统(全网最简单方法)”。这条路的账很清楚:用别人的几个星期换你的入门时间,但"底层到底发生了什么"恰恰是自制 OS 最有营养的部分,框架替你省掉的正是这个。作者本人也坦率:工具放在 GitHub,“经常有因为网络波动导致的访问不了”。想走捷径的,建议先在评论区看一圈别人的翻车案例再决定。知乎知乎
路线四:硬件魔改路线——回报最具体,也最省钱
小红书年初那篇"我们耗时1个月自制了一个系统:ArduBook OS"至今还有 444 赞、296 收藏:在一块"32KB Flash + 2KB SRAM"的 Arduino UNO R3 上做了个图形化阅读系统,支持中文显示、触控、断点续读,还塞进了一个简单文件系统。 这条路不追求"像电脑一样开机",追求的是在巴掌大的板子上把系统抠出来。国庆期间这条线上也有新人:10 月 1 日 B 站有人在发"自制stm32c542最小系统板心得体验",9 月 26 日小红书有人晒"自制 DYL 操作系统",标签直接写着"复刻Windows"。小红书小红书
先泼盆冷水,再说值不值
NeoRunST 视频下点赞最高的评论,把这行的天花板说得很清楚:现在这个年头谁都可以自制操作系统了,除非你拥有背景,有钱,有时间,否则几乎都会石沉大海,就算你有这些,也需要与 Windows、Linux、MacOS 这些生态抗衡。 这句反证应该直接进你的决策:如果目标是"做一个有人用的系统",不现实;如果目标是"亲手把开机过程看懂一遍"或"攒一个能演示的项目",完全现实——10 月 1 日知乎那个问题的新回答给的就是务实解:看上海交大老师写的《现代操作系统:原理和实现》,“里面配套的教程就是自己实现一个简单的操作系统”。 另外要看清体量:这些帖子的互动普遍在个位数到几百之间,这是个核心玩家在场、围观者不多的小圈子。热闹是真的,"人人都该来一个"是假的。哔哩哔哩知乎
按你要的东西对号入座
要考试、要简历、要真懂原理:教材路线或《现代操作系统:原理和实现》配套实验,跟着课程周期走,别指望七天速成。
要看得见的成果、想要真机启动的正反馈:跟着"拆解自制操作系统"这类 UEFI 系列走,或直接参考 NeoRunST 的路径;先解决虚拟机启动这个第一坑。
只想尽快摸到"我写了个 OS"的门槛:FastShell 这类框架可以试,但试用时把"我到底学到了什么"记下来,别只收获一个能跑的黑箱。
本来就在玩单片机:ArduBook 的路线最省钱,一块 UNO 加一个月业余时间,产物能演示。
继续观察的信号也很简单:看这几个系列的更新间隔还在不在——国庆 10 月 1 日、10 月 3 日连着更的 NeoRunST 没弃坑;看评论区的翻车案例是不是在涨;看 FastShell 预览版的反馈有没有转正。对这个圈子来说,没人弃更,就是最硬的繁荣指标。你打算从哪条路开坑?评论区聊聊你的第一天。