Larry McVoy wrote: > > You did not make a backup while you worked at Sun? > > Apparently your ethics and my ethics differ. It was Sun's property, not mine. You do not understand jokes? > > Hint: I have been told > > from Sun employees that the Sun ZFS group did read my diploma thesis before > > they started with ZFS even though it is written in German ;-) > > Huh, interesting. I'll check that out. Both Jeff Bonwick and Bill Moore > have worked for me. Bonwick was one of my students at Stanford and I > hired him into the kernel group. Bill worked for me on BitKeeper. > I'll let you know what they say. I had a long discussion about this background in September 2004 with Jeff in his office while we discussed how a new secure interface that does not need root privileges could be added to support readin hole lists for files. This resulted in the design of SEEK_HOLE/SEEK_DATA. Before (around 1992) I had a really long meeting with Wolfgang Thaler (he is the designer and author of DDI/DKI) and after he mentioned that there are many people inside Sun that understand German, mentioned that my dimploma thesis http://cdrtools.sourceforge.net/private/WoFS.pdf is used by many Sun kernel engineers as there was no similar paper from Sun. > > There seems to be a general missunderstandings: > > > > I do not call SunOS-4.x a "BSD based OS" as SunOS-4.0 introduced a new memory > > management subsystem in the kernel. > > I think we can stop here. The rest of the world at the time described > SunOS as "a bug fixed BSD". The mmap() interface was designed by Bill > Joy while at UCB and was documented but not implemented in 4.2 BSD [*] This is definitely a missunderstanding: Bill did create a mmap() interface for BSD while in UCB, but this was already around 1984 and hard to use as there was no universal address space description inside the kernel. What you could do with the old interface that was also available in e.g. SunOS-3.5 is to map user space addresses to VME addresses, but you first had to valloc() the space before, to get a mmap() target address. After you then called mmap(), you did waste all the swap space that was needed to hold the address space description. We used this method at H.Berthold AG in 1986 for the Berthold image processor to get direct access to the 256 MB of image memory in the image proessor. We needed to waste a whole disk for swap to get the initial mapping into the address space descriptor for the related userland process. For SunOS-4.0, Bill did a complete rewrite of the whole virtual memory subsystem. This rewrite includes the filesystem and since SunOS-4.0, all file access is done via mmap(). Even read() based file I/O basically maps the related parts of a file into a transient kernel area from where a copyout() is done. With SunOS-4.x, mmap() has been much easier to use as there now was an object oriented linked list of address space descriptions. If you like to know why Sun could not donate the new virtual memory implementation to BSD, this is because of the contract signed with AT&T in late 1987 - even before SunOS-4.0 was send to customers. AT&T did know from the memory subsystem from a talk at USENIX in spring 1987. What I had to do when the Sparcstation came up was to write a segment driver to support the MMU in our VME<->S-Bus adaptor in order to come around the 32 MByte limitation for the addresses in an S-Bus slot. BTW: in order to avoid more missunderstandings, could you mention when you have been in the Sun kernel group and what kind of things you did with the kernel? Jörg -- EMail:joerg at schily.net (home) Jörg Schilling D-13353 Berlin joerg.schilling at fokus.fraunhofer.de (work) Blog: http://schily.blogspot.com/ URL: http://cdrecord.org/private/ http://sourceforge.net/projects/schilytools/files/