Live data from Hacker News

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

piperswe.me

21–30 of 58 posts

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

#24

I'm always in favor of homebuilt OS projects, I've worked on several in-house OSs and they seem to have good ideas salted around them. If it were me, I'd write an open source RTOS (yet another one) and cast around for clever notions to stick in the thing, for the mental exercise if nothing else. Perhaps carve out a niche in quality/safety and not so much in performance.

What I partially would love to see is a Unix like OS for the Pi thats designed and built specifically to take full advantage of everything the Pi has to offer. The Pi especially with the Pi Zero is a great tool to learn and teach. Since the Pi Zero is so cheap if it breaks you buy a new one...

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

#27
Not exactly Unix-like, but there's this: http://menuetos.net/

...which seems to imply that you're going to need a more efficient language than "traditional" C/C++ if you want to fit more functionality on a single floppy, although given that early UNIX was written in C/Asm, I wonder how much of it is due to bloat/unnecessary/extra abstraction than the choice of language itself.

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

#28
post #13
post #4

Earlier quoted context omitted.

Similar for FreeBSD: https://people.freebsd.org/~picobsd/old/picobsd.html

These are about twenty years old (Linux 2.2 and FreeBSD 3). While they almost certainly still work on modern hardware thanks to the backwards compatibility of the PC platform, can it be done with newer software?

OpenWrt run's on 4mb flash / 32mb memory devices. If you disable IPv6 / Wireless drivers and tune some more knobs you get probably something that boots a recent 4.14 kernel / musl / busybox from a 3mb squashfs and runs in 16mb memory.

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

#29
First, I think this is a great idea, and I second your idea!

But, there's sort of a larger problem at stake here with operating systems, and that is the "archaeological WHY".

You see, the way Operating Systems classes are typically taught at university is that you are given an already working, already functional Operating System, which might be as "simple" (a term I use loosely, because it's relative) as Minix. (Minix is not simple compared to DOS, DOS is not simple compared to CP/M, etc.)

But the thing is, while you learn about the different parts of an already functional (multi-functional, because it has many functions) Operating System, you never really learn about the WHY, the reason why, the problem why all of that functionality, all of those systems and subsystems, were established in the first place.

In other words, let's say I have a computer with no OS. Bare metal. And I want the simplest piece of functionality to make my life a little bit easier, like let's say, a simple file system, the ability to run a C compiler, and the ability to use simple commands like "ls", "dir", etc.

Now, that ignores all sorts of other functionality, such as threads, multitasking, locks, IPC, sockets, memory management, GUI, etc., etc.

But, it would allow a greater understanding of the "archaeological WHY".

Once that understanding is firmly solidified, we could explore the next problem on our road to creating a modern, more complex OS. The WHY of that next problem, and the solution to it (increasing in complexity, but building commensurate understanding!) at every step.

OK, I'm rambling!

But I like your idea and greatly endorse it!

Post reply on HN