49

Nanix: An idea for a modern, small, Unix-like operating system

 4 years ago
source link: https://www.tuicool.com/articles/ARR7nqQ
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

UPDATE:Thanks to the Lobsters commmunity, commenting on my Lobsters post, I have come to the conclusion Nanix is unfeasable. That's too bad! I'll leave this post up, regardless, because there's no reason to take it down.

Linux is huge. A minimal, gzipped kernel image is over 2MB, and that is missing essential systems such as networking. And USB.

GNU/Linux is even. An installation of glibc, at least from Debian on i386, is nearly 10MB . Coreutils is another ~15MB . Then there's bash, grep, gzip, tar, sysutils, etc., each eating up precious megabytes.

Of course, there are smaller alternatives, some I particularly like are musl libc and BusyBox , which fill the roles of all of the above GNU packages as far as I can tell, and they're both decently small.

But for me, they're not small enough.

You see, there used to be a Linux distribution called muLinux, of which the base system fit on a single high-density 3.5 inch floppy disk, albeit formatted to 1.722MB. Nowadays, you couldn't even fit a gzipped kernel into that size, never mind a full, usable system.

So I propose a full UNIX-like operating system (BSD-style), specifically designed to (1) take advantage of modern hardware, (2) fit on a single floppy disk, and (3) be somewhat useful for hobbyist desktop users. This isn't possible with modern Linux, due to decades of software bloat. It isn't possible with GNU tools, for similar reasons.

So a new kernel and userspace would have to be made. While we're at it, we can use tcc , which is much smaller than gcc or clang, as the system toolchain, and probably fit the entire toolchain, headers and all, on a single floppy.

I call this operating system "Nanix," a portmanteau of "nano" and "UNIX."

Would anybody be interested in using this for anything? I probably won't ever work on it, but it might be a nice learning exercise for me to get a minimal UNIX-like kernel going and a sliver of a userspace.

Footnotes

[huger] : Is this a word? Let's go with it.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK