P E N I X
The Penix Filesystems

or:

Everything  You'd Always  Suspected About The Development
Team Was True

or:

Device Drivers? We doan need no steenkin' device drivers!

`I really have a secret satisfaction  in being considered
rather mad.'

- William Heath Robinson


look, it's NOT THAT COMPLICATED, okay? it might seem that
way at first,  but that's just a natural result of having
to cater for dozens of  different hardware  platforms and
hundreds of different  devices.  we've had enquiries from
people  asking  `how can i connect this  Seagate  Shoebox
10-meg  hard  drive  to my  machine  with a  Kellogs  MFM
controller and get it working under Penix?' or `how can i
connect my cat to my SparcStation  using BIG RED STRAPS?'
or `i've got my finger  stuck in the floppy  drive and is
there a Penix command to release it?'

honestly,  some of you  people mustn't  have both oars in
the water.

Penix is very  smart when it comes to alien hardware.  it
simply formats itself  over the top of whatever was there
and installs  itself.  we use the way-cool,  cutting edge
procedure of evolutionary software  to do this.  it works
thusly:

     i) you whack the  hardware  in the  machine and make
        sure the power cables are all connected;

     ii) you turn the machine on,  making  sure you stand
        well back from it in case it explodes in your
        face;

     iii) assuming that Penix  boots without  mishap, run
        /thingies/voyeur.

this  program   (which  was  developed   using   exciting
fractal/cellular automata  procedures  rather  than  that
boring old  `sitting down,  drawing flow-charts,  coding,
compiling and debugging'  method) can sense what's inside
your  machine  simply  by  examining  every  address  and
interrupt available to it, every peripheral and hook into
the  memory-space.  it knows  from  experience  that  RAM
reacts differently to W OM  (write-only memory,  and yes,
there  is such  a thing.  the C-64 used to have it in its
custom  sound  chips,  so there) and  to ROM  and  actual
walking,  talking,  farting devices.  once  `voyeur'  has
identified a potential device, it checks against

     /useless/closet

to see  if it has any  record  of it (the format of  this
file is quite simple; each line stands for an address and
has the words `RAM',  `WOM',  `ROM',  `FOM'  or  `DEVICE'
after  the binary  representation of the address it's at.
this might  sound inefficient  as far as disk space goes.
yes).  having  located   a  new   device,  `voyeur'  then
proceeds to throw random strings of characters into it
while monitoring the surrounding 64 kilobytes around  it,
in the hope that one of these addresses will be returning
some kind of  status or  error message,  or even if we're
really lucky, data.

this all sounds terribly hit-and-miss, but believe us, it
works. eventually. having a really fast machine helps.

as soon as  `voyeur'  has established the command set for
this new device, whether it be SCSI tape drive, joystick,
mutant     bastard     sound-card,     VR     suit     or
digitally-controlled   Schmeisser   sub-machine-gun,   it
passes   this   data   onto   a   goelem   task    called
WHELAN_THE_WRECKER, which  then  formats the  device  and
installs  the  standard  territorial  byte-markers  which
identify the device as being part of the Penix filesystem
-hexadecimal  50,  45,  4E,  49,  and 58,  repeated  four
kilobytes apart  (the  OS  usually  writes  around  these
markers).  the device is  then  used for  storage  space,
added  seamlessly  and invisibly-to-the-user to the space
currently  available.  you might be surprised,  but we've
had reports  of  people  sucessfully storing all kinds of
data on all kinds of devices under Penix; one corporation
had all of its financial  records for 1995  stored in the
S-registers  of an internal modem  although we would like
to make it clear that the Penix Development team does NOT
condone,   under  any   circumstances,   the  concept  of
connecting  native  wildlife  to IDE adaptor cards in the
hope that they can be used to store data.