অ্যান্ড্রয়েড লিনাক্সের উপর তৈরি, কিন্তু কেন অ্যান্ড্রয়েডে পিসি লিনাক্সের সফটওয়্যার চলে না, আবার লিনাক্সে কেন অ্যান্ড্রয়েড অ্যাপ রান হয় না?



আপনি যদি সামান্য একটুও গিক টাইপের হয়ে থাকেন, তবে অবশ্যই জানেন যে, অ্যান্ড্রয়েড অপারেটিং সিস্টেম লিনাক্সের উপর নির্ভরশীল। কিন্তু আপনার কম্পিউটারে চলা লিনাক্স সিস্টেম অ্যান্ড্রয়েড সিস্টেম থেকে আলাদা, আপনি কম্পিউটারের লিনাক্স অ্যাপ্লিকেশন অ্যান্ড্রয়েডে চালাতে পারবেন না, কিংবা অ্যান্ড্রয়েড অ্যাপ্লিকেশন কম্পিউটার লিনাক্স সিস্টেমে চালাতে পারবেন না, কিন্তু কেন? চলুন, এর বিস্তারিত উত্তর খুঁজে পাওয়ার চেষ্টা করা যাক…

লিনাক্স কার্নেল
সর্ব প্রথম আমাদের লিনাক্স সম্পর্কে ভালো ধারণা থাকা প্রয়োজনীয়। দেখুন, বেশিরভাগ মানুষ লিনাক্সকে অপারেটিং সিস্টেম হিসেবে আখ্যায়িত করে থাকে, তারা বলে তাদের পিসিতে লিনাক্স ইন্সটল করেছে। কিন্তু পিসিতে লিনাক্স ইন্সটল করা মানে হচ্ছে, লিনাক্সের কোন একটি ডিস্ট্রকে ইন্সটল করা।

লিনাক্স কোন অপারেটিং সিস্টেম নয়, এটি একটি কার্নেল, আর প্রত্যেকটি অপারেটিং সিস্টেম চলার জন্য কার্নেল প্রয়োজনীয়। কার্নেল মূলত সিস্টেম সফটওয়্যার এবং হার্ডওয়্যার গুলোর মধ্যে সম্পর্ক স্থাপন করে দিতে সাহায্য করে থাকে। অর্থাৎ লিনাক্স নির্ভর অপারেটিং সিস্টেমের কোর হচ্ছে লিনাক্স।

পিসিতে যে লিনাক্স ডিস্ট্র গুলোকে রান করানো হয়, সেখানে শুধু লিনাক্স কার্নেলই থাকে না, বরং লিনাক্সের আরো কিছু স্পেশাল সফটওয়্যার যুক্ত করা থাকে। সেখানে লিনাক্স সফটওয়্যার গুলো রান করার জন্য নিজস্ব পরিবেশ থাকে এবং এক্স গ্রাফিক্যাল সার্ভার থাকে। উবুন্টু, মিন্ট, ডেবিয়ান, ফেডোরা, ইত্যাদি সহ আরো অন্যান্য লিনাক্স ডিস্ট্র গুলোতে লিনাক্স কার্নেল ব্যতিতও আলাদা সফটওয়্যার ইন্সটল করা থাকে।

যেমন জিনোম (GNOME) ডেক্সটপ ইনভারমেন্ট ইন্সটল থাকার জন্য বিভিন্ন লিনাক্স ডিস্ট্রতে ডেক্সটপ ইন্টারফেস দেখতে পাওয়া যায়। ধরুন আপনি সার্ভার উপযোগী লিনাক্স ডিস্ট্র আপনার সিস্টেমে ইন্সটল করেছেন, তো সেখানে ডেক্সটপ ইন্টারফেস থাকবে না, কেনোনা সার্ভারে কম্যান্ড ব্যবহার করে কাজ করানো হয়, এখন আপনি যদি এতে ডেক্সটপ পেতে চান তবে অবশ্যই আপনাকে ডেক্সটপ ইন্টারফেস ইন্সটল করতে হবে।

