[TUHS] V8, V9 and V10 now in the "Unix Tree"

Rob Pike robpike at gmail.com
Sun Apr 12 20:00:56 AEST 2020


My favorite use of the file system switch was the "face server"
(analogous to name server), documented in a paper by myself and Dave
Presotto at the Portland USENIX in 1985.
http://doc.cat-v.org/bell_labs/face_the_nation/

We believe this was the first networked delivery of facial images to
indicate the sender of an arriving mail message. The associated vismon
program was also of interest in what it showed, and how small the code
was given the uniform system interface to resources.

-rob

On Sun, Apr 12, 2020 at 7:31 PM Paul Ruizendaal <pnr at planet.nl> wrote:
>
> Oops - pressed send too soon - apologies
>
>>
> Many thanks for the below notes!
>
> Some comments in line below:
>
> > The initial user-mode environment was a mix of 32V,
> > subsequent work within 1127, and imports from 4.1BSD.
> > I don't know the exact heritage: whether it was 1127's
> > work with 4.1BSD stuff added or vice-versa.
>
> Looking at the organisation of the source tree I’d say it is more likely that the base was V32 with bits of 4.1BSD imported than the other way around. If it was the other way around somebody would have spent considerable time to reorganise the source tree back to a form consistent with 32V. I think that such an effort would have been remembered even 40 years later.
>
> > The kernel was a clean break, however: 4.1xBSD for some
> > value of x (probably 4.1a but I don't remember which)
> > with Research changes.
>
> I don’t mean disrespect, but I think the surviving sources support Rob’s recollection that it was a gradual, ongoing effort.
>
> As a first approximation looking at the top comments of a file gives its origin: the BSD derived files still have an SCCS-type marker. For example the file https://www.tuhs.org/cgi-bin/utree.pl?file=V8/usr/sys/sys/vmmem.c still has the top comment "/*     vmmem.c 4.7     81/07/09        */“, even though it was last touched in 1985. (By the way, who knows which tool generated these comments? Is it early SCCS?)
>
> For the VM code, the BSD version stamp comment strings are consistent with the 4.1BSD release. For the TCP/IP stack they are consistent with 4.2BSD; it would seem probable to me that this code was imported multiple times during the development of 8th Edition.
>
> As far as I can tell 4.1aBSD was released in March or April 1982. Unfortunately no source code tape of it has surfaced, and SCCS coverage at this point is still very partial. I think 4.1b with the initial FFS implementation followed late summer 1982, I don’t have a more precise date (yet).
>
> > -- Berkeley FFS replaced by Weinberger's bitmapped
> > file system: essentially the V7 file system except
> > the free list was a bitmap and the blocksize was 4KiB.
>
> Thank you for pointing this out. With my focus on networking I had completely missed that.
>
> > Hacky implementation, depending on a flag bit in the
> > minor device number; didn't use the file system switch.
> > Old 512-byte-block file systems had to be supported
> > partly to ease the changeover, partly because the first
> > version had a limited bitmap size so file systems larger
> > than about 120MiB wouldn't work.
>
> For those interested, some of the relevant files are:
> https://www.tuhs.org/cgi-bin/utree.pl?file=V8/usr/sys/h/param.h (middle bit)
> https://www.tuhs.org/cgi-bin/utree.pl?file=V8/usr/sys/h/filsys.h (note the union)
> https://www.tuhs.org/cgi-bin/utree.pl?file=V8/usr/sys/sys/alloc.c (note 'if(BITFS(dev))’)
>
> And indeed the bitmap was fitted inside the 4KB superblock, 961 longs.
> 961 x 32 bits x 4KB = 120MB
>
> I’m not sure I understand the link between cluster and page size that is mentioned in param.h
>
> > This limit was removed
> > later.  (In retrospect I'm surprised I didn't then insist
> > on converting any remaining old-format file systems in
> > our domain and then removing the old-format code from
> > the kernel, since user-mode tools--including a user-mode
> > file server!--could be used to access any old disks
> > discovered later.)
>


More information about the TUHS mailing list