In Memoriam: Roger Faulkner

Roger FaulknerRecently, UNIX lost one of its most stalwart pioneers. In eulogizing him in a tweet, I claimed that Roger Faulkner was the "godfather of post-AT&T UNIX"—and I can't imagine that anyone who knew Roger would disagree with me: over his four decades in the UNIX kernel, he served not only as keeper of the Bell Labs flame, but also as the inspiration of an entire generation of kernel engineers. While Roger's career was long and varied, his true love was for the process file system—/proc—that represents the application interface to the UNIX process model. Roger believed that terrible things were sometimes required to create beautiful abstractions, and his trailblazing work on /proc embodies this burden: the innards may be delicate and nasty ("vile," as Roger might say in his distinguished Carolinian accent)—but the resulting abstractions are breathtaking in their power, scope and robustness.

Roger's work on /proc was originally described in a paper co-written with Ron Gomes and published at the USENIX Winter Conference in 1991. Despite its profound influence, electronic copies of this gem have been scarce:  while only 25 years ago, 1991 predates our modern Web, and generally if you wanted to read Roger's paper, you needed to befriend either a university librarian or a UNIX antiquarian. Fortunately, one is no longer reduced to such desperate measures: in memory of Roger and his contribution to UNIX, USENIX has graciously scanned this paper and made it available. Roger's voice is clear and distinctive in this paper: he is on a self-described "mission from God to create the one true debugger," and his focus and zeal are infectious. There is no truer way to remember Roger than to read (or re-read) this work; may it serve to inspire a new generation in the same way that Roger inspired so many of us who who had the privilege to know him. —Bryan Cantrill

The Process File System and Process Model in UNIX System V
Roger Faulkner, Sun Microsystems; Ron Gomes, AT&T Laboratories
in Proceedings of the USENIX 1991 Winter Technical Conference
Download the PDF