এমনি ভাবে, অ্যান্ড্রয়েড শুধু মাত্র লিনাক্স কার্নেলের উপর তৈরি, কিন্তু এতে লিনাক্সের সফটওয়্যার রান করানোর জন্য আলাদা লিনাক্স সফটওয়্যার গুলো ইন্সটল করা থাকে না। গুগল তাদের অপারেটিং সিস্টেমের কার্নেল হিসেবে লিনাক্স ব্যবহার করে, কেনোনা লিনাক্স ওপেন সোর্স, অর্থাৎ একে যেভাবে ইচ্ছা সেভাবে কাস্টম করা যাবে।

গুগল তাদের অ্যান্ড্রয়েডকে নিজের মতো করে কাস্টম করে নেয়। আর লিনাক্স কার্নেল ব্যবহার করার ফলে তাদের নিজে থেকে আর কোন কার্নেল তৈরি করার দরকার হয়না। তাছাড়া অ্যান্ড্রয়েড তো শুধু গুগল একা ব্যবহার করে না, অনেক কোম্পানি তাদের ফোনে অ্যান্ড্রয়েড ব্যবহার করে, এবং তারা সেখানে তাদের নিজস্ব কিছু ফিচার যোগ করতে চায়। যেহেতু লিনাক্স ওপেন সোর্স, তাই তারা নিজের ইচ্ছা অনুসারে কাস্টম করে থাকে।

অ্যান্ড্রয়েড বনাম লিনাক্স
এখন অ্যান্ড্রয়েড লিনাক্সের উপর তৈরি হলেও এটি লিনাক্সের আলাদা ডিস্ট্র গুলো মতো নয়। আগেই আলোচনা করেছি, ডেক্সটপ ডিস্ট্র গুলোতে আরো বিভিন্ন প্রকারের সফটওয়্যার ইন্সটল করা থাকে, কিন্তু অ্যান্ড্রয়েডে তা থাকে না। যখন অ্যান্ড্রয়েড বুট হয়, তখন সেটা লিনাক্স আকারেই বুট হয়, কিন্তু বুট হওয়ার পরে অ্যান্ড্রয়েডের নিজস্ব একটি ভার্চুয়াল মেশিন রান হয়, যেটা জাভা দ্বারা তৈরি করা সফটওয়্যার গুলোকে রান করতে সক্ষম। মানে, আপনি একভাবে বলতে পারেন, অ্যান্ড্রয়েড হলো লিনাক্সের উপর রান হওয়া একটি ভার্চুয়াল মেশিন।

বিষয়টিকে আরো পরিষ্কার করার জন্য চলুন একটি উদাহরণ নেওয়া যাক, মনে করুন, আপনার কম্পিউটারটি উইন্ডোজ ১০ অপারেটিং সিস্টেমে পরিচালিত। অর্থাৎ আপনার সিস্টেমে অবশ্যই উইন্ডোজ যেকোনো সফটওয়্যার রান করানো সম্ভব। কিন্তু এবার মনে করুন আপনি আপনার কম্পিউটারে একটি ভার্চুয়াল মেশিন সফটওয়্যার ইন্সটল করলেন এবং ভার্চুয়াল মেশিনের মধ্যে উবুন্টু ইন্সটল করলেন।

এখন ভাল করে সম্পূর্ণ বিষয়টি ভেবে দেখুন, আপনার ভার্চুয়াল মেশিনটি কিন্তু উইন্ডোজ অপারেটিং সিস্টেমের উপর রান করছে, কিন্তু মেশিনের ভেতর ইন্সটল থাকা উবুন্টুতে আপনি উইন্ডোজ সফটওয়্যার ব্যবহার করতে পারবেন না, আবার সেখানের লিনাক্স সফটওয়্যার গুলোকেও আপনি উইন্ডোজে ব্যবহার করতে পারবেন না। ভার্চুয়াল মেশিন সম্পূর্ণ আলাদা পরিবেশ তৈরি করে এবং নিজেই একটি স্বাধীন কম্পিউটারের ন্যায় আচরন করে। ঠিক এইভাবেই, অ্যান্ড্রয়েড লিনাক্সের উপর তৈরি হয়েও ডেক্সটপ লিনাক্স সফটওয়্যার গুলো সমর্থন করে না।

