[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: Deploring *nix Philosophy

At 12:29 AM 6/4/04 -0400, Erik Hemdal wrote:

>Now to the question about spanning floppies.  It's a similar one to the
>notion of spanning hard disks or tapes (only the capacities are
>smaller).  If I have a cron job that expects to write to a disk device,
>I cannot have that device removed by other users at will.  In addition,
>the device needs to be protected for I/O buffering.  If writes are
>pending, removing disk media will corrupt the disk.  
>To avoid these problems, floppies, just like hard disks and tape
>devices, need to be mounted before they are used and unmounted before
>they are stopped or removed.  It's not an issue of respect for users,
>but of maintaining data integrity under all conditions.

What you say is very true, but there's nothing in what you say that
indicates that you can't have a file span multiple floppies any more than
you can't have a file span multiple tapes.  It may not be possible on Unix
or Linux at the moment, but that's the fault of the software creators, not
any inherent limitation in having a multi-user time-sharing OS.  (and I'm
not saying you can't do it with existing software on Unix or Linux...I'm
certainly no expert on either OS! ;-)

I work with OpenVMS, and have for many years.  When you are writing to
tapes you have to mount them after allocating the device to your process,
for the reasons you detail.  Once you have a tape mounted on a drive you
"own", you can do what you like to it.  If your file is bigger than will
fit on a single tape, you write as much as you can, then you unmount it,
mount another tape, and continue writing your file.  Programs such as
Backup do this automatically as needed...they just keep asking for tapes
until they have written the data they've been asked to write.  You can also
do it manually when copying lots of files to a "foreign" tape with the Copy
command or some other program that isn't as tape-aware as Backup is.  There
can be header info on the tape that says which volume of a multi-volume set
it is, how it relates to other tapes in the set, etc..  Multi-volume tape
sets are very common in some venues (such as processing Landsat images,
which typically span about 4 2400' tapes at 1600 bpi).

For batch (cron equivalent) processing (or interactive with a locked
computer room and untrained users) you need an operator to actually put the
media on the drive.  When a process needs to mount a tape on a drive, a
message is sent to Opcom (Operator communications...the console logging
program) requesting the tape be mounted.  The requesting process waits for
a signal that this has been done.  The operator mounts the tape, gets the
drive on-line, then responds to the console request, saying that the tape
is ready to go, and the Opcom process signals the waiting process, which
procedes.  Each request has an ID number that the operator uses when
responding, so multiple simultaneous requests for mounts on different
drives are possible.

This allows you to span data across multiple volumes, mounting and
dismounting media as needed, even on a multi-user, time-shared system,
whether interactive or batch processing.  Been working this way for well
over 20 years, nothing new about it.

-- Mike Bartman

*       Mike Bartman       *   Puzzles Pondered    Obfuscation Obliterated *
* Omniphiles International *  Confusion Canceled      Opinions Offered     *
*    omni omniphile com    *   Options Outlined       Smiles Stimulated    *
*            "We do it all!  No job too small!  No price too high!         *

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]