Which layout? The x86 boot process is pretty well documented and not something that needs a source at this point. Either way he says he learned this all by studying MSDOS.
Also BSD's have roughly as many faults as Liunx, well not as many. But they commit the same POSIX sins that Linux does. I mean POSIX doesn't handle dynamic concurrent data well at all.
It wasn't built with TCP/IP in mind. Sockets are nice work around, but they don't actually fix the problem.