logoalt Hacker News

Rochustoday at 1:23 AM1 replyview on HN

The book version is a subset of Minix version 3.1.0 (see https://github.com/rochus-keller/Minix3/tree/3.1.0).

The sursprise comes when you try to compile the minimal book version and find out that it is not as lean as presented in the book but actually depends on hundereds of assembler files (see https://github.com/rochus-keller/Minix3/tree/Minix3_Book_TCC).


Replies

barfiuretoday at 2:55 AM

I’m a tad confused so maybe I’m not understanding the horror show.

Tanenbaum explicitly mentions multiple times that the book is a subset of the code because it would be too long to print with the library. So he covers mostly the main areas.

But the source code, in its entirety, is mounted under /usr/src. And it has all the assembly files in ACK files, mostly in lib I believe. You can compile it with a make command and it works as expected.

The author makes it seem like there’s some terrible thing. Am I missing some gory directory? Yes the ACK syntax would need to be ported over to something more modern like NASM or FASM if someone wants to move the whole kitchen sink, new linker scripts made as a result of exported symbols etc. It is painful but alas, so is the archaic K&R C.

I don’t know if that’s necessary though? It sounds like a waste of time to begin with.

I mean this book is ancient, and nobody really uses 32-bit protected mode. I’m mostly doing it out of curiosity even though I already stood up a small 64-bit long mode thinger.

Let me know what I’m missing!

show 1 reply