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