有哪些小型开源操作系统?我正在寻找比 Puppy Linux、Feather Linux、DSL 等小几个数量级的东西。我想运行一个命令行文本编辑器和编译器;其他任何事情都是无关紧要的。我正在寻找一个系统,我可以在合理的时间内拆开并获得对整个事物的相当好的理解。可移植且有据可查的东西的奖励积分。
17 回答
如果您想了解内核,请查看 Minix。Linux 内核对于学术练习来说太大了。
周围还有完全不同的研究/教学操作系统,例如TOPSY。
Topsy 是一个占用空间小的原生多线程、多任务操作系统,基于具有消息传递通信基础架构的微内核架构。
ANSI C,约 20k 行。它显然被移植到 ia32、MIPS R3000/R4000、StrongARM SA110、英特尔 IXP1200、英特尔 IXP2400 和摩托罗拉 68K。你会在他们的网站上找到各种论文报告。
我同意使用 Minix。你会得到 gcc、vi、emacs、bash。柔性。bison、man 和 TEX,如果你安装了整个东西,但你可以把它剪掉,只用 kernel、bash、gcc 和 vi
曾经有“PeeWeeLinux”——它是一堆运行在 Red Hat 6.2 上的 shell 脚本。一旦你弄清楚了,你就可以从一系列菜单中构建系统(挑选)。现在已经四岁了。我构建了一个 4MB 的系统:Linux 为 1/2MB,PHP 为 3.5!
然后有一个人通过使用 Linux 内核并用他的应用程序替换init来构建一个通信终端应用程序!
你应该说哪个编辑器和哪个编译器。例如,100K 的 Busybox 为您提供有限的 vi。但我认为如果你想要 gcc,那将决定目标系统的大小。
试试xv6。它基于第六版 Unix(又名 V6)。你可以运行它qemu
/ bochs
。用于gdb
查看引导本身的代码。它被许多大学用于学术目的。良好的文档。
这是麻省理工学院自 2002 年以来基于 xv6 的 6.828 操作系统工程课程。本书分为几章,每章将帮助您了解操作系统的某些部分,如文件系统或进程管理,并并排解释 xv6 源代码,所以你不必只扫描代码就可以自己理解。
这本书真的很小~80页:xv6 book pdf。你可以通过以下方式获得它的来源git(1)
:$ git clone git://pdos.csail.mit.edu/xv6/xv6.git
你也可以做一些大学给出的许多简单的任务。
干杯
仅使用您需要的部分制作您自己的发行版。
查找 Xinu - Xinu 不是 Unix - 由 Douglas Comer 撰写。它最初是在 LSI (PDP-11) 机器上,但已被移植到许多其他架构上。您可以在普渡大学找到更多信息和来源。
你没有说什么编译器。JX为我工作。
它不完全是 FOSS,但您可能会查看 QNX(又名 Qnix)。它是针对嵌入式系统的微内核操作系统。
我没有从属关系...请参阅此处的 wiki 链接。 请注意,该源是不久前提供的。
不是另一个完全启发式操作系统 (NACHOS) NACHOS wiki
孔蒂奇很小。不过,对于您的需求和/或硬件目标而言,可能太小了。
如果你想硬核,回归无限有“裸机”。 http://www.returninfinity.com/baremetal.html
tomsrtbt:“一张软盘上最多的 GNU/Linux。”
我会同意Minix。还有这本书:
http://www.amazon.com/Operating-Systems-Implementation-Prentice-Software/dp/0131429388
其实还算可以理解。(与一些类似主题的书籍不同,这里考虑的是“了解 Linux 内核”。)它相当昂贵,但您可能可以购买早期版本的二手书。
(注意。我与这本书没有任何关系,它很好:))
OpenBSD 可能是一个不错的选择,我认为默认安装(没有 X11)大约有 15 个进程。FreeBSD 紧随其后。无论哪种方式,您都想阅读“ FreeBSD 操作系统的设计和实现”
顺便说一句,我在 AIX、Solaris、FreeBSD 和 Linux 上花费了大量时间……而且我认为 OpenBSD 手册页是最好的。
我仍然怀念大学时的 XINU(XINU 不是 UNIX)。不确定它是否能提供你需要的一切,但在我上大学的时候它相当有教育意义,并且很容易与涡轮 C 一起放在软盘上 :)
我可以拆开的系统
还请查看 Bootdisk Howto,了解您将要拆开的内容。