Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Pipeline (Unix)
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==History== The pipeline concept was invented by [[Douglas McIlroy]]<ref name="crea">{{cite web |title=The Creation of the UNIX Operating System |url=http://csdev.cas.upm.edu.ph/~pfalcone/compsci/unix/unix-history1.html |archive-url=https://web.archive.org/web/20040914025332/http://csdev.cas.upm.edu.ph/~pfalcone/compsci/unix/unix-history1.html |archive-date=September 14, 2004 |publisher=Bell Labs}}</ref> and first described in the [[man pages]] of [[Version 3 Unix]].<ref name="reader">{{cite tech report|first1=M. D.|last1=McIlroy|author-link1=Doug McIlroy|year=1987|url=http://www.cs.dartmouth.edu/~doug/reader.pdf|title=A Research Unix reader: annotated excerpts from the Programmer's Manual, 1971β1986|series=CSTR|number=139|institution=Bell Labs}}</ref><ref>{{cite tech report|date=February 1973|vauthors=Thompson K, Ritchie DM|author-link1=Ken Thompson|author-link2=Dennis Ritchie|url=https://dspinellis.github.io/unix-v3man/v3man.pdf#page=178|title=UNIX Programmer's Manual Third Edition|institution=Bell Labs|edition=3rd|page=178}}</ref> McIlroy noticed that much of the time [[Unix shell|command shells]] passed the output file from one program as input to another. The concept of pipelines was championed by [[Douglas McIlroy]] at [[Unix]]'s ancestral home of [[Bell Labs]], during the development of Unix, shaping its [[Unix philosophy|toolbox philosophy]].<ref>{{cite web |last=Mahoney |first=Michael S. |title=The Unix Oral History Project: Release.0, The Beginning |url=http://www.princeton.edu/~hos/Mahoney/expotape.htm |quote=McIlroy: It was one of the only places where I very nearly exerted managerial control over Unix, was pushing for those things, yes.}}</ref><ref>{{cite web |title=Prophetic Petroglyphs |url=http://www.bell-labs.com/usr/dmr/www/mdmpipe.html |url-status=live |archive-url=https://web.archive.org/web/19990508221104/http://cm.bell-labs.com/cm/cs/who/dmr/mdmpipe.html |archive-date=8 May 1999 |access-date=22 May 2022 |website=www.bell-labs.com}}</ref> His ideas were implemented in 1973 when ("in one feverish night", wrote McIlroy) [[Ken Thompson]] added the <code>pipe()</code> system call and pipes to the [[Thompson shell|shell]] and several utilities in Version 3 Unix. "The next day", McIlroy continued, "saw an unforgettable orgy of one-liners as everybody joined in the excitement of plumbing." McIlroy also credits Thompson with the <code>|</code> notation, which greatly simplified the description of pipe syntax in [[Version 4 Unix|Version 4]].<ref>{{cite web |date=August 23, 2006 |orig-date=Created April 29, 2004 |title=Pipes: A Brief Introduction |url=http://www.linfo.org/pipe.html |access-date=January 7, 2024 |publisher=The Linux Information Project}}</ref>{{r|reader}} Although developed independently, Unix pipes are related to, and were preceded by, the 'communication files' developed by Ken Lochner <ref>{{cite web |title=Dartmouth Timesharing |url=http://www.cs.rit.edu/~swm/history/DTSS.doc |access-date=January 7, 2024 |website=[[Rochester Institute of Technology]] |format=DOC}}</ref> in the 1960s for the [[Dartmouth Time-Sharing System]].<ref>{{cite web |title=Data |url=https://www.bell-labs.com/usr/dmr/www/hist.html |url-status=live |archive-url=https://web.archive.org/web/19990220165130/http://cm.bell-labs.com/who/dmr/hist.html |archive-date=20 February 1999 |access-date=22 May 2022 |website=www.bell-labs.com}}</ref> ===Other operating systems=== {{Main article|Pipeline (software)}} This feature of [[Unix]] was borrowed by other operating systems, such as [[MS-DOS]] and the [[CMS Pipelines]] package on [[VM/CMS]] and [[MVS]], and eventually came to be designated the [[pipeline (software)|pipes and filters design pattern]] of [[software engineering]]. === Further concept development === In [[Tony Hoare|Tony Hoare's]] [[communicating sequential processes]] (CSP), McIlroy's pipes are further developed.<ref>{{cite web |last=Cox |first=Russ |title=Bell Labs and CSP Threads |url=https://swtch.com/~rsc/thread/ |access-date=January 7, 2024 |website=Swtchboard}}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)