32-বিট কার্নেলটিতে 64-বিট ব্যবহারকারীল্যান্ড সফ্টওয়্যারটি চালাতে কি লাগে?


10

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

এবং তারপরে, বছরগুলি আগে এটি আমার মনকে উড়িয়ে দিয়েছে যখন কেউ আমাকে দেখিয়েছিল যে ম্যাকওএস 10.6 স্নো চিতাবাঘ 32-বিট মোডে কার্নেলের সাথে 64-বিট অ্যাপ্লিকেশন চালাতে পারে। এটি এখন বেশিরভাগই ভুলে যেতে পারে কারণ এটি ছিল এক সময়ের প্রযুক্তিগত রূপান্তর। মোবাইল স্পেসে কার্ভের সামনে হার্ডওয়্যার সহ, যতদূর আমি জানি আইওএস এবং অ্যান্ড্রয়েডের জন্য -৪-বিট স্থানান্তরিত করার জন্য এটির কখনই প্রয়োজন ছিল না।

আমার প্রশ্ন: 32-বিট লিনাক্স কার্নেল (i386 বা আর্মএফ) এ একই ক্ষমতা পেতে কী লাগবে?

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

এম্বেড করা বিশ্বে আমি মনে করি এটি বিশেষত সহায়ক হবে, কারণ 64৪-বিট সমর্থন ডিভাইস ড্রাইভারদের ক্ষেত্রে দীর্ঘ সময়ের জন্য পিছিয়ে থাকতে পারে।


আপনি কি নিশ্চিত যে স্নো চিতাবাঘ 32-বিট কার্নেল দিয়ে 64-বিট অ্যাপ্লিকেশন চালাতে পারে? আইআইআরসি কার্নেলটি সক্ষম হার্ডওয়্যারেও 64-বিটে আপডেট করা হয়েছিল।
মারু

5
কিছু মনে করবেন না, আপনি ঠিক বলেছেন: superuser.com/a/340591/334516
muru

উত্তর:


16

-৪-বিট অ্যাপ্লিকেশন চালানোর জন্য কার্নেলের কিছুটা সমর্থন প্রয়োজন: সিপিইউতে -৪-বিট কোড চলমান সমর্থন করার জন্য কার্নেলের কমপক্ষে পৃষ্ঠ সারণী, বাধা সারণী ইত্যাদির প্রয়োজন হয়, এবং এটির জন্য পুরো -৪-বিট সংরক্ষণ করা দরকার অ্যাপ্লিকেশনগুলির মধ্যে স্যুইচ করার সময় প্রসঙ্গ (এবং অ্যাপ্লিকেশন থেকে কার্নেল এবং পিছনে)। সুতরাং বিশুদ্ধরূপে 32-বিট কার্নেল 64-বিট ব্যবহারকারী স্থান সমর্থন করতে পারে না।

তবে ব্যবহারকারীর স্পেসে code৪-বিট কোডকে সমর্থন করে কার্নেলটি কার্নেল স্পেসে 32-বিট কোড চালাতে পারে। এর মধ্যে একটি 64-বিট কার্নেল দিয়ে 32-বিট অ্যাপ্লিকেশন চালানোর জন্য প্রয়োজনীয় সমর্থনটির মতো হ্যান্ডলিং জড়িত রয়েছে: মূলত, কার্নেলটিতে অ্যাপ্লিকেশনগুলির দ্বারা প্রত্যাশিত 64-বিট ইন্টারফেস সমর্থন করতে হয়। উদাহরণস্বরূপ, এটিতে কার্নেলটিতে it৪-বিট কোডটি কল করার জন্য কিছু প্রক্রিয়া সরবরাহ করতে হবে এবং প্যারামিটারগুলির অর্থ সংরক্ষণ করতে হবে (উভয় দিকেই)।

প্রশ্নটি তখন এটির মূল্যবান কিনা। ম্যাক এবং অন্যান্য কয়েকটি সিস্টেমে একটি কেস তৈরি করা যায় যেহেতু 32-বিট কার্নেল কোড সমর্থন করার অর্থ ড্রাইভারদের সবাইকে একই সাথে স্যুইচ করতে হবে না। লিনাক্সে বিকাশের মডেলটি পৃথক: বড় পরিবর্তনগুলি করার পরে কার্নেলের যে কোনও কিছুই প্রয়োজনীয় হিসাবে স্থানান্তরিত হয় এবং কার্নেলের বাইরে যে কোনও কিছুই কর্নেল বিকাশকারীরা সমর্থন করে না। 64৪-বিট কার্নেলের সাথে ৩২-বিট ইউজারল্যান্ডকে সমর্থন করা অবশ্যই কার্যকর এবং প্রচেষ্টার পক্ষে মূল্যবান (কমপক্ষে, এটি ছিল যখন x86-64 সমর্থন যোগ করা হয়েছিল), আমি নিশ্চিত নই যে 32-তে 64-বিটের জন্য একটি মামলা তৈরি করা হবে -বিট...


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

3

স্নো চিতাবাঘ একটি ইনটেল bit৪ বিট সিপিইউতে b৪ বিট বাইনারি চালাতে সক্ষম হয়েছিল।

এটির একটি 64 বিট কার্নেল দিয়ে বুট করতে সক্ষম হয়েছিল যখন আপনার ইফি ইতিমধ্যে 64 বিট ছিল (ম্যাকবুক "ট্রানজিশন-মডেল" প্রো এর আমার প্রোডাকশন ব্যাচ ইতিমধ্যে এমন একটি মেশিন ছিল)।

এতে কোনও ইমুলেশন জড়িত ছিল না, আপনি 32 বিট মোডে দূরত্বে বুট করার সময় আপনি কেবলমাত্র একটি ছোট পারফরম্যান্স ব্যয় দিয়েছিলেন।

খাঁটি 32-বিট সিপিইউগুলিতে আপনি এটি করতে সক্ষম হবেন না, কারণ 64 বিট কোডটি কীভাবে ব্যাখ্যা করা যায় সে বিষয়ে তাদের কোনও ধারণা নেই। আপনি যদি সফ্টওয়্যারটির সাথে অনুকরণ না করেন তবে thoseতিহ্যবাহী আন্ডার পাওয়ারযুক্ত এমবেডেড মেশিনগুলির এই ধরণের জন্য ধীর হয়ে যাবে।

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