Sắp xếp, đường ống hoạt động như thế này: đầu tiên nó thực thi lệnh đầu tiên và sau đó là lệnh thứ hai trong trường hợp của bạn.
Đó là, chúng ta hãy A|Blà lệnh được đưa ra. Sau đó, không chắc chắn Ahoặc Bbắt đầu trước. Chúng có thể bắt đầu cùng một lúc nếu có nhiều CPU. Một đường ống có thể chứa một lượng dữ liệu không xác định nhưng hữu hạn.
Nếu B cố gắng đọc từ đường ống, nhưng không có dữ liệu, Bsẽ đợi cho đến khi dữ liệu đến. Nếu Bđang đọc từ đĩa, Bcó thể có cùng một vấn đề và cần đợi cho đến khi việc đọc đĩa kết thúc. Một sự tương tự gần hơn sẽ được đọc từ bàn phím. Ở đó, Bsẽ cần phải đợi người dùng gõ. Nhưng trong tất cả các trường hợp này, B đã bắt đầu thao tác "đọc" và phải đợi cho đến khi kết thúc. Nhưng nếu Blà một lệnh sao cho chỉ cần một phần đầu ra Athì sau một thời điểm nhất định Bđạt đến mức đầu vào s Asẽ bị SIGPIPE tiêu diệt
Nếu Acố gắng ghi vào đường ống và đường ống đã đầy, Aphải chờ một số phòng trong đường ống trở nên miễn phí. Acó thể có cùng một vấn đề nếu nó được ghi vào một thiết bị đầu cuối. Một thiết bị đầu cuối có kiểm soát dòng chảy và có thể kiểm duyệt tốc độ của dữ liệu. Trong mọi trường hợp, Anó đã bắt đầu thao tác "ghi" và sẽ đợi cho đến khi thao tác ghi kết thúc.
Avà Bđang hành xử như các đồng xử lý, mặc dù không phải tất cả các đồng xử lý sẽ giao tiếp với một đường ống. Không phải là toàn quyền kiểm soát khác.
-mlý lẽ.