Hacker News new | ask | show | jobs
by eggy 3590 days ago
I don't know but the Tanenbaum books."Operating Systems Design and Implementation" is old, but the appendix is the full C source code to Minix 3.0 if you buy the 3rd Edition. I had the 1st Edition with around 12K lines of C in the appendix. Great book, and I had Minix 1.5 running on my old Amiga around 1990. Minix was more portable than Linux, which came out around 4 year after Minix. I had my money on Minix when Linux came along, since Minix was a microkernel, and I thought it sounded like the better direction to take. Well, Linux won out, and funny enough microkernels came back in style anyway with MachTen, MkLinux, and QNX. QNX was very successful in the realtime OS world. I used it on two jobs. The newer Tanenbaum book: "Modern Operating Systems" I have not read, but if it is like the first one, I'd imagine it would be very educational too.
1 comments

> I had my money on Minix when Linux came along, since Minix was a microkernel, and I thought it sounded like the better direction to take. Well, Linux won

well, I am too young to witnesses the things, but I read from Tannenbaum, that his main intention was to keep Minix so small, that his students were able to understand it ine one semester. And that seems like a big limitation to me ...

Small != a limitation in many cases.

I think small adds to understanding. In addition, the whole point is to keep the kernel small in microkernels, and most, if not all, userland stuff is implemented outside of the kernel, so small is good here.

You can fork and add to it if you want to expand the kernel.

I happen to have a bias for minimalism and small: Shen, Forth, PicoLisp, wasplisp (MOSREF pentesting environment), J programming language, etc...

I think there is too much bloat in web dev, backend, frontend, and PLs in general. I really appreciate it when I see somebody elegantly, and with little code or extra tooling solve a problem in a straight forward manner.