I am continuing on my journey. Still on chapter 1 but I am taking my time to understand things. Re-read if needed. I saw a snippet in the book about simplified command processor on what it needed to do to run a command, such as, the copy command: cp. Fork is called to create a child process using a copy of the environment, code, and registers. And depending on the result of fork(), you know it is the child process running the code vs. the parent process. Interesting. Etc. So, I was thinking of taking the example code and compiling it in a C compiler. Then tweak it a little bit to see what it does. And read up on the documentation on the various system calls used.
I see on the wiki the various guides including user, install, virtual machines, developer, etc. I was just wondering if we could have a separate page for the prerequisites whether hardware, software, knowing a programming language, or about virtual machines. Maybe some example books or tutorials to bring someone up to speed who is not currently a student. Some things are obvious like knowing the C programming language. So the C Programming Language 2nd ed by K&R is the book to learn (or re-learn in my case). Not that I completely forgot C. The past 10-20 years has been knowing C just enough for interop with libraries written in C from higher programming languages. I also assume knowing UNIX/Linux utilities/commands, text editors, help. These are listed on various Minix guides. Since the latest versions of Minix use many commands from NetBSD userland - so maybe a good NetBSD book to read? What programming languages would be good to know for Minix? C, x86 32-bit assembly language, Perl, Python, tcl, shell scripting? What are some more good books to read that are not on the developer or user guides?
I read that Minix uses ash but another places says sh. Bash is available which is typically the default on Linux. So, what shell/shell programming should i learn for Minix?
I've already taken a peek at the Minix source code in C just to see how it looks in /usr/src. I am curious, how do you build Minix on Minix? How much RAM do you need to do this?
Did i read that the latest Minix like 3.3/3.4rc can use modern hardware like USB devices? SCSI disks?
And how close are these later versions of Minix 3 are close to The Minix Book? Is it really the userland that is different but the kernel is basically same which additions to support new hardware like USB and SCSI?
Are there students out there still going through the book learning Minix?
Thanks, Daniel
danmorg on irc