Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!rutgers!ames!ucbcad!ucbvax!jade!eris!mwm From: mwm@eris.BERKELEY.EDU (Mike Meyer) Newsgroups: comp.sys.amiga Subject: Re: PIPES (was Shell scripts on AmigaDOS & Unix) Message-ID: <2278@jade.BERKELEY.EDU> Date: Wed, 21-Jan-87 04:35:29 EST Article-I.D.: jade.2278 Posted: Wed Jan 21 04:35:29 1987 Date-Received: Wed, 21-Jan-87 22:51:14 EST References: <2228@jade.BERKELEY.EDU> <1987Jan19.022653.20521@utcs.uucp> <2259@jade.BERKELEY.EDU> <2023@tekgvs.UUCP> Sender: usenet@jade.BERKELEY.EDU Reply-To: mwm@eris.BERKELEY.EDU (Mike Meyer) Organization: Missionaria Phonibalonica Lines: 25 I remember that posting; I also remember being singularly unimpressed at the time. You could do similar things on CP/M-80, if you were tricky and nasty enough. You see, that's not pipe()s, that's just a shell script to make using temp files look like the Unix pipe syntax. Sorta like the difference between writing and typing; it all looks the same, but the content is different! For instance, I can add detab a 1Meg file and print the result using real pipes; that execute script will run out of memory (unless there's something really nasty I missed; always a possibility!). The key thing about a pipe is that it's a FIFO queue, with a limited buffer size. You can pass unlimited amounts of data through one, yet it will always use a small amount of space. Most OS's have some kind of facility to do this, so you can do pipes on most OS's. What made Unix pipes so nifty was that the fifo mechanism was right out there where the users could get to it. You didn't have to make half-a-dozen system calls in assembler to set it up, it only took one character on the command line.