Hacker News new | ask | show | jobs
by sqldba 3875 days ago
So the ls and make and all those tools; where do they come from? Are they straight compiles using GNU gcc tools etc?

I only ask because I have no idea how much is the kernel compared to everything else; and if it has its own custom compiler or whatever.

1 comments

No, they are minimal versions written for the OS. Here is ls[0] and cat[1]. You can compile with GCC.

[0] http://www.ccs.neu.edu/course/cs3650/unix-xv6/HTML/S/64.html [1] http://www.ccs.neu.edu/course/cs3650/unix-xv6/HTML/S/42.html

I wonder if a suitably minimalist C compiler (along the lines of C4[1] or C4x86[2], although perhaps a bit more featured) and/or assembler to go along with it would be a neat idea too - now you can have a complete self-bootstrapping OS which one person can easily understand.

[1] https://news.ycombinator.com/item?id=8558822

[2] https://news.ycombinator.com/item?id=8746054

By reading `cat`, how come that error messages are printend on standard output and the exit code is always 0? stderr and exit codes are not implemented/used in xv6?