আবার লিনাক্স ডিস্ট্র গুলোও অ্যান্ড্রয়েড সফটওয়্যার গুলোকে সমর্থন করে না। কেনোনা লিনাক্স ডিস্ট্র গুলো লিনাক্স সফটওয়্যার রান করানোর জন্য তৈরি করা হয়, এবং এতে কোন ভার্চুয়াল মেশিন ইন্সটল করা থাকে না, যেটা জাভা অ্যাপ্লিকেশন গুলোকে রান করাতে পারে। তবে অ্যান্ড্রয়েড এবং লিনাক্সের আলাদা ডিস্ট্র গুলোর মধ্যে একটি জিনিষ কমন, তা হলো এটি টার্মিন্যাল সমর্থন করে। অর্থাৎ অ্যান্ড্রয়েডকে আপনি বিভিন্ন লিনাক্স কম্যান্ড প্রদান করাতে পারবেন। কিন্তু বেশিরভাগ লিনাক্স কম্যান্ড রান করানোর জন্য অ্যান্ড্রয়েডটি রুটেড থাকা প্রয়োজনীয় নয়, কেনোনা টার্মিন্যাল ঠিকঠাক মতো চলার জন্য রুট পারমিশন ডিম্যান্ড করে।

লিনাক্স ডিস্ট্র গুলোতে যদি অ্যান্ড্রয়েড ভার্চুয়াল মেশিন ইন্সটল করা যায়, তবে সহজেই লিনাক্স কম্পিউটারে অ্যান্ড্রয়েড সফটওয়্যার গুলোকে ইন্সটল করা এবং রান করানো সম্ভব হবে। যেমনটা আপনারা উইন্ডোজ কম্পিউটারে দেখে থাকবেন, ব্লুস্টাকস নামের একটি প্রোগ্রাম, যেটা ভার্চুয়াল মেশিনের উপর রান হয়ে আপনার পিসিতে অ্যান্ড্রয়েড অ্যাপ্লিকেশন চলাতে সাহায্য করিয়ে থাকে।

গুগলের ক্রোম ওএস ও কিন্তু লিনাক্সের উপর তৈরি, কিন্তু এতেও এক্স সার্ভার থাকে না, ফলে এতে লিনাক্সের সফটওয়্যার গুলো রান করানো সম্ভব নয়। অ্যান্ড্রয়েডের মতো ক্রোম ওএস ও লিনাক্সের অন্যান্য ডিস্ট্র গুলোর অনেক কাছাকাছি, সেখানে কিছু উন্নতি করন করলে লিনাক্স সফটওয়্যার গুলোকে রান করানো সম্ভব হবে। অপরদিকে উবুন্টু মোবাইল ওএস একেবারেই লিনাক্সের মতো, এখানে আপনি মোবাইলে ডেক্সটপ লিনাক্স ব্যবহার করার মতো ফিচার গুলো পাবেন।

শেষ কথা
আশা করছি, এই আর্টিকেলটি পড়ার পরে অবশ্যই আপনার মনের সকল প্রশ্ন গুলোর পরিষ্কার উত্তর পেয়ে গিয়েছেন, কেন অ্যান্ড্রয়েড লিনাক্স এর উপর কাজ করার পরেও এটি লিনাক্স থেকে আলাদা। লিনাক্সের ডেক্সটপ ডিস্ট্র এবং অ্যান্ড্রয়েড, দুই ব্যাপার দুইভাবে তৈরি করা হয়েছে, কেনোনা এদের ব্যবহার আলাদা আলাদা।

তবে আপনি চাইলে আপনার কম্পিউটারে অনেক সহজেই অ্যান্ড্রয়েড সফটওয়্যার রান করাতে পারেন, ঠিক অ্যান্ড্রয়েডেও ভার্চুয়াল মেশিন ইন্সটল করে যেকোনো পিসি সফটওয়্যার রান করানো সম্ভব। আমি নেক্সট কোন এক আর্টিকেলে বর্ণনা করবো, কিভাবে লিনাক্স কার্নেলের উপর আপনি নিজের অপারেটিং সিস্টেম তৈরি করবেন।

Comments