Pipe
Pipes auf CPU-Ebene
In der Informatik ermöglicht eine Pipe oder Pipeline, auch Transportschlange genannt, dass Operationen, die mehrere CPU-Takte in Anspruch nehmen in enger Folge ausgeführt werden können. Beispielsweise kann die Multiplikation von C mit D begonnen werden bevor die Multiplikation von A mit B abgeschlossen ist.
Vorteile: Zeitweilig parallele Datenverarbeitung und dadurch höhere Verarbeitungsleistung.
Nachteile: Strukturelle Hazards, Datenabhängigkeiten, hohe Latenzzeiten bei falscher Sprungvorhersage aufgrund des Flushens der Transportschlange (Erzielung eines definierten Zustandes durch Löschung des Transportschlangeninhalts).
Pipes als Datenverbindung zwischen mehreren Prozessen
siehe eigener Artikel Pipe (Informatik)
Unix
Im UNIX Betriebssystem ist eine Pipe eine dynamische Verbindung zwischen zwei laufenden Programmen. Sie definiert einen unidirektionalen Datenstrom von einem Programm zum anderen. Eine Pipe wird in der Regel durch eine entsprechende Eingabe in der Shell zum Startzeitpunkt der Programme erzeugt. In der Regel wird dafür das "|" Zeichen verwendet.
Eine Named Pipe ist eine Pipe, die von zwei Programmen zur Laufzeit über einen Dateinnamen zum Lesen oder Schreiben geöffnet werden kann.
Siehe auch: FIFO, Optimierungsverfahren, Sequentieller Automat, Speicherautomat, Parallelverarbeitung, Datenstrom