কেরলা: মরিচায় লেখা একটি নতুন কার্নেল এবং লিনাক্স এবিআই-এর সাথে সামঞ্জস্যপূর্ণ

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

নতুন কার্নেল প্রাথমিকভাবে লক্ষ্য করে এবিআই স্তরে লিনাক্স কার্নেলের সাথে সামঞ্জস্য নিশ্চিত করুন, যা লিনাক্সের জন্য নির্মিত অপরিবর্তিত বাইনারিগুলিকে কের্লা-ভিত্তিক পরিবেশে চালানোর অনুমতি দেবে।

কেরাল সম্পর্কে

কেরলা হল একটি মনোলিথিক অপারেটিং সিস্টেম কার্নেল মরিচা মধ্যে স্ক্র্যাচ থেকে তৈরি. উন্নয়নের বর্তমান পর্যায়ে কেরলা শুধুমাত্র x86_64 আর্কিটেকচার সহ সিস্টেমে চালানো যেতে পারে এবং রাইট, স্ট্যাট, mmap, পাইপ এবং পোলের মতো মৌলিক সিস্টেম কলগুলি প্রয়োগ করে, সিগন্যাল, নামহীন পাইপ এবং প্রসঙ্গ সুইচ সমর্থন করে। ফর্ক, wait4 এবং execve-এর মতো কলগুলি প্রক্রিয়াগুলি নিয়ন্ত্রণ করতে দেয়। tty এবং ছদ্ম-টার্মিনাল (pty) এর জন্য সমর্থন আছে। initramfs ফাইল সিস্টেমের মধ্যে (রুট FS মাউন্ট করতে ব্যবহৃত), tmpfs এবং devfs এখনও সমর্থিত।

TCP এবং UDP সকেটের জন্য সমর্থন সহ একটি নেটওয়ার্ক স্ট্যাক প্রদান করা হয়, smoltcp লাইব্রেরির উপর ভিত্তি করে। বিকাশকারী একটি বুট পরিবেশ তৈরি করেছে যা QEMU বা Firecracker VM-এ ড্রাইভার virtio-net এর সাথে কাজ করে, যেখানে আপনি ইতিমধ্যে SSH এর মাধ্যমে সংযোগ করতে পারেন. Musl একটি সিস্টেম লাইব্রেরি হিসাবে ব্যবহৃত হয় এবং BusyBox একটি ব্যবহারকারী ইউটিলিটি হিসাবে ব্যবহৃত হয়. Docker-এর উপর ভিত্তি করে, একটি বিল্ড সিস্টেম প্রস্তুত করা হয়েছে যা আপনাকে Kerla কার্নেলের সাথে আপনার নিজস্ব initramfs বুট তৈরি করতে দেয়।

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

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

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

“C++ এর মতো, টেমপ্লেট ব্যবহার না করে ইডিওম্যাটিক রাস্ট লেখা প্রায় অসম্ভব, তাই এটিতে ফুলে যাওয়া বাইনারি এবং ধীর সংকলন সময় রয়েছে। এই সমস্ত কম্পাইল-টাইম চেকগুলিও একটি খরচে আসে। এছাড়াও, আপনি যদি কিছু পুনঃলিখন করেন, আপনি পুরানো পরিপক্ক কোডবেস হারাবেন, এবং যুক্তিসঙ্গত সময়ের মধ্যে একই মানের কোডবেস তৈরি করার কোন উপায় নেই; মরিচা-এ প্রোগ্রামটি পুনরায় লেখার পরিবর্তে প্রসারিত করা অনেক ভাল। এটি মরিচাতে পুনরায় লেখার চেয়ে প্রোগ্রামটিকে প্রসারিত করা ভাল, ”একজন সফ্টওয়্যার ইঞ্জিনিয়ার বলেছেন।

এর নির্মাতার মতে, এই কারণেই লিনাক্স ডেভেলপাররা, বিশেষ করে লিনাস টরভাল্ডস নিজে, তারা মরিচায় সম্পূর্ণ কার্নেল পুনর্লিখনের ধারণা প্রত্যাখ্যান করেছিল।

"নিরাপদ লিঙ্ক তৈরি করার জন্য কিছু কাজ করুন, তারপর মরিচায় অতিরিক্ত কোড লিখুন এবং আপনি এখনও সেই পরিপক্ক কোডটি উপভোগ করতে পারেন। (লিনাক্স এটিই করে, রাস্টে কার্নেল মডিউল লেখার ক্ষমতা যুক্ত করার চেষ্টা রয়েছে), ”তিনি যোগ করেছেন। লিনাক্স ডেভেলপাররা প্রায় তিন বছর ধরে রাস্ট ভাষা ব্যবহার করে কিছু নতুন কার্নেল মডিউল লেখার সম্ভাবনা অন্বেষণ করছে। এটি "লিনাক্সের জন্য মরিচা" প্রকল্পের জন্ম দিয়েছে।

অবশেষে, আপনি যদি এটি সম্পর্কে আরও জানতে আগ্রহী হন তবে আপনি বিশদটি পরামর্শ করতে পারেন নীচের লিঙ্কে।


Google-এ পছন্দের উৎস হিসেবে যোগ করুন