From owner-freebsd-hackers Mon Jan 16 20:49:01 1995 Return-Path: hackers-owner Received: (from root@localhost) by freefall.cdrom.com (8.6.9/8.6.6) id UAA28926 for hackers-outgoing; Mon, 16 Jan 1995 20:49:01 -0800 Received: from netcom8.netcom.com (bakul@netcom8.netcom.com [192.100.81.117]) by freefall.cdrom.com (8.6.9/8.6.6) with ESMTP id UAA28920 for ; Mon, 16 Jan 1995 20:49:00 -0800 Received: from localhost by netcom8.netcom.com (8.6.9/Netcom) id UAA26775; Mon, 16 Jan 1995 20:48:06 -0800 Message-Id: <199501170448.UAA26775@netcom8.netcom.com> To: Terry Lee cc: hackers@FreeBSD.org Subject: Re: Faster tape throughput In-reply-to: Your message of "Mon, 16 Jan 95 16:06:11 CST." <199501162206.AA27722@uivlsi.csl.uiuc.edu> Date: Mon, 16 Jan 95 20:48:04 -0800 From: Bakul Shah Sender: hackers-owner@FreeBSD.org Precedence: bulk > I've been experimenting with "buffer"; it is similar to "dd" but > enables my wt tape drive to actually stream. There is also "ddd", though I > haven't tested it on FreeBSD yet. ... > Both program require > shared memory and semaphores. Then there is `team' by Piercarlo Grandi (see Vol 27, Issue 195, comp.source.unix), which relies Unix V7 features only (and hence runs on pretty much every Unix system). A `team' of prcesses share a common input file descriptor and and a common output file descriptor and take turns reading and writing (and synchronize by using a ring of pipes). For example: tar cf - . | team 64k > /dev/rst0 # blocksize 64k, write to tape team 64k < /dev/rst0 | tar tvf - # blocksize 64, read from tape tar cf - . | team -o 1200k 15k > /dev/rfd0a # volume size 1200k Definitely recommended (especially for streamer tapes). Bakul PS: ddd does not require shared mem or system provided semaphores. In fact, it uses the same mechanism as team's. I don't use ddd because a) it is not an exact superset of dd, and b) it only uses two processes, while team will use as many processes as you want (default 4) and it will also allow you specify the volume size.