Ghosts of Unix Past: a historical search for design patterns

“The previous series of articles on design patterns took
advantage of the development history of the Linux Kernel only
implicitly, looking at the patterns that could be found it the
kernel at the time with little reference to how they got there.
Perspective was provided by looking at the results of multiple
long-term development efforts, all included in the one code

“For this series we try to look for patterns which become
visible only over an extended time period. As development of a
system proceeds, early decisions can have consequences that were
not fully appreciated when they were made. If we can find patterns
relating these decisions to their outcomes, it might be hoped that
a review of these patterns while making new decisions will help to
avoid old mistakes or to leverage established successes. Full

“A very appropriate starting point for this exploration is the
Ritchie and Thompson paper, published in Communications of the ACM,
which introduced “The Unix Time-Sharing System”. In that paper the
authors claimed that the success of Unix was not in “new inventions
but rather in the full exploitation of a carefully selected set of
fertile ideas.”

Complete Story