- 记于:2025-11-01 晚上
- 地点:浙江省·温州市·家里
- 天气:阴天
背景#
经常会想着搞搞程序员的三大浪漫(操作系统、编译原理、图形学),奈何工作与生活事务繁杂、压力重大,像这种对个人”不太重要“的事情容易一直拖延,遥遥无期;
所以先简单起个头,总比一直空想要好,待有时间时慢慢推进;
先从操作系统开始,咨询了下AI,结合自己的目标(做出一个带图形界面的操作系统),给出的建议和学习路径是先学习minix;
接下来简单介绍下minix以及虚拟机安装。
简单介绍 (by AI)#
🧠 什么是 MINIX 3?
MINIX 3 是一个 免费、开源(open-source) 的操作系统,设计目标是 高可靠性、高灵活性与高安全性。
它由著名计算机科学家 Andrew S. Tanenbaum 教授 领导开发,是现代 微内核(microkernel)架构 操作系统的重要代表之一。
⚙️ 系统架构
MINIX 3 采用极小的 微内核 运行在内核态(kernel mode),
而其余大部分操作系统功能——如驱动、文件系统、网络栈等——都以 独立、受保护的进程 形式运行在 用户态(user mode)。
这种设计带来以下优点:
🧩 模块化高:每个系统服务都是独立进程,可单独崩溃、重启。
🛡️ 更安全:驱动和系统服务之间隔离,避免单点故障。
🔁 高可靠性:MINIX 3 能自动检测并重启失效的服务,实现“自我修复”。
💻 平台与兼容性
MINIX 3 支持 x86 与 ARM 架构,
并与 NetBSD 兼容,可直接运行成千上万的 NetBSD 软件包。
这让它不仅适合教学与研究,也能用于嵌入式设备、容错系统等应用场景。
📚 教学与社区
MINIX 3 最初是为教学和研究操作系统原理而生,
因其 源码简洁清晰、架构严谨、文档完善,
被全球众多高校选作操作系统课程实验平台。
它拥有一个活跃的开源社区,
你可以直接下载源码、运行于虚拟机(如 QEMU / VirtualBox),
甚至参与内核与驱动的开发。
🚀 结语
MINIX 3 以极简的内核设计展示了操作系统的本质:
“保持小巧,保持可靠。”
它不仅是一款研究级操作系统,更是一种对高可靠计算理念的实践。
无论你是操作系统爱好者、嵌入式开发者,
还是想深入理解微内核思想的学生,
MINIX 3 都是一个理想的起点。
安装#
我是在macos环境,使用qemu方式安装;
官方文档里安装指令无法成功,可能是指令版本太老了,我安装的qemu版本为:
1 | % qemu-system-x86_64 --version |
安装步骤如下:
1.下载安装镜像文件
下载地址为:https://www.minix3.org/download/
我选择的是3.3.0 (stable release);
下载后命名为 minix.iso
2.创建虚拟磁盘镜像文件
1 | % qemu-img create -f qcow2 minix.img 4G |
qemu-img - QEMU 提供的磁盘镜像管理工具-f qcow2 - 指定文件格式为qcow2,该格式主要特点为支持动态分配空间,不会一开始就占用指定的空间create - 创建一个新的镜像文件minix.img - 文件名称4g - 文件最大容量
3.从光盘启动,即从iso文件启动
1 | % qemu-system-x86_64 -m 256 -boot d -cdrom ./minix.iso -hda minix.img -net nic -net user |
qemu-system-x86_64 - 启动一个 64 位 x86 架构的虚拟机-m 256 - 分配 256 MB 内存给虚拟机-boot d - 启动顺序设置为从光驱 (CD-ROM) 启动,用于第一次安装-cdrom ./minix.iso - 指定虚拟光驱使用的 ISO 镜像文件(Minix 安装盘)-hda minix.img - 指定虚拟硬盘文件(之前创建的 minix.img)-net nic - 添加一块虚拟网卡-net user - 使用用户模式网络,使虚拟机能够通过宿主机上网


4.执行安装
输入setup执行安装操作系统到磁盘文件;

基本上可以一路回车(按需选择),卡住的地方看下有需要输入yes或no;
等待一段时间,系统安装完毕;

接下来还有几个选项,也可以一路回车;

接下来输入shutdown -h now退出iso系统;
等待界面上出现MINIX has halted.表示系统已经退出的描述时,可以关闭qemu窗口。
5.从虚拟磁盘文件启动安装的操作系统
这次不指定-cdrom参数,且使用-boot c表示从硬盘(minix.img)启动;
1 | % qemu-system-x86_64 -m 256 -boot c -hda minix.img -net nic -net user |
qemu-system-x86_64 - 启动一个 64 位 x86 架构的虚拟机-m 256 - 分配 256 MB 内存给虚拟机-boot c - 设置启动顺序为从硬盘(C 盘)启动,适合系统安装完成后运行-hda minix.img - 指定虚拟硬盘文件(之前安装了 MINIX 3 的 minix.img)-net nic - 添加一块虚拟网卡-net user - 使用用户模式网络,使虚拟机能够通过宿主机访问互联网
启动成功后使用root账号登录(无密码);
然后可以按需重新设置root密码;
不过还不清楚怎么在是里面配置网络,比如ping也无法成功;
留到下次有空看看吧。