From: pdh@netcom.com (P D H) Subject: progress on floppy disk backup program Date: Fri, 28 May 1993 23:58:01 GMT
I am still working on a more sophisticated and faster floppy disk backup
program. I am interested in hearing from people who would like to see
certain features be in it. While I may not be able to put them in the
first version, at least I can make room for them now if they seem of any
value and would need to be considered in the basic program structure.
Here is how this will be working in it as I am doing it at present:
The program "fdwrite" will read from stdin, or from a file specified
with "-i" ("-" will mean stdin), and write that data as a byte stream
onto multiple floppy disks.
The program "fdread" will read multiple floppy disks and write the byte
stream output to stdout, or to a file specified with "-o" ("-" will mean
stdout).
The executable for both will be identical and the appropriate action will
be determined by the name of the program, or overridden by an option such
as "-i" or "-o".
The byte stream will be length controlled. That means that if you write
18,341,442 bytes over several floppy disks, then you will get 18,341,442
bytes back when those disks are read. A disk sequence number will also
help make sure disks are kept in sequence. This sequence number will be
only 1 byte, and so it will be reliable only for up to 256 floppy disks
(368.64 megabytes for H1440 3.5 inch floppies and probably beyond anyone's
tolerance for feeding the floppies into the drive). It will work beyond
that, but will not be able to detect the the difference modulo 256 (i.e.
disk 3 and disk 259 will be indistinguishable).
The program will be fully asyncronous using select() and read()/write()
level of I/O. For instance the fdwrite program will be reading from the
input data even while it is waiting for the user to respond to indicate
a disk is inserted and ready. This would be useful for slower pipelines
as it would allow things to work ahead as much as possible. I will provide
means to select the buffer space size at execution time (probably an option
called "-b" with K and M modifier for *= 1024 and *= 1048576).
Comments, suggestions, ideas, and wish lists may be e-mailed to me, or
may be posted here at your discretion. Flames will be ignored.
-- /***********************************************************************\ | Phil Howard --- KA9WGN --- pdh@netcom.com | "The problem with | | depending on government is that you cannot depend on it" - Tony Brown | \***********************************************************************/