Pipes এবং Named Pipes (FIFO) হলো Inter-Process Communication (IPC) এর দুটি গুরুত্বপূর্ণ প্রযুক্তি, যা প্রসেসগুলির মধ্যে ডেটা আদান-প্রদান করতে ব্যবহৃত হয়। এই দুটি পদ্ধতি বিভিন্ন প্রসেসের মধ্যে তথ্য প্রবাহের জন্য একটি কার্যকর উপায় সরবরাহ করে।
Pipes
Pipes হলো একটি সংক্ষিপ্ত যোগাযোগ পদ্ধতি, যা একটি প্রসেসের আউটপুটকে অন্য একটি প্রসেসের ইনপুটের সাথে সংযুক্ত করে। এটি সাধারণত সিস্টেম কলের মাধ্যমে কাজ করে এবং একটি অসংখ্য প্রসেসের মধ্যে ডেটা প্রবাহের জন্য ব্যবহার করা হয়।
Pipes-এর বৈশিষ্ট্য
সিঙ্ক্রোনাস: Pipes সাধারণত সিঙ্ক্রোনাস কমিউনিকেশন তৈরি করে, যার মানে হলো একটি প্রসেস তখনই তথ্য পাঠাতে পারে যখন অন্য প্রসেস তথ্য গ্রহণ করার জন্য প্রস্তুত।
অ্যানোনিমাস: সাধারণত pipes-এর নাম থাকে না, এবং একে অপরের মধ্যে সংযোগ স্থাপনের সময় প্রক্রিয়া পরিচালিত হয়। এটি সাধারণত ফাইল সিস্টেমে একটি এনটিটি তৈরি করে না।
ডেটা প্রবাহ: Pipes-এর মাধ্যমে ডেটা স্ট্রিম আকারে প্রবাহিত হয়, সাধারণত বাইনরি বা টেক্সট ফরম্যাটে।
Named Pipes (FIFO)
Named Pipes, যা FIFO (First In First Out) নামে পরিচিত, pipes-এর একটি বিশেষ ধরনের সংস্করণ। এটি একটি ফাইল সিস্টেমে একটি নামযুক্ত পিপ লাইনের সাহায্যে প্রসেসগুলির মধ্যে যোগাযোগ করতে সক্ষম করে।
Named Pipes-এর বৈশিষ্ট্য
নামযুক্ত: Named Pipes একটি নির্দিষ্ট নাম দিয়ে ফাইল সিস্টেমে সংরক্ষিত হয়, যা প্রসেসগুলিকে তাদের নামের মাধ্যমে একে অপরের সাথে সংযুক্ত হতে দেয়।
অ্যাসিঙ্ক্রোনাস: Named Pipes সাধারণত অ্যাসিঙ্ক্রোনাস কমিউনিকেশন সক্ষম করে, যার মানে হলো একজন প্রেরক অন্যের প্রতিক্রিয়া জানার জন্য অপেক্ষা না করে বার্তা পাঠাতে পারে।
মাল্টিপ্ল প্রসেস: একাধিক প্রসেস একটি Named Pipe-এর মাধ্যমে একসাথে যোগাযোগ করতে পারে, যা ডেটার জন্য একটি সমান্তরাল প্রবাহ তৈরি করে।
Pipes এবং Named Pipes-এর ব্যবহার
- ডেটা শেয়ারিং: দুটি বা ততোধিক প্রসেসের মধ্যে ডেটা শেয়ার করার জন্য ব্যবহৃত হয়।
- ফাইল প্রক্রিয়াকরণ: বিভিন্ন ফাইলের মধ্যে তথ্য স্থানান্তর করতে সাহায্য করে, যেমন লগ ফাইল বা ইনপুট/আউটপুট ফাইল।
- সিস্টেম প্রসেস: অটোমেটেড টুল এবং স্ক্রিপ্টগুলির মধ্যে যোগাযোগ প্রতিষ্ঠা করতে ব্যবহৃত হয়।
উদাহরণ
1. Pipes-এর উদাহরণ (Linux Shell)
Linux শেলের মধ্যে pipes ব্যবহারের একটি উদাহরণ:
$ ls -l | grep "txt"
এখানে, ls -l কমান্ডের আউটপুট grep "txt" কমান্ডের ইনপুট হিসেবে ব্যবহৃত হচ্ছে।
2. Named Pipes-এর উদাহরণ (Python)
Python-এ Named Pipes ব্যবহার করে একটি উদাহরণ:
import os
import time
# Named Pipe তৈরি করা
fifo = '/tmp/myfifo'
os.mkfifo(fifo)
# Writer প্রসেস
def writer():
with open(fifo, 'w') as fifo_file:
for i in range(5):
fifo_file.write(f'Message {i}\n')
time.sleep(1)
# Reader প্রসেস
def reader():
with open(fifo, 'r') as fifo_file:
while True:
message = fifo_file.readline()
if not message:
break
print(f'Received: {message.strip()}')
# Writer এবং Reader কার্যক্রম চালানো
import threading
writer_thread = threading.Thread(target=writer)
reader_thread = threading.Thread(target=reader)
writer_thread.start()
reader_thread.start()
writer_thread.join()
reader_thread.join()
উপসংহার
Pipes এবং Named Pipes (FIFO) হলো শক্তিশালী IPC প্রযুক্তি, যা বিভিন্ন প্রসেসের মধ্যে তথ্য আদান-প্রদানের জন্য ব্যবহৃত হয়। Pipes সাধারণত অ্যানোনিমাস এবং সিঙ্ক্রোনাস, যেখানে Named Pipes একটি নামযুক্ত ফাইল হিসেবে ব্যবহৃত হয় এবং অ্যাসিঙ্ক্রোনাস যোগাযোগের সুবিধা দেয়। এই প্রযুক্তিগুলি সফটওয়্যার উন্নয়নে কার্যকরী যোগাযোগ নিশ্চিত করে এবং বিভিন্ন প্রসেসের মধ্যে তথ্য ভাগাভাগি করার জন্য একটি সহজ পদ্ধতি প্রদান করে।
Pipes হল একটি Inter-Process Communication (IPC) প্রযুক্তি যা একাধিক প্রক্রিয়ার মধ্যে তথ্য স্থানান্তর করার জন্য ব্যবহৃত হয়। এটি এক প্রক্রিয়া থেকে অন্য প্রক্রিয়াতে ডেটা প্রবাহের জন্য একটি সরল এবং কার্যকরী পদ্ধতি প্রদান করে। পাইপগুলি সাধারণত একটি একমুখী চ্যানেল হিসাবে কাজ করে, যেখানে একটি প্রক্রিয়া ডেটা লেখে এবং অন্য প্রক্রিয়া সেই ডেটা পড়ে।
Pipes-এর ধরণ
অ্যাননিমাস পাইপস (Anonymous Pipes):
- অ্যাননিমাস পাইপস সাধারণত মা এবং সন্তানের প্রক্রিয়ার মধ্যে ব্যবহৃত হয়। এটি শুধুমাত্র একই পিতামাতার প্রক্রিয়া এবং তার সন্তানের মধ্যে কাজ করে।
- উদাহরণস্বরূপ, একটি অ্যাপ্লিকেশন একটি অ্যাননিমাস পাইপ তৈরি করতে পারে এবং এর মাধ্যমে একটি তথ্য পাঠাতে পারে, যাতে শিশুটি সেই তথ্য পড়ে।
নেমড পাইপস (Named Pipes):
- নেমড পাইপস সিস্টেমের বিভিন্ন প্রক্রিয়ার মধ্যে ডেটা স্থানান্তরের জন্য ব্যবহৃত হয়। এটি বিভিন্ন প্রক্রিয়ার মধ্যে যোগাযোগের জন্য একটি নামযুক্ত চ্যানেল তৈরি করে।
- এটি একাধিক প্রক্রিয়া এবং ব্যবহারকারীর মধ্যে ডেটা শেয়ার করার জন্য সুবিধাজনক।
Pipes-এর ভূমিকা
ডেটা স্থানান্তর:
- পাইপগুলি এক প্রক্রিয়া থেকে অন্য প্রক্রিয়াতে ডেটা স্থানান্তরের জন্য একটি কার্যকরী এবং দ্রুত উপায় প্রদান করে।
সিম্পল ইন্টারঅ্যাকশন:
- পাইপগুলি সহজে সেট আপ এবং ব্যবহার করা যায়, যা প্রক্রিয়াগুলির মধ্যে তথ্য আদান-প্রদানের জন্য একটি সোজা পদ্ধতি তৈরি করে।
সহজ নকশা:
- পাইপ ব্যবহার করে প্রক্রিয়াগুলি সংযুক্ত করা সহজ, যা ডেভেলপমেন্ট এবং রক্ষণাবেক্ষণের সময় কমপ্লেক্সিটি হ্রাস করে।
প্রসেসের বিচ্ছিন্নতা:
- পাইপ ব্যবহারের মাধ্যমে প্রক্রিয়াগুলি একে অপরের অবস্থার বিষয়ে অজ্ঞ থাকে। এটি সিস্টেমের বিচ্ছিন্নতা বাড়ায় এবং নির্ভরশীলতা কমায়।
রিয়েল-টাইম ডেটা প্রসেসিং:
- পাইপ ব্যবহার করে রিয়েল-টাইম ডেটা প্রসেসিং সম্ভব। এটি দ্রুত ডেটা প্রবাহ নিশ্চিত করে, যা বিভিন্ন সিস্টেমের মধ্যে কার্যকরী যোগাযোগকে সহায়তা করে।
উদাহরণ (পাইথন)
নীচে পাইথন ব্যবহার করে পাইপের একটি সাধারণ উদাহরণ দেওয়া হলো:
import os
# Create a pipe
read_end, write_end = os.pipe()
# Fork a child process
pid = os.fork()
if pid == 0: # Child process
os.close(write_end) # Close the write end in child
r = os.fdopen(read_end) # Open read end of the pipe
message = r.read() # Read message from pipe
print("Child received:", message)
r.close()
else: # Parent process
os.close(read_end) # Close the read end in parent
w = os.fdopen(write_end, 'w') # Open write end of the pipe
w.write("Hello from parent process!") # Write message to pipe
w.close() # Close the write end
উপসংহার
Pipes হল একটি শক্তিশালী এবং কার্যকরী IPC প্রযুক্তি যা প্রক্রিয়াগুলির মধ্যে ডেটা স্থানান্তর এবং যোগাযোগের জন্য ব্যবহৃত হয়। এটি সিস্টেমের কার্যকারিতা এবং স্থায়িত্ব নিশ্চিত করতে সাহায্য করে। পাইপগুলি সিস্টেমের মধ্যে দ্রুত এবং নিরাপদ তথ্য প্রবাহ নিশ্চিত করে, যা বিভিন্ন প্রক্রিয়ার মধ্যে কার্যকরী সমন্বয় এবং সহযোগিতা সক্ষম করে।
Pipes হল Inter-Process Communication (IPC) এর একটি জনপ্রিয় পদ্ধতি, যা একাধিক প্রক্রিয়ার মধ্যে তথ্য আদান-প্রদানের জন্য ব্যবহৃত হয়। Pipes দুটি প্রধান প্রকারের মধ্যে বিভক্ত: Anonymous Pipes এবং Named Pipes। নিচে এই দুইটির মধ্যে পার্থক্য আলোচনা করা হলো:
১. Anonymous Pipe
সংজ্ঞা:
Anonymous Pipes হল অস্থায়ী এবং সাধারণত একটি প্রক্রিয়ার মধ্যে ব্যবহার করা হয়। এটি এক প্রক্রিয়া থেকে আরেক প্রক্রিয়ায় তথ্য স্থানান্তর করতে ব্যবহৃত হয়।
বৈশিষ্ট্য:
- সীমাবদ্ধতা: Anonymous Pipes শুধুমাত্র প্যারেন্ট এবং চাইল্ড প্রক্রিয়ার মধ্যে কাজ করে।
- নাম নেই: এই পাইপগুলির কোন নাম নেই; এটি শুধুমাত্র ফাইল ডিস্ক্রিপ্টরের মাধ্যমে পরিচালিত হয়।
- দূরত্ব: এটি শুধুমাত্র স্থানীয় প্রক্রিয়াগুলির মধ্যে কাজ করে এবং নেটওয়ার্কের মাধ্যমে যোগাযোগ করতে পারে না।
- সিঙ্ক্রোনাইজেশন: Anonymous Pipes সাধারণত ব্লকিং কনসেপ্টে কাজ করে, অর্থাৎ লেখার সময় পড়া অবরুদ্ধ হতে পারে।
ব্যবহার:
- সাধারণত প্রক্রিয়া তৈরি করার সময় একটি প্যারেন্ট প্রক্রিয়া থেকে চাইল্ড প্রক্রিয়াকে তথ্য পাঠাতে ব্যবহৃত হয়।
২. Named Pipe
সংজ্ঞা:
Named Pipes একটি নামকৃত পাইপ যা স্থানীয় বা দূরবর্তী উভয় প্রক্রিয়ার মধ্যে যোগাযোগের জন্য ব্যবহার করা যায়। এটি একটি পাসওয়ার্ডযুক্ত ডেটা প্রবাহ তৈরি করে।
বৈশিষ্ট্য:
- নাম: Named Pipes একটি নির্দিষ্ট নাম নিয়ে থাকে, যা অন্যান্য প্রক্রিয়া দ্বারা পরিচিত।
- দূরত্ব: Named Pipes স্থানীয় এবং নেটওয়ার্ক উভয় প্রক্রিয়ার মধ্যে কাজ করতে সক্ষম।
- অবরোধ মুক্ত: Named Pipes অ্যাসিনক্রোনাসভাবে কাজ করতে পারে, যা একাধিক প্রক্রিয়া একসাথে একই সময়ে তথ্য প্রক্রিয়া করতে সক্ষম করে।
- গঠন: Named Pipes সাধারণত তৈরি হয় একটি নির্দিষ্ট পথ বা নামের অধীনে, যা সহজেই অন্য প্রক্রিয়াগুলি দ্বারা এক্সেস করা যায়।
ব্যবহার:
- বিভিন্ন সার্ভিস এবং অ্যাপ্লিকেশনের মধ্যে যোগাযোগের জন্য, যেখানে স্থানীয় বা নেটওয়ার্ক প্রক্রিয়াগুলির মধ্যে তথ্য বিনিময় প্রয়োজন।
৩. পার্থক্য
| বৈশিষ্ট্য | Anonymous Pipe | Named Pipe |
|---|---|---|
| নাম | নেই | একটি নাম রয়েছে |
| ব্যবহার | প্যারেন্ট-চাইল্ড প্রক্রিয়া | স্থানীয় এবং দূরবর্তী প্রক্রিয়া |
| সীমাবদ্ধতা | স্থানীয়ভাবে সীমাবদ্ধ | স্থানীয় ও নেটওয়ার্কে ব্যবহার করা যায় |
| সিঙ্ক্রোনাইজেশন | ব্লকিং | অ্যাসিনক্রোনাস |
| উদাহরণ | প্যারেন্ট প্রক্রিয়া থেকে চাইল্ডে তথ্য পাঠানো | ক্লায়েন্ট-সার্ভার আর্কিটেকচারে তথ্য আদান-প্রদান |
উপসংহার
Anonymous Pipes এবং Named Pipes উভয়ই Inter-Process Communication এর গুরুত্বপূর্ণ উপাদান। Anonymous Pipes সাধারণত স্থানীয় প্রক্রিয়াগুলির মধ্যে ব্যবহৃত হয়, যেখানে Named Pipes স্থানীয় এবং নেটওয়ার্ক উভয় প্রক্রিয়ার মধ্যে তথ্য বিনিময়ে সহায়ক। সঠিক পদ্ধতি নির্বাচন করা হলে, প্রতিটি পদ্ধতির কার্যকারিতা এবং পারফরম্যান্স উন্নত হয়।
pipe() এবং mkfifo() হল UNIX/Linux সিস্টেমে ইন্টার-প্রসেস কমিউনিকেশন (IPC) এর জন্য ব্যবহৃত ফাংশন। এগুলি প্রক্রিয়াগুলির মধ্যে তথ্য বিনিময়ের জন্য বিভিন্ন পদ্ধতি সরবরাহ করে। আসুন আমরা প্রতিটি ফাংশনের ব্যবহার এবং কার্যকারিতা নিয়ে বিস্তারিত আলোচনা করি।
1. pipe()
সংজ্ঞা:
pipe() ফাংশনটি একটি পাইপ তৈরি করে, যা একটি প্রক্রিয়া থেকে অন্য প্রক্রিয়ায় ডেটা প্রবাহিত করতে ব্যবহৃত হয়। এটি একটি ডেটা স্ট্রিম তৈরি করে, যা এক প্রক্রিয়ার আউটপুটকে অন্য প্রক্রিয়ার ইনপুট হিসাবে ব্যবহার করতে দেয়।
সাইনাটর:
int pipe(int fd[2]);
- fd: একটি অ্যারে, যেখানে
fd[0]হলো পাইপের পড়ার (read) এবংfd[1]হলো লেখার (write) জন্য ফাইল ডিসক্রিপ্টর।
উদাহরণ:
#include <stdio.h>
#include <unistd.h>
#include <string.h>
int main() {
int fd[2]; // পাইপের জন্য ফাইল ডিসক্রিপ্টর
char write_msg[] = "Hello from the writer!";
char read_msg[100];
// পাইপ তৈরি করা
pipe(fd);
// একটি নতুন প্রক্রিয়া তৈরি করা
if (fork() == 0) {
// শিশু প্রক্রিয়া (লেখক)
write(fd[1], write_msg, strlen(write_msg) + 1); // পাইপে লেখার
} else {
// পিতৃ প্রক্রিয়া (পড়ার জন্য)
read(fd[0], read_msg, sizeof(read_msg)); // পাইপ থেকে পড়া
printf("Received: %s\n", read_msg); // পড়া ডেটা প্রদর্শন
}
return 0;
}
2. mkfifo()
সংজ্ঞা:
mkfifo() ফাংশনটি একটি ফিফো (FIFO) বিশেষ ফাইল তৈরি করে, যা একটি নামকরণকৃত পাইপ হিসেবে কাজ করে। এটি একটি অস্থায়ী ফাইল তৈরি করে যা একাধিক প্রক্রিয়ার মধ্যে যোগাযোগের জন্য ব্যবহৃত হয়।
সাইনাটর:
int mkfifo(const char *pathname, mode_t mode);
- pathname: FIFO ফাইলের নাম এবং অবস্থান।
- mode: ফাইলের অনুমতি (permissions) নির্দেশ করে।
উদাহরণ:
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
int main() {
const char *fifo_path = "/tmp/myfifo";
char write_msg[] = "Hello from the FIFO!";
char read_msg[100];
// FIFO তৈরি করা
mkfifo(fifo_path, 0666);
// একটি নতুন প্রক্রিয়া তৈরি করা
if (fork() == 0) {
// শিশু প্রক্রিয়া (লেখক)
int fd = open(fifo_path, O_WRONLY); // FIFO খোলা
write(fd, write_msg, sizeof(write_msg)); // FIFO তে লেখার
close(fd); // FIFO বন্ধ করা
} else {
// পিতৃ প্রক্রিয়া (পড়ার জন্য)
int fd = open(fifo_path, O_RDONLY); // FIFO খোলা
read(fd, read_msg, sizeof(read_msg)); // FIFO থেকে পড়া
printf("Received: %s\n", read_msg); // পড়া ডেটা প্রদর্শন
close(fd); // FIFO বন্ধ করা
// FIFO মুছে ফেলা
unlink(fifo_path);
}
return 0;
}
উপসংহার
pipe() এবং mkfifo() ফাংশনগুলি UNIX/Linux সিস্টেমে ইন্টার-প্রসেস কমিউনিকেশন এর জন্য অত্যন্ত গুরুত্বপূর্ণ। pipe() একটি অস্থায়ী, অদৃশ্য পাইপ তৈরি করে যা একাধিক প্রসেসের মধ্যে তথ্য প্রেরণের জন্য ব্যবহৃত হয়, যখন mkfifo() একটি নামকরণকৃত FIFO ফাইল তৈরি করে যা নাম দ্বারা শনাক্ত করা যায় এবং একাধিক প্রসেসের মধ্যে তথ্য ভাগ করে নেওয়ার অনুমতি দেয়। উভয় প্রযুক্তি মিলে প্রক্রিয়াগুলির মধ্যে যোগাযোগ দক্ষতা বাড়ায়।
Named Pipe হল একটি শক্তিশালী যোগাযোগ পদ্ধতি যা বিভিন্ন প্রক্রিয়ার মধ্যে তথ্য বিনিময়ের জন্য ব্যবহৃত হয়। এটি অপারেটিং সিস্টেমের স্তরে কাজ করে এবং একটি প্রক্রিয়া থেকে অন্য প্রক্রিয়ায় ডেটা পাঠাতে এবং গ্রহণ করতে সাহায্য করে। Named Pipe সাধারণত UNIX, Linux এবং Windows সিস্টেমে ব্যবহৃত হয়।
Named Pipe এর বৈশিষ্ট্য
- একক প্রক্রিয়া ও মাল্টি-প্রসেসে ব্যবহার: Named Pipe ব্যবহার করে একাধিক প্রক্রিয়া একই সময়ে ডেটা পাঠাতে এবং গ্রহণ করতে পারে।
- দূরবর্তী যোগাযোগ: Named Pipe স্থানীয় এবং দূরবর্তী যোগাযোগ উভয়ের জন্য ব্যবহৃত হতে পারে, তবে সাধারণত এটি স্থানীয়ভাবে ব্যবহৃত হয়।
- ফার্স্ট ইন ফার্স্ট আউট (FIFO): Named Pipe FIFO (First In First Out) ভিত্তিতে কাজ করে, অর্থাৎ প্রথমে পাঠানো ডেটা প্রথমে গ্রহণ করা হয়।
Named Pipe এর সুবিধা
- দ্রুততা: Named Pipe সাধারণত দ্রুত এবং কার্যকর, কারণ এটি অপারেটিং সিস্টেমের মধ্যে সরাসরি ডেটা স্থানান্তর করে।
- সহজ ব্যবস্থাপনা: Named Pipe ব্যবহারের মাধ্যমে প্রক্রিয়াগুলি সহজে যোগাযোগ করতে পারে এবং এটি পরিচালনা করা সহজ।
- একাধিক সংযোগ: একাধিক প্রক্রিয়া একটি Named Pipe এর মাধ্যমে যোগাযোগ করতে পারে, যা মাল্টি-প্রসেস আর্কিটেকচারের জন্য উপকারী।
Named Pipe এর অসুবিধা
- কমপ্লেক্সিটি: Named Pipe সেটআপ এবং ব্যবস্থাপনা কিছুটা জটিল হতে পারে, বিশেষ করে বড় সিস্টেমে।
- ভূমিকা ও অনুমতি: Named Pipe ব্যবহার করার সময় সঠিক অনুমতি এবং নিরাপত্তার ব্যবস্থা থাকতে হবে, যা অতিরিক্ত জটিলতা সৃষ্টি করতে পারে।
Named Pipe দিয়ে যোগাযোগের উদাহরণ
উদাহরণ: Python এ Named Pipe ব্যবহার
ধরি, আমাদের একটি প্রক্রিয়া তথ্য পাঠাবে এবং অন্য একটি প্রক্রিয়া সেই তথ্য গ্রহণ করবে।
Writer Process (Producer):
import os
import time
# Named pipe path
pipe_path = '/tmp/my_named_pipe'
# Create named pipe
if not os.path.exists(pipe_path):
os.mkfifo(pipe_path)
# Open the named pipe for writing
with open(pipe_path, 'w') as fifo:
for i in range(5):
msg = f'Message {i}\n'
fifo.write(msg)
fifo.flush() # Ensure message is sent
print(f'Sent: {msg.strip()}')
time.sleep(1) # Sleep for a second
Reader Process (Consumer):
import os
# Named pipe path
pipe_path = '/tmp/my_named_pipe'
# Open the named pipe for reading
with open(pipe_path, 'r') as fifo:
while True:
msg = fifo.read()
if msg:
print(f'Received: {msg.strip()}')
ব্যাখ্যা
Writer Process:
- প্রথমে একটি Named Pipe তৈরি করা হয়।
- পরবর্তী সময়ে, Writer Process প্রতি সেকেন্ডে একটি বার্তা লেখে এবং তা Named Pipe এর মাধ্যমে প্রেরণ করে।
Reader Process:
- Reader Process Named Pipe থেকে বার্তা পড়ে এবং তা প্রদর্শন করে।
- এটি প্রথমে অপেক্ষা করে বার্তা আসার জন্য এবং তারপর সেই বার্তাটি প্রদর্শন করে।
উপসংহার
Named Pipe হল একটি কার্যকরী উপায় বিভিন্ন প্রক্রিয়ার মধ্যে তথ্য বিনিময়ের জন্য। এটি একাধিক প্রক্রিয়া সহজে এবং দ্রুত যোগাযোগ করতে সহায়ক। Named Pipe ব্যবহার করে প্রক্রিয়াগুলির মধ্যে সঠিকভাবে তথ্য আদান-প্রদান করতে হলে সঠিকভাবে সেট আপ এবং পরিচালনা করা গুরুত্বপূর্ণ।