বিভিন্ন লিনাক্স / ইউনিক্স কার্নেলগুলি কী বিনিময়যোগ্য?


14

আমি কি একটি লিনাক্স কার্নেল নিয়ে এটিকে বলতে পারি, ফ্রিবিএসডি এবং তদ্বিপরীত (ফ্রিবিএসডি কার্নেল ইন, বলুন, একটি ডেবিয়ান) ব্যবহার করতে পারি? সর্বজনীন উত্তর আছে কি? সীমাবদ্ধতা কি? বাধা কি কি?


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

3
debian.org/ports/kfreebsd-gnu এবং debian.org/ports/hurd আপনার আগ্রহের হতে পারে
muru

@ কুসালানন্দ ইউজারল্যান্ডের সরঞ্জাম প্রতিস্থাপনের বিষয়ে, বিএসডি থেকে লিনাক্সে যাওয়া বেদনাদায়ক হতে পারে: কিছু বিএসডি সরঞ্জাম নন-বিএসডি সিস্টেমে তৈরি করা বেশ শক্ত ... আমি কয়েক বছর ধরে এমন কয়েকটি সরঞ্জাম পেয়েছি যা আমি পছন্দ করতে চাইতাম , কিন্তু এটি অ-তুচ্ছ হিসাবে প্রমাণিত: - /।
স্টিফেন কিট

1
@ স্টেফেনকিট বিপরীতটিও সত্য :-) বিশেষত যখন সফ্টওয়্যারটি /procলিনাক্স-নির্দিষ্ট ঘণ্টা এবং শিসগুলিতে অ্যাক্সেস করতে সক্ষম হতে পারে ump
কুসালানন্দ

আপনি যা করতে পারেন তা হল একটি x86_64 (লিনাক্স) কার্নেল নেওয়া এবং এটি i386 32-বিট বিতরণে একটি 64-বিট ইন্টেল সিপিইউ এবং সংকলিত 32-বিট বাইনারিগুলির জন্য সমর্থন) এ জোর করে ইনস্টল করা। এটি বেশ সুপরিচিত, তবে তাত্ক্ষণিকভাবে সুস্পষ্ট নয় ...
রাদোভান গারাবাক

উত্তর:


39

না, ইউনিক্স-স্টাইল অপারেটিং সিস্টেমগুলির বিভিন্ন বাস্তবায়ন থেকে কার্নেলগুলি বিনিময়যোগ্য নয়, বিশেষত এটি সমস্ত সিস্টেমের বাকী (ব্যবহারকারীর স্থান) - তাদের সিস্টেম কল ( ioctlস্পেসিফিকেশন সহ ), তাদের ব্যবহার করা বিভিন্ন ভার্চুয়াল ফাইল সিস্টেমের কাছে বিভিন্ন ইন্টারফেস উপস্থাপন করে । ..

সোর্স লেভেলে কিছুটা বিনিময়যোগ্য কী, কার্নেল এবং সি লাইব্রেরির সংমিশ্রণ বা তার পরিবর্তে, কার্নেল এবং লাইব্রেরিগুলি প্রকাশ করে এমন ব্যবহারকারী-স্তরের এপিআইগুলি (মূলত, পসিক্স দ্বারা বর্ণিত স্তরের দৃশ্যটি, ব্যতীত) বিবেচনা করা কিনা তা হল আসলে POSIX)। এর উদাহরণগুলির মধ্যে রয়েছে দেবিয়ান জিএনইউ / কেফ্রিবিএসডি , যা ফ্রিবিএসডি কার্নেলের উপরে একটি ডেবিয়ান সিস্টেম তৈরি করে এবং দেবিয়ান জিএনইউ / হার্ড , যা হার্টের শীর্ষে একটি ডেবিয়ান সিস্টেম তৈরি করে।

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

লিনাক্সের মধ্যে কীভাবে ফ্রিবিএসডি ক্রুট তৈরি করবেন তা দেখুন ।


1
কার্নেল এবং ব্যবহারকারীর API গুলি সিঙ্ক করে রাখা কতটা গুরুত্বপূর্ণ তা সম্পর্কে কিছু লোকের যথেষ্ট
দৃ quite় মতামত রয়েছে

4
প্রকৃতপক্ষে @tonysdg, এবং বিশ্বাস করুন, আমি এ সম্পর্কে সমস্ত জানি : - /।
স্টিফেন কিট

@tonysdg আমি আপনার লিঙ্কে একটি পৃষ্ঠা পাওয়া যায় নি। (যদি না এটি একটি রসিকতাটি আমি মিস করছি না)
এমবিআরআইজি

1
@ এমবিগ্রিঃ গতকাল পর্যন্ত এটি ছিল - এখানে একটি আর্কাইভ সংস্করণ রয়েছে: web.archive.org/web/20171102142621/http://…
টোনিসডজি

@ স্টেফেনকিট: আউচ :( দুঃখিত! তবে কার্নেলটিতে কোড থাকা সত্ত্বেও বড়
কুদোগুলি

4

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

এছাড়াও, ফাইল সিস্টেমগুলি সামঞ্জস্যপূর্ণ হওয়া প্রয়োজন। এছাড়াও, বাইনারি সামঞ্জস্যের বিকল্পগুলি কার্নেলের মধ্যে "হার্ড" সংকলন করতে হবে - কার্নেল মডিউল হিসাবে প্রয়োগ করা যে কোনও কিছুই ব্যর্থ হতে পারে কারণ আপনি মডিউল লোডার চালাতে পারেন নি।

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

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.