Mailinglist Archive: opensuse-de (6022 mails)

< Previous Next >
Re: "Zwischendateien" bei Pipes?
  • From: Thorsten Haude <linux@xxxxxxxxxxxxxx>
  • Date: Sun, 17 Feb 2002 17:46:08 +0100
  • Message-id: <20020217164608.GF972@xxxxxxxxxxxxx>
Moin,

* Ralph Müller <rmue@xxxxxx> [02-02-17 17:04]:
Mich würde mal interessieren wie dieser Pipe-Mechanismus
"intern" aussieht. Legt der Kernel bei _jeder_ Pipe-Datenübergabe
zwischen zwei Programmen (für den Benutzer unmerkbar) kurzzeitig
eine temporäre "Zwischendatei" an, oder läuft das nur im RAM ab?
Das läuft nur im RAM ab. Der eine Prozess schreibt in die Pipe, der
andere liest daraus. Da wird im Kernelspeicher vermutlich erwas
gepuffert, der Rest spielt sich aber in den beiden Prozessen ab.

Wenn sehr viele Daten von einem zum nächsten Programm übergeben
werden dann müßte dem Kernel doch eigentlich gar nichts anderes
übrig bleiben als mal kurz eine temporäre "Zwischendatei" anzulegen?
Schließlich ist auch der größte Arbeitsspeicher irgendwann mal
"aufgebraucht". Oder? Aber macht er das auch bei wenig Daten?
Das ist nicht nötig, weil die Daten 'sofort' vom zweiten Prozess
verbraucht werden.

Hintergrund meiner Frage ist ein Laufzeitproblem eines Bash-Skripts,
und die Überlegung ob eine Datenübergabe per Pipes vielleicht
schneller geht als per temporärer "Zwischendateien" auf einer
Ramdisk.
Davon würde ich ausgehen.

Thorsten
--
Fear leads to anger. Anger leads to hate. Hate leads to
using Windows NT for mission-critical applications.

< Previous Next >
Follow Ups
References