[TUHS] /proc - linux vs solaris

A. P. Garcia a.phillip.garcia at gmail.com
Tue Aug 5 21:55:43 AEST 2014


After sleeping on this, I realized that with DTrace, the extra goodies
exported by linux in /proc may be superfluous. Which would just mean that a
nice innovation was perhaps trumped by a more powerful one.

However, some of the missing commands in linux-ptools should be trivial to
add, and it's somewhat curious that no one has (pcred, pfiles). The one
possible exception to this is prstat.
 On Aug 4, 2014 8:26 PM, "A. P. Garcia" <a.phillip.garcia at gmail.com> wrote:

>
> On Aug 4, 2014 6:56 PM, "Larry McVoy" <lm at mcvoy.com> wrote:
> >
> > Seem like even Roger liked it:
> >
> > https://lwn.net/lwn/1998/0226/sunproc.html
>
> :-) There are a few different issues here. Linux exports a lot of
> interesting info that Solaris doesn't. It's hard not to like that. Where
> they put it, who cares. The unix filesystem hierarchy wasn't exactly
> planned out by neat freaks.
>
> > On Mon, Aug 04, 2014 at 03:23:25PM -0700, Larry McVoy wrote:
> > > On Mon, Aug 04, 2014 at 05:24:39PM -0500, A. P. Garcia wrote:
> > > > We in Solaris designed /proc as a tool for developers to build
> innovative
> > > > solutions, not an end-user interface. The Linux community believes
> that
> > > > 'cat /proc/self/maps' is the best user interface, while we believe
> that
> > > > pmap(1) is right answer. The reason for this is that mdb(1),
> truss(1),
> > > > dtrace(1M) and a host of other tools all make use of this same
> information.
> > > > It would be a waste of time to take binary information in the kernel,
> > > > convert it to text, and then have the userland components all write
> their
> > > > own (error prone) parsing routines to convert this information back
> into a
> > > > custom binary form. Plus, we can change the options and output
> format of
> > > > pmap without breaking other applications that depend on the contents
> of
> > > > /proc.
> > >
> > > I come from SunOS background and have had more than a few /proc
> discussions
> > > with Roger Faulkner (who I believed did the System V /proc at Bell
> Labs?).
> > >
> > > I get the arguments above but I don't buy 'em.  linux really got /proc
> > > right in terms of usefulness.
>
> > Digging binary blobs out of the kernel
> > > and translating them sucks.  I've done, I've written kmem drivers for
> > > ps, I understand how it works.  I far prefer the pure ascii model that
> > > Linux has.
>
> Part of the argument was more or less that the binary model allows a
> richer set of tools to be built on top of it, and that those tools provide
> a better interface to the info. Does Solaris have a richer set of tools
> than Linux in this regard? I think so, but I don't know how much of this is
> owed to the difference between binary and text interfaces in /proc.
>
> Last time I checked, Linix had no pcred(1), for example. top(1) doesn't
> provide nearly as much info as prstat(1) -- for example, prstat -mL. Why
> that is, I don't know. Plus, prstat is marginally less resource intensive.
> Anything as sweet as (k)mdb in linux? Forget it. Maybe that's because Linus
> was so resistant to having a debugger in the kernel for so long? DTrace?
> Well, sort of -- a port of dtrace! But I'm really at an unfair disadvantage
> here. *Why* Solaris has such better tools, you would know better than me. I
> only know that it does. As for the second part, that writing the tools that
> use the binary interface is unpleasant, again I have to defer to you. I've
> never done that.
>
> > > I also get that Linux turned /proc into /whatever/I/think/I/need/today
> > > and that makes purists grit their teeth.  None the less, if you give
> > > me a choice I'll take the linux way.  Want to see what files you have
> > > open?
> > >
> > >       ls -l /proc/$$/fd
>
> I think this would work in solaris, maybe linux too: pfiles $$
>
> > > Etc.  Really easy to poke around and figure stuff out as needed and no
> > > rats nest of header files to decode the structures.
>
> Again, that's what the tools are for. If a tool doesn't give me the info I
> need in Solaris, I guess I'm SOL. In Linux, *maybe* I'd have a chance of
> finding it in /proc.  :-)
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://minnie.tuhs.org/pipermail/tuhs/attachments/20140805/feb33982/attachment.html>


More information about the TUHS mailing list