Signal
Signal হল অপারেটিং সিস্টেমের একটি গুরুত্বপূর্ণ যোগাযোগ প্রযুক্তি, যা প্রসেসগুলির মধ্যে যোগাযোগ ও সমন্বয় স্থাপনের জন্য ব্যবহৃত হয়। এটি সাধারণত সিগন্যাল হিসাবে পরিচিত একটি ইভেন্ট বা সংকেত যা একটি প্রসেস থেকে অন্য একটি প্রসেসে পাঠানো হয়, যাতে একটি নির্দিষ্ট কার্যকলাপ সম্পন্ন করার নির্দেশ দেওয়া হয়।
Signal-এর মূল বৈশিষ্ট্য
১. অ্যাসিঙ্ক্রোনাস যোগাযোগ: Signals সাধারণত অ্যাসিঙ্ক্রোনাসভাবে কাজ করে, যার মানে হল যে প্রেরক প্রসেসটি অপেক্ষা করে না যখন সিগন্যালটি গ্রহণ করা হয়।
২. ডিফল্ট হ্যান্ডলিং: বিভিন্ন সিগন্যালের জন্য ডিফল্ট আচরণ থাকে, যেমন SIGINT (ইন্টারাপ্ট) সাধারণত প্রোগ্রাম বন্ধ করার জন্য ব্যবহৃত হয়।
৩. সিগন্যাল হ্যান্ডলার: প্রসেসগুলি তাদের নিজস্ব সিগন্যাল হ্যান্ডলার সেট করতে পারে, যাতে সিগন্যাল পাওয়ার সময় নির্দিষ্ট কার্যকলাপ সম্পন্ন করা যায়।
৪. সিগন্যাল প্রকারভেদ: বিভিন্ন ধরনের সিগন্যাল রয়েছে, যেমন:
- SIGINT: ব্যবহারকারী দ্বারা পাঠানো ইন্টারাপ্ট সিগন্যাল।
- SIGTERM: সিস্টেম কর্তৃক পাঠানো শাটডাউন সিগন্যাল।
- SIGKILL: প্রসেস বন্ধ করার জন্য পাঠানো একটি শক্তিশালী সিগন্যাল।
Signal-এর ব্যবহার
১. প্রসেস যোগাযোগ: Signal ব্যবহৃত হয় একাধিক প্রসেসের মধ্যে যোগাযোগের জন্য, যেখানে একটি প্রসেস অন্য প্রসেসকে নির্দিষ্ট ইভেন্ট বা কার্যকলাপ সম্পর্কে জানাতে পারে।
২. সিস্টেম ইভেন্টের সূচনা: সিগন্যাল ব্যবহৃত হয় সিস্টেমের ইভেন্ট, যেমন মেমোরি সমস্যা বা ইনপুট ইন্টারাপশন জানাতে।
৩. সিগন্যাল হ্যান্ডলিং: প্রসেসগুলি তাদের আচরণ পরিচালনা করার জন্য সিগন্যাল হ্যান্ডলার সেট করতে পারে। উদাহরণস্বরূপ, একটি প্রোগ্রাম ব্যবহারকারীর ক্লিপ বোর্ড থেকে ডেটা নেওয়ার জন্য সিগন্যাল পেতে পারে।
৪. টাস্ক ম্যানেজমেন্ট: Unix/Linux সিস্টেমে, সিগন্যাল ব্যবহৃত হয় প্রসেসগুলোকে নিয়ন্ত্রণ করার জন্য, যেমন কোন প্রসেসকে বন্ধ করা বা পুনরায় শুরু করা।
উদাহরণ (C)
নীচে C ভাষায় সিগন্যাল ব্যবহারের একটি উদাহরণ দেওয়া হলো:
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <unistd.h>
void signal_handler(int signal_num) {
printf("Caught signal %d\n", signal_num);
exit(1);
}
int main() {
// Register signal_handler for SIGINT (Ctrl+C)
signal(SIGINT, signal_handler);
while (1) {
printf("Running... Press Ctrl+C to stop.\n");
sleep(1);
}
return 0;
}
উপসংহার
Signal হল একটি শক্তিশালী এবং কার্যকরী প্রযুক্তি যা প্রসেসগুলির মধ্যে যোগাযোগ এবং সমন্বয় স্থাপন করে। এটি সিস্টেমের কার্যকারিতা এবং প্রসেস পরিচালনা করার জন্য গুরুত্বপূর্ণ ভূমিকা পালন করে। সিগন্যাল ব্যবহারের মাধ্যমে ডেভেলপাররা কার্যকরীভাবে কার্যকলাপ পরিচালনা করতে এবং ব্যবহারকারীর ইন্টারঅ্যাকশনের প্রতি প্রতিক্রিয়া জানাতে সক্ষম হন।
Read more