On Sun, Sep 24, 2017 at 10:02 AM, ron minnich <rminnich(a)gmail.com> wrote:
ptrace replaces procfs? Wow, that's a
disappointing turn of events. It's
also against the flow of thought in the Unix community I knew in 1980. If
somebody has any of the old ca-1980 BSD manuals, you should find a BUGS
section on ptrace advocating a move to a file-system-like interface. I
always assumed ken wrote that little note when he was visiting UCB --
Need to check the UCB SCCS deltas, but I doubt it. Ken was there before
/proc appeared in Eight Edition.
ptrace was a hack, I don't think Dennis was particularly happy with it. It
was sprt of considered a weak link.
Plan 9 implements process debug via /proc, and several debuggers use that
Yes, pretty much post Eight Edition, /proc becomes the defacto interface.
Looking back on the time, I think two things go in its way which were both
more political than technical.
By the time it appears in the Research kernel, there is still not an agreed
upon file system layering. The vfs-layer would start to get argued about,
but it wasn't there [ more in a minute ].
So file systems (like /proc) were still more ad-hoc interfaces.
Second because either edition was not released the same way eailier
versions were, and AT&T was trying to use Summit as their IP release
mechanism; it got caught in the 'UNIX Wars.' I really think as much as
BSD was making great strides, if the new features of Eight had been made
available to BSD, many of them (like /proc) would have been integrated and
if had been integrsated earilier, more of the BSD tools (like debugger, et
al) would have relied on it and if that had occured; it would have been
better integrated (like it is in Linux today).
The file system model is powerful. The strace based on /proc was a few
To me, the really important thing SMI did by giving away NFS, was to start
the FS laying argument. What we ended up with is not perfect, its a
compromise (I wish the stacking model was better), but we started to have
the discussion. But because of NFS, we ended up getting a lot of
different file system options; which previously we did not have. It made
us really think through what were 'meta' functions that were FS
independant, 'virtual' functions what span all FS implementasions, and what
were 'physical' (implementation) specific file system functions.
NFS really should be credited for forcing that clean up.
Similarly, a few of us tried (and failed) to have the process layer
discussion -- consider the Locus vprocs work. It's really too bad, we
don't have that layer in any of the UNIX kernels today, it really make
process control, migration, etc a lot cleaner; just as adding a file system
But that's a war, I fought and lost....