Share
Embed
2025 IEEE MSST: NFS: Genesis
Genesis of the Sun Microsystems Network File System (NFS) 1983 to 1986.
Tom Lyon
September 23, 2025
Transcript
14 slides
-
Zeitgeist 1983 4.2BSD finally available! FIle sharing - obviously desirable,
but non-trivial Disks - expensive! Systems – frequent down time (backups, esp) Network – flaky shared media UNIX explosion – for *new* vendors but not the installed base Share files – or just disks? -
Workstation vs Disk Cost 1982: Sun-1: $8,900 With Ethernet, Memory,
UNIX $13,900 Disk (SMD - 84MB): $13,900 1985: Sun-2/50-2: $8,900 Sun-3/75M-4: $15,900 Disk(SCSI - 71MB): $5,900 -
Network Disk Protocol Bill Croft 1983 - SunOS 1.1 (4/84)
Proof for viable diskless operation Huge cost savings & feature parity with Apollo Example of benefits of statelessness and idempotency PITA to administer - none of today’s SAN tools -
Beliefs/Fears/Constraints Disks are/will be expensive! Prior network file systems presume
local disk! (Not Apollo) VAXen and mainframes own the disks! “Servers” are a concept not yet proven Need a protocol – can’t even assume C language on the server “Distributed UNIX” isn’t UNIX Terminals <<$ Workstations <<$ Minicomputers -
Jan. 03, 1984 - Bill Joy Perigee “Design of the
Sun Network File System” “Sun Network File Protocol Design Considerations” “Sun UNIX Modifications to use the Sun Network File Service” Stakes in the ground: Heterogeneity, Statelessness, Datagrams, Idempotency File handles, Vnodes, Block-based for caching & VM *No* file use after unlink -
RPC/XDR Bob Lyon, 2/2/84 “Sun RPC Architecture” Bob Lyon, 8/20/84
“Sun RPC Protocol Specification Version 2 aka “Son of Courier” Xerox XSIS-038112 12/81 “Courier: the Remote Procedure Call Protocol” Andrew D. Birrell & Bruce Jay Nelson, Xerox CSL 83-7 12/83 “Implementing Remote Procedure Calls” -
NFS Architecture Offsite May or June 1984 Use after unlink!
The “¾” solution - .nfsXXXXX files Off to the races! Participants: Bill Joy, Dave Goldberg, Bob Lyon, Tom Lyon, Joe Moran, Rusty Sandberg, Steve Kleiman -
SunOS Release History Sun UNIX - 1982 - Unisoft V7
UNIX, no networking SunOS 0.4 Beta - Aug 1983 - 4.1cBSD, networking! SunOS 1.0 - Nov 1983 - 4.2BSD Beta SunOS 1.1 - Apr 1984 - 4.2BSD final and ND SunOS 2.0 - May 1985 (long beta) - NFS! But also ND SunOS 3.0 - Feb 1986 - Sun-3 HW and System-V compat libraries SunOS 4.0 - Dec 1988 - VM rewrite, ND Eliminated – diskless NFS, Automounter -
Statelessness Error recovery is 100x harder in state-ful protocols Like
guaranteed vs best-effort delivery “Just Retry” is so much easier Network was flaky – single fat yellow coax Servers – frequent downtime (backups, etc) Servers must not depend on clients -
Open Systems Sun was committed to Ethernet and TCP/IP from
day one. Ethernet and TCP/IP dominated because of a community committed to openness and interoperability. It was natural (at least for us engineers) to push NFS the same way. The earliest partners were nascent large system vendors - Convex, Gould, Pyramid -
Connectathon/Uniforum Feb. 1986 16 vendors 5 operating systems PC-NFS 1.0
- June 1986 - MSDOS/PCDOS 3.x -
Merges Not Made Microsoft/SMB Approached by MS early on, but
- printers? TOPS/Macintosh Centram Systems West/TOPS/Sitka acquired by Sun Lots of work ~1988 to define merge, thankfully dropped Sun + Apple = Snapple 1996: serious merger talks incl. network services architecture