Nemo's book is excellent. He has one on the user space aide of plan 9 as well. 
http://lsub.org/who/nemo/9.intro.pdf. 

I would suggest first reading the file portdat.h and dat.h and getting some 
idea of the structures used in the system. Seeing the data structures first is 
essential to understanding Bell Labs code. Then learn the syscall path and 
start by walking through some of the familiar calls, adding new ones until you 
exhaust them. There aren't many. By that time you'll understand how the system 
works. You then can walk through the boot strap procedure.

Device drivers, dev*.c, are fun to read but for drivers interfacing to real 
hardware you'll need the vendor's hardware manual to really understand them. 
The devsd and devether with its many "mini-port" drivers are a bit of a world 
to themselves. The IP stack more so.

I would also highly recommend Ken file server as well. It's smaller in scope 
and has many of the same concepts as the later kernel. I would study as early a 
version as you can find. 

Not the only order to learn the code but one that has worked for me. 

Brantley

Sent from my iPad

> On Sep 11, 2015, at 6:48 PM, Aleksandar Kuktin <akuk...@gmail.com> wrote:
> 
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
>> On Fri, 11 Sep 2015 14:16:49 +0530
>> Ramakrishnan Muthukrishnan <r...@rkrishnan.org> wrote:
>> 
>> Not really about Plan 9, but I found this blog post and the comments
>> (there is even a comment from Rob Pike) very interesting and thought
>> of sharing here.
>> 
>> <https://spin0r.wordpress.com/2014/11/21/kr-c/>
> 
> Which reminds me - I should read Plan 9's source. At least the kernel.
> 
> Any pointer about where to start? I tried with the boot code, but it
> jumped around a lot and I lost track of it.
> 
> - -- 
> Svi moji e-mailovi su kriptografski potpisani. Proverite ih.
> All of my e-mails are cryptographically signed. Verify them.
> - --
> You don't need an AI for a robot uprising.
> Humans will do just fine.
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.15 (GNU/Linux)
> 
> iQIcBAEBAgAGBQJV81o+AAoJEKa4cgqNx31/A4AP/A6rhnkPiAcJBL6cZthN6+s8
> E3lJhHkK+QeWRJGfPuI/8wsCMGoNg7bv236oBmYK5SNIAt1htYeWPHwlPSrjMa6r
> tjaOthZrdOBrULaXtskM26V/kCJY3r6ZNoqNxJe6USTGuh7EHRis0Id6ZBwIalUi
> cTN56LjFnJHH0wLaAaXWZ/e9oSyvNxHPopwVoshF0m0gjO2wQ1UOKjNQT05YVD/L
> 9e5INAl7M0Y8vc/ks4jlGPhJTOhVNhzQtnc6+E1sqWAhLEEPs9vSaIo2Yv7IkxJ1
> CSsRbt+TAmQeM6NKbB992Luag/sGi/xzJHmk3S0iSUb4OQAMzrWzvbE3pUEZV/Mx
> 1XxSB5XsqDuhJekJ3HAJzKqTxfDGlfAHLoq2ntWL5VTap1QhnuxuJrdttORJwlYk
> iz11WCQhkhptkuaBTXweRIZVUue/2RjIMzyonm0zam9f12BKTgF7sfbKTZEhrsPC
> /ubb0kQyXLW/u3oxPM3P7VCIN+l6GzCB4VMeQpWbLSB1ZFacds+SAnWH79nCX2+o
> l9UDr43GHoGYc50WYeN8gVq+yZt0mMW1n33/R+4ltUiqBbYfd1Bll+QA7d0zBecO
> /k7vBh+B18XMwRGQkczvvlE7FAuxHjc7PEx8HnmIydyFU23sP966lbt5CczwIMA7
> epJusWqdEqmXP22vm/++
> =tRzZ
> -----END PGP SIGNATURE-----

Reply via email to