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.
|