[net.misc] Urk

stevenm (05/18/82)

                      THE STORY OF CREATION
                               or
                         THE MYTH OF URK



     In the beginning there was data.  The data was without  form
and  null, and darkness was upon the face of the console; and the
Spirit of IBM was moving over the face of the  market.   And  DEC
said,  "Let  there be registers";  and there were registers.  And
DEC saw that they carried; and DEC separated the  data  from  the
instructions.   DEC  called  the data Stack, and the instructions
they called Code.  And there was evening and there  was  morning,
one interrupt.

     And DEC said, "Let there be a word in the midst of the data,
and  let  it separate the data from the registers."  And DEC made
the word and separated the data which were under the  Stack  from
the  registers  which were above the memory.  And it was so.  And
DEC called the memory Core.  And there was evening and there  was
morning, a second interrupt.

     And DEC said, "Let the data  under  the  stack  be  gathered
together  into one place, and let partitions appear."  And it was
so.  DEC defined the partitions as 4Kw, and the  data  that  were
gathered  together  they  called BLOCKS.  And DEC saw that it was
good.  And DEC said, "Let the CPU  put  for  addresses,  pointers
yielding  bytes,  and  structures bearing words in which there is
data, each according to its type, upon the partition." And it was
so.   And  DEC  saw that no bits stuck. And there was evening and
there was morning, a third interrupt.

     And DEC said, "Let there be lights upon the console  of  the
CPU  to separate the addresses from the data; and let them be for
signs and for diagnostics and for blinking.  And it was so.   And
DEC  made  the  two great Buses, the greater Bus to rule the CPU,
and the lesser Bus to rule the peripherals; they made  the  peri-
pherals  also.  And DEC set them on line to give data to the CPU.
And DEC saw that it was good.  And there was  evening  and  there
was morning, a fourth interrupt.

     And DEC said, "Let the Bus bring forth swarms of  data,  and
let  stack  pointers  fly above the data across the partitions of
the Core." So Bell created the great C monsters.c and every a.out
that runs, with data swarming, and every pointer according to its
type." And Bell saw that is it was good.  And Bell blessed  them,
saying,  "Be  fruitful  and  fork  and fill the partitions in the
Core, and let processes multiply."  And  there  was  evening  and
there was morning, a fifth interrupt.

     And Bell said, "Let there be UNIX."  And  it  was  so.   And
Bell  made the errors of the Bus according to their kinds and the
faults of memory according to their kinds,  and  everything  that
core-dumps  upon  the  disk according to its error.  And Bell saw
that it was good.  Then Bell said, "Let us make debuggers for the
image;  and  let  them have dominion over the a.out, and over the
breakpoints, and over every address that sits upon the stack." So
Bell  created  parity; in the image of Core they created it; even
and odd they created it.  And Bell checked it and saw that it was
good.   And  Bell  said  of UNIX "Behold, We have given you every
pointer yielding objects, and every identifier with value in  its
address;  you  shall  have them for food.  And to every device on
the Bus, and to every program in the bin, and to everything  that
creeps  on  the disk, everything that has the mode of allocation,
We have given inodes to check."  And it was  so.   And  Bell  saw
everything  that  they  had made, and behold, it was a lot better
that RSTS/E.  And there was evening  and  there  was  morning,  a
sixth interrupt.

     Thus the hardware and the software were  finished,  and  all
the host of system calls.  On the seventh interrupt, it crashed.


[Credit for this piece, originally written in 1978 at Reed College,
goes to Rico Tudor (now at Mark Williams Co.), who used 'ed'
global change commands on the original (accurate) text of
Genesis. It is reprinted here without his permission. - mcg]