[TUHS] Memorial Day in uts

Bryan Cantrill Bryan.Cantrill at eng.sun.com
Mon May 27 16:59:03 AEST 2002

I recently discovered your excellent site (was pre-Lions src just recently
made available?), which prompted me to send the following mail out to my
colleagues in Solaris Kernel Development.  (Apologies in advance if you find
this annoying, superfluous or disrespectful -- I thought some might find
it interesting, if stupid.)  If there are other kernel implementors of
AT&T-derived UNIX lurking here, it would be enlightening to know what a
similar comparison yields on your baby.  (It should go without saying that
the implementation of each mentioned function has virtually no resemblance
to its V3 forebear.)  And of course, my burning question:  has none of us
changed "/* stat codes */" in proc.h?)


Subject: Memorial Day in uts
To: kernel at eng.sun.com


This Memorial Day, take a moment to remember the source code that has
served in our kernel since its inception.  To this end, wander by
http://minnie.tuhs.org/UnixTree/, and pause for a moment to commemorate
these brave functions from the 101st Tapeborne -- all of which have
served continuously since August, 1973:

        bflush()        falloc()       newproc()         sched()
         bread()        getblk()         nodev()        signal()
        brelse()          getf()       nulldev()          stty()
        bwrite()          gtty()         panic()         suser()
         clock()         issig()        printf()         swtch()
        closef()        mmread()          psig()       timeout()
          core()       mmwrite()       psignal()       ufalloc()

Their compatriot structure fields include:
         av_back         b_flags          p_flag          u_cdir
         av_forw          b_forw          p_ppid                
          b_back           c_arg (*)      p_stat                
         b_blkno          c_func (*)      p_wchan              

(*) c_func and c_arg are notable for having survived a bonwick scorched-earth
rewrite of callouts circa 1997 -- unclear if this makes them eligible for
the Purple Heart, or if they should be considered acquited war criminals.

As for constants, B_DONE, B_ERROR, FREAD, FWRITE, and SSLEEP have all had the
same numerical value since they enlisted in 1973.  And a moment of silence
is certainly due to this line in proc.h -- a line which has not changed
so much as a character since 1973:

  /* stat codes */

And to the code ripped out in the line of duty, we say only:  "We Have Not
Forgotten."  (Of course, we usually follow that up with "Never Again.")

	- Bryan

Bryan Cantrill, Solaris Kernel Development.  bmc at eng.sun.com  (650) 786-3652

More information about the TUHS mailing list