Forwarded with permission.
On Sunday, 18 September 2016 at 9:07:45 -0700, Kirk McKusick wrote:
On Monday, 12 September 2016 at 11:33:48 +0200, Joerg
norman(a)oclsc.org (Norman Wilson) wrote:
I don't think the BSD kernel when adopted
had much, if any,
of sockets, Berkeley's TCP/IP, McKusick's FFS; if it did,
they were excised. Likewise any remaining trace of V7's
mpx(2) multiplexed-file IPC.
From looking at the CSRG sources, it seems that the filesystem
project has been founded by Bill Joy and Kirk approached the project
a year (or more) later and implemented only the parts that are
related to the block allocation.
Does someone know more?
The 4.1a distribution had the initial socket interface with a
prerelease of the BBN TCP/IP under it. There was wide distribution
of 4.1a. The 4.1b distribution had the fast filesystem added and
a more mature socket interface (notably the listen/accept model
added by Sam Leffler). There was very limited distribution of 4.1b.
The 4.1c distribution had the finishing touches on the socket
interface and added the rename system call to the filesystem.
It also added the reliable signal interface. There was very wide
distribution of 4.1c as there was a 9-month delay in the distribution
of 4.2BSD while DARPA, BBN, and Berkeley debated whether the prerelease
of BBN's TCP/IP should be replaced with BBN's finished version. In
the end the TCP/IP was not replaced as it had had so much field
testing and improvement by the folks running the BSD releases that
it was deemed more performant and reliable. There had been a plan
to release 4.1d that would have the new virtual memory (mmap)
interface, but the delay in getting out 4.2BSD caused that addition
to be delayed for the 4.3BSD release.
As far as the filesystem is concerned, Bill Joy had done an initial
design primarily coming up with the idea of cylinder groups as a
way to distribute the block and inode bitmaps across the disk in
manageable size pieces. When he handed the project off to me I
received a single header file that defined his prototype for the
superblock and the cylinder group structures. I did all of the
coding from there with Bill doing design review. My feedback from
the folks at the labs was that they were not interested in incorporating
the fast filesystem because it tripled the size of the filesystem
code (from 400 to 1200 lines) and because it needlessly put
functionality into the kernel that could be done in userland
(mkdir/rmdir/rename which together were 400 of the 1200 lines of code).
Sent from my desktop computer.
Finger grog(a)FreeBSD.org for PGP public key.
See complete headers for address and phone numbers.
This message is digitally signed. If your Microsoft mail program
reports problems, please read