বাছাই, পাইপলাইনটি এইভাবে কাজ করে: এটি প্রথমে আপনার প্রথম কমান্ড এবং তারপরে দ্বিতীয় কমান্ড কার্যকর করে।
যে, A|B
দেওয়া আদেশ দেওয়া যাক। তারপর এটি অনিশ্চিত কিনা A
বাB
প্রথম শুরু হয়। একাধিক সিপিইউ থাকলে তারা ঠিক একই সময়ে শুরু হতে পারে। একটি পাইপ একটি অপরিজ্ঞাত তবে সীমাবদ্ধ পরিমাণের ডেটা ধরে রাখতে পারে।
বি যদি পাইপ থেকে পড়ার চেষ্টা করে তবে কোনও ডেটা উপলব্ধ B
না হয়, ডেটা না আসা পর্যন্ত অপেক্ষা করবে। যদি B
কোনও ডিস্ক থেকে পড়া হয়, B
একই সমস্যা হতে পারে এবং ডিস্ক পড়া শেষ না হওয়া পর্যন্ত অপেক্ষা করা প্রয়োজন। আরও কাছাকাছি সাদৃশ্যটি একটি কীবোর্ড থেকে পড়া হবে। সেখানে, B
কোনও ব্যবহারকারী টাইপ করার জন্য অপেক্ষা করতে হবে। তবে এই সমস্ত ক্ষেত্রে বি একটি "পঠিত" অপারেশন শুরু করেছে এবং এটি শেষ না হওয়া পর্যন্ত অপেক্ষা করতে হবে। তবে যদি B
কোনও কমান্ড এমন হয় যে A
নির্দিষ্ট পয়েন্ট যেখানে B
s এর ইনপুট স্তরটি পৌঁছেছে তার পরে কেবলমাত্র এর আংশিক আউটপুট প্রয়োজনA
সাইনপাইপ দ্বারা হত্যা করা হবে
যদি A
পাইপে লেখার চেষ্টা করে এবং পাইপটি পূর্ণ থাকে তবে A
অবশ্যই পাইপের কোনও কক্ষটি নিখরচায় অপেক্ষা করতে হবে। A
এটি যদি কোনও টার্মিনালে লিখত তবে একই সমস্যা হতে পারে। একটি টার্মিনালটিতে প্রবাহ নিয়ন্ত্রণ থাকে এবং এটি ডেটার গতি নিয়ন্ত্রণ করতে পারে। যে কোনও ইভেন্টে, A
এটি "লিখন" অপারেশন শুরু করেছে এবং রাইট অপারেশন শেষ না হওয়া পর্যন্ত অপেক্ষা করবে।
A
এবং B
সহ-প্রক্রিয়া হিসাবে আচরণ করছে, যদিও সমস্ত সহ-প্রক্রিয়াগুলি পাইপের সাথে যোগাযোগ করবে না। উভয়ই অন্যটির পুরো নিয়ন্ত্রণে নেই।
-m
যুক্তি রয়েছে।