যেকোনো স্মার্ট ডিভাইস চলার জন্য সিস্টেম সফটওয়্যার – এর প্রয়োজন হয়। সিস্টেম সফটওয়্যার হচ্ছে এমন কিছু যা পুরো ডিভাইসের সবরকম কাজ পরিচালনা করবে। সাধারণত এই ধরণের সফটওয়্যারকে ‘অপারেটিং সিস্টেম’ বলা হয়।
আমরা কম্পিউটার ব্যবহারকারীরা কখনোই ভেবে দেখিনা যে – কম্পিউটার কিভাবে কাজ করে। আমরা শুধুমাত্র কম্পিউটারকে কাজ দিয়ে যাই এবং এর বদলে কম্পিউটার আমাদের কাজ সম্পূর্ণ করে দেয়। কিন্তু, আমাদের কমান্ড দেওয়া প্রত্যেকটি কাজ করার জন্য কম্পিউটারকে অনেকগুলো প্রসেস সম্পূর্ণ করতে হয়। যে প্রোগ্রাম গুলোর সাহায্যে আমরা কম্পিউটারে বিভিন্ন কাজ সম্পন্ন করি, যেমনঃ মিউজিক/ভিডিও প্লে, ডকুমেন্ট তৈরি, ইমেইল ইত্যাদি – এগুলোকে মূলতঃ অ্যাপ্লিকেশন বলা হয়। আর এই সব অ্যাপ্লিকেশন গুলো যেখানে রান হয় বা, যার উপর দিয়ে চলে তাকেই ‘অপারেটিং সিস্টেম’ বলা হয়।
যার মধ্যে মাইক্রোসফটের উইন্ডোজ অপারেটিং সিস্টেম বেশী পরিচিত ও প্রচলিত একটি অপারেটিং সিস্টেম। কম্পিউটার ব্যবহার করেছে, তবে উইন্ডোজ ভিত্তিক অপারেটিং সিস্টেম ব্যবহার করেনি এমন ব্যক্তি হয়তো খুঁজে পাওয়া যাবেনা। সাধারণতঃ, উইন্ডোজ – কম্পিউটার ও ল্যাপটপে বেশী ব্যবহৃত হয়, তবে মোবাইলেও এর অল্প পরিচিত রয়েছে। বর্তমানে মোবাইল প্ল্যাটফর্মে সবচেয়ে জনপ্রিয় অপারেটিং সিস্টেম হল – এন্ড্রোয়েড। যার সত্ত্বাধিকারী প্রতিষ্ঠান হল গুগল, যা আমরা প্রায় সবাই জেনে থাকবো।
মূলতঃ, অপারেটিং সিস্টেম-ই কম্পিউটারের সকল বেসিক কাজগুলো সম্পন্ন করে। যেমন আমরা কম্পিউটারকে কোন কমান্ড দেওয়ার সাথে সাথে কম্পিউটার আমাদের কাজ করে দেয়। এছাড়াও, কম্পিউটারের প্রসেসর বিভিন্ন সময় গরম হয়ে গেলে অটোমেটিক কুলিং ফ্যান চালু হয়ে যায়, আর এই সব কাজগুলো মূলতঃ অপারেটিং সিস্টেমই সম্পাদন করে। অ্যাপ্লিকেশন মূলতঃ আমাদের দেয়া কমান্ড গুলো অনুসরণ করে কাজ করে এবং অপারেটিং সিস্টেমের উপর কাজ চাপিয়ে দিয়ে বিভিন্ন ধরনের হার্ডওয়্যারের সাথে সংযোগ তৈরি করে।
কম্পিউটারের বিভিন্ন হার্ডওয়্যার (যন্ত্রাংশকে) যদি মানুষের দেহের সাথে তুলনা করা হয়, তাহলে অপারেটিং সিস্টেম হচ্ছে দেহের প্রাণ।
আরেকটি জিনিস আছে – সেটা হল ‘কার্নেল’। কার্নেল হচ্ছে অপারেটিং সিস্টেমের প্রাণ। অর্থাৎ,
অপারেটিং সিস্টেমের মূল প্রাণ ভোমরাটাই হচ্ছে কার্নেল।
সব অপারেটিং সিস্টেমেরই কার্নেল রয়েছে।
যেমনঃ ‘মাইক্রোসফট উইন্ডোজ’ – এর কার্নেলের নাম হচ্ছে ‘এনটি’, ‘অ্যাপল ম্যাক ওএস’ – এর কার্নেলের নাম হচ্ছে ‘ডারউইন/ডার্বিন’ আর ‘গুগল অ্যান্ড্রোয়েড’ – এর কার্নেল হচ্ছে ‘লিনাক্স’। কার্নেলের ওপর নির্ভর করেই অপারেটিং সিস্টেম ডেভেলপ করা হয়। প্রত্যেকটি অপারেটিং সিস্টেম কার্নেল ব্যবহার করে, কার্নেল ছাড়া এমন কোন অপারেটিং সিস্টেমের অস্তিত্ব সম্ভব নয় যেটা কাজ করবে।
এখন, আমি এই কার্নেল এবং বিশেষতঃ লিনাক্স কার্নেল নিয়ে কিছু কথা বলবো।
আম জনতার জন্য কার্নেল – এর পরিচয়ঃ
অনেক সাধারণ ইউজার এবং অনেক লিনাক্স ফ্যানের কাছে – লিনাক্স হচ্ছে একটি অপারেটিং সিস্টেম। কিন্তু, প্রকৃতপক্ষে লিনাক্স একটি কার্নেলের নাম — আর এই কার্নেল হচ্ছে সেই জিনিসের নাম যেটা অপারেটিং সিস্টেম রান করতে সাহায্য করে। কার্নেল হল খোদ অপারেটিং সিস্টেমের একটি অংশ, যা হার্ডওয়্যারের সাথে সফটওয়্যারের যোগাযোগ রক্ষা করে।
লিনাক্স – এর উপর নির্ভর করে যেসব অপারেটিং সিস্টেম রয়েছে (যেমন – উবুন্টু, অ্যান্ড্রোয়েড, রেডহ্যাট প্রভৃতি) তাদেরকে বলা হয় ‘লিনাক্স ডিস্ট্রিবিউশন’ বা, সংক্ষেপে ‘লিনাক্স ডিস্ট্রো’।
অনেক আলাদা আলাদা লিনাক্স ডিস্ট্রিবিউশন রয়েছে, ডিস্ট্রোগুলো একে অপরের থেকে আলাদা হলেও প্রত্যেকের মধ্যে একটি কমন ব্যাপার হয়েছে আর তা হচ্ছে ‘লিনাক্স কার্নেল’! এখন অনেক সাধারণ ইউজারের মনেই প্রশ্ন জাগবে,
‘কি এই লিনাক্স কার্নেল?’
— ঠিক এই প্রশ্নের উত্তর দেবো আমি।
ম্যাক ওএস, উইন্ডোজ ওএস, এবং লিনাক্স — এরা প্রত্যেকের কার্নেল ইউজ করে এবং প্রত্যেকের কাজ করার ধরন আলাদা আলাদা। কার্নেল কোন অপারেটিং সিস্টেম রান করার মোক্ষম ভূমিকা পালন করলেও শুধু কার্নেল কিন্তু একা অপারেটিং সিস্টেমকে রান করতে পারে না। কার্নেলের সাথে অনেক অ্যাপলিকেশন – এর ব্যান্ডেল থাকে যেগুলো একত্রে মিলে একটি প্যাকেজ তৈরি করে এবং সম্পূর্ণ অপারেটিং সিস্টেমকে রান করে।
যদি আম জনতার ভাষায় বলতে চাই “কার্নেল কি?” — কার্নেলের চাকুরী হচ্ছে হার্ডওয়্যার এবং সফটওয়্যারের মধ্যে কথা বলা এবং যতোটা বেস্ট সম্ভব সিস্টেম রিসোর্স ম্যানেজ করা।
কার্নেলের সাথে কার্নেল মডিউল আগে থেকেই ইন্সটল করা থাকে বা, পরে আলাদা করে ইন্সটল করা যায়, কার্নেল মডিউলকে আপনি ডিভাইজ ড্রাইভার – ও বলতে পারেন। কার্নেল হার্ডওয়্যার ড্রাইভারের সাহায্য নিয়ে হার্ডওয়্যারের সাথে কথা বলে।
ধরুন আপনি আপনার মিউজিক প্লেয়ারে ভলিউম বানানোর নির্দেশ দিলেন, এখন আপনার মিউজিক প্লেয়ার কিন্তু সরাসরি স্পীকারের ভলিউম বাড়াতে বা কমাতে সক্ষম নয়। আপনার প্লেয়ার সফটওয়্যারটি কার্নেলের কাছে একটি রিকোয়েস্ট রাখে, কার্নেল সাউন্ড ড্রাইভারের সাহায্যে হার্ডওয়্যারের সাথে যোগাযোগ করে ভলিউম কমানো বা বাড়ানোর কাজ করে থাকে। তাছাড়া, সিস্টেমের রিসোর্স ম্যানেজ করার জন্যও কার্নেলের বিরাট ভূমিকা রয়েছে; কোন অ্যাপলিকেশন রান করার জন্য সিস্টেমে যথেষ্ট মেমোরি ফাঁকা রয়েছে কিনা, তাছাড়া কোন অ্যাপলিকেশনকে মেমোরির সঠিক স্থানে প্লেসমেন্ট, প্রসেসরের প্রসেসিংকে অপ্টিমাইজ করা যাতে প্রসেস গুলো দ্রুত সম্পূর্ণ করা সম্ভব হয় — ইত্যাদি দায়িত্বগুলো কার্নেলের ঘাড়ে চাপানো থাকে।
আপনার অপারেটিং সিস্টেম ঠিকঠাক মতো রান করানোর জন্য কার্নেলকে অনেক কমপ্লেক্স জব শেষ করতে হয়। ধরুন কোন অ্যাপলিকেশন কোন সিস্টেম রিসোর্স ইউজ করছে, আর আরেকটি অ্যাপলিকেশনের ঐ রিসোর্স ইউজ করার প্রয়োজন পড়ল, এক্ষেত্রে দুই অ্যাপলিকেশনকে হ্যান্ডেল করার কাজ কার্নেল করে থাকে, আর এটা অনেক ক্রিটিক্যাল একটি প্রসেস যেটা ঠিক মতো হ্যান্ডেল না করতে পারলে সিস্টেম রান করানো সম্ভব হবে না।
কার্নেল ও অপারেটিং সিস্টেমঃ
আগেই বলেছি, প্রত্যেকটি অপারেটিং সিস্টেমে কার্নেল রয়েছে এবং কার্নেল একসাথে অনেক গুলো অ্যাপলিকেশন মিলিয়ে কাজ করে, শুধু একা কার্নেল কখনোই একটি অপারেটিং সিস্টেম সম্পূর্ণ রান করাতে সক্ষম নয়। কার্নেলের সাথে অবশ্যই আপনার আলাদা আলাদা অ্যাপ্লিকেশনের প্রয়োজন পড়বে। যেমনঃ টার্মিনালের কমান্ড প্রমট ডিসপ্লে করানোর জন্য, অ্যাপ্লিকেশন রান করানোর জন্য, কোন ফোল্ডার ন্যাভিগেট করার জন্য এবং আরো অনেক কাজ করার জন্য আপনার ‘শেল (Shell)’ – এর প্রয়োজন পরবে।
বিশেষ করে লিনাক্স নির্ভর অপারেটিং সিস্টেম বা লিনাক্স ডিস্ট্রোগুলোতে কার্নেলের সাথে আরো অনেক অ্যাপলিকেশন বান্ডেল করানো থাকে। যেমন- ওয়েব ব্রাউজার, ডেস্কটপ এনভায়রনমেন্ট, অফিস সুইট ইত্যাদি – যেগুলোকে আপনি সরাসরি গ্রাফিক্যাল ইন্টারফেসে ব্যবহার করতে পারেন। তো বুঝতেই পারছেন, অ্যাপলিকেশন বান্ডেল ছাড়া কার্নেল একা তেমন কিছুই করতে পারে না, কিন্তু কার্নেল ছাড়াও আপনি অপারেটিং সিস্টেম রান করতে পারবেন না।
(ঈষৎ সংগৃহীত ও পরিমার্জিত)
[চলবে…………..]
সিয়াম মাহমুদ চৌধুরী।
ছোটো-খাটো একজন প্রোগ্রামার এবং সাইবার সিকিউরিটির একজন ক্ষুদ্র ছাত্র।

Leave a comment