আমি জানি ওএসএক্স এবং লিনাক্সের মধ্যে অনেক পার্থক্য রয়েছে, তবে কী এগুলি একেবারে পৃথক করে তোলে, যা তাদেরকে মূলত বেমানান করে তোলে?
আমি জানি ওএসএক্স এবং লিনাক্সের মধ্যে অনেক পার্থক্য রয়েছে, তবে কী এগুলি একেবারে পৃথক করে তোলে, যা তাদেরকে মূলত বেমানান করে তোলে?
উত্তর:
Sepp2k উল্লিখিত হিসাবে কেবল বাইনারি ফর্ম্যাট (ম্যাচ-ও বনাম ইএলএফ) নয় পুরো এবিআই আলাদা।
উদাহরণস্বরূপ, লিনাক্স এবং ডারউইন / এক্সএনইউ (ওএস এক্সের কার্নেল) যখন সিস্কল এন্ট্রির জন্য sc
পাওয়ারপিসি এবং int 0x80
/ sysenter
/ x x অন ব্যবহার করে syscall
, সেখান থেকে খুব বেশি সাধারণ কিছু নেই।
ডারউইন ম্যাক মাইক্রোকার্নেলের নেতিবাচক সিস্কেল নম্বর এবং বিএসডি মনোলিথিক কার্নেলে ইতিবাচক সিস্কেল নম্বর নির্দেশনা দেয় - xnu / osfmk / mach / syscall_sw.h এবং xnu / bsd / kern / syscalls.master দেখুন । লিনাক্সের সিস্কল নম্বরগুলি আর্কিটেকচার অনুসারে পরিবর্তিত হয় - দেখুন লিনাক্স / খিলান / পাওয়ারপিসি / অন্তর্ভুক্ত / asm / unistd.h , লিনাক্স / খিলান / x86 / অন্তর্ভুক্ত / asm / unistd_32.h , এবং লিনাক্স / খিলান / x86 / অন্তর্ভুক্ত / asm / unistd_64.h - তবে সবগুলিই অবৈধ। সুতরাং স্পষ্টতই সিস্কেল নম্বর, সিস্কাল আর্গুমেন্ট এবং এমনকি যে সাইককলগুলি বিদ্যমান তা ভিন্ন।
স্ট্যান্ডার্ড সি রানটাইম লাইব্রেরিগুলিও আলাদা; ডারউইন বেশিরভাগই ফ্রিবিএসডি'র লিবিসি-র উত্তরাধিকার সূত্রে প্রাপ্ত হয়, অন্যদিকে লিনাক্স সাধারণত গ্লিবসি ব্যবহার করে (তবে বিকল্পগুলি যেমন ইল্লিবিসি এবং ডায়েটলিবিসি এবং ইউলিবিক এবং বায়োনিক) রয়েছে।
পুরো গ্রাফিক্সের স্ট্যাকটি আলাদা কিনা তা উল্লেখ করার দরকার নেই; পুরো কোকো অবজেক্টিভ-সি লাইব্রেরিগুলি উপেক্ষা করে ওএস এক্স-এর জিইউআই প্রোগ্রামগুলি উইন্ডো সার্ভারের সাথে মাচ পোর্টগুলির সাথে কথা বলে, লিনাক্সে, জিইউআই প্রোগ্রামগুলি সাধারণত এক্স 11 প্রোটোকল ব্যবহার করে ইউএনআইএক্স ডোমেন সকেটের মাধ্যমে এক্স সার্ভারের সাথে কথা বলে। অবশ্যই ব্যতিক্রম আছে; আপনি ডারউইনে এক্স চালাতে পারেন, এবং আপনি লিনাক্সে এক্সকে বাইপাস করতে পারেন, তবে ওএস এক্স অ্যাপ্লিকেশনগুলি অবশ্যই এক্সের সাথে কথা বলবে না
ওয়াইনের মতো, যদি কেউ কাজটি করে put
তারপরে লিনাক্সে "নেটিভালি" কোনও ওএস এক্স প্রোগ্রাম চালানো সম্ভব হয়েছিল। কয়েক বছর আগে কাইল মফেট লিনাক্সের জন্য একটি প্রোটোটাইপ বিনফম্ট_ম্যাচ-ও তৈরি করে প্রথম আইটেমটিতে কিছু কাজ করেছিলেন , তবে এটি কখনই সম্পন্ন হয়নি এবং আমি এর সাথে অন্য কোনও প্রকল্পের কথা জানি না।
(তাত্ত্বিকভাবে এটি বেশ সম্ভব, এবং একই রকম প্রচেষ্টা বহুবার করা হয়েছে; ওয়াইন ছাড়াও লিনাক্সের নিজেই ইউএনআইএক্স থেকে এইচপি-ইউএক্স এবং ট্রু 64 এর বাইনারিগুলি চালনার পক্ষে সমর্থন রয়েছে এবং গ্লানডিক্স প্রকল্পের পরিকল্পনা 9 নম্বরের তুলনামূলকভাবে আনতে হবে লিনাক্স।)
কারো করেছে লিনাক্সের জন্য একটি মাপক-হে বাইনারি লোডার এবং API অনুবাদক বাস্তবায়ন প্রচেষ্টা করা!
শিনহ / ম্যালোডার - গিটিহাব বাইনারি লোড করা এবং ট্র্যাকিং / সমস্ত লাইব্রেরি কল ইউজারস্পেসে অনুবাদ / অনুবাদ করার ওয়াইন-মত পদ্ধতির গ্রহণ করে। এটি সিস্কলগুলি এবং গ্রাফিকাল সম্পর্কিত সমস্ত লাইব্রেরিগুলিকে সম্পূর্ণ উপেক্ষা করে তবে অনেকগুলি কনসোল প্রোগ্রামগুলি কাজ করার জন্য যথেষ্ট।
ডার্লিং ম্যালোডারের উপর ভিত্তি করে লাইব্রেরি এবং অন্যান্য সহায়ক রানটাইম বিট যুক্ত করে।
কেন ওএসএক্স অ্যাপ্লিকেশনগুলি স্থানীয়ভাবে লিনাক্সে চলবে না:
সবার আগে ওএসএক্স লিনাক্সের চেয়ে আলাদা বাইনারি ফর্ম্যাট ব্যবহার করে, তাই লিনাক্স ওএসএক্সের জন্য সংকলিত বাইনারিগুলি কার্যকর করতে পারে না (এটি উইন্ডোজ বা বিএসডি-র জন্য সংকলিত বাইনারিগুলি কার্যকর করতে পারে না)।
দ্বিতীয়ত, আপনি যদি জিইউআই অ্যাপ্লিকেশনগুলির বিষয়ে কথা বলছেন তবে অ্যাপলের জিইউআই সরঞ্জামকিট কোকো এ) কেবলমাত্র ওএসএক্সের জন্য উপলব্ধ এবং খ) এক্স 11 এর শীর্ষে চলবে না।
ওএসএক্স অ্যাপ্লিকেশনগুলির জন্য কেন ওয়ানের সমতুল্য নেই:
ওয়াইন এমনকি অর্ধেক ব্যবহারের উপযোগী হওয়ার আগে অনেক কাজ করতে হয়েছিল। যেহেতু কোনও ওএসএক্স সমমানের জন্য তেমন চাহিদা নেই, তাই এখনও কেউ এ জাতীয় প্রকল্পে সমান পরিমাণ প্রচেষ্টা বিনিয়োগ করে নি।
লিনাক্সে ওএস এক্স অ্যাপ্লিকেশনগুলি চালিত না হওয়ার সবচেয়ে গুরুত্বপূর্ণ কারণ হ'ল এই ওএসগুলি বিভিন্ন সিস্টেমে ব্যবহৃত হয়েছিল।
পূর্ববর্তী কয়েকটি উত্তর গ্রন্থাগারগুলির উল্লেখ করেছে তবে এটি সাধারণত হয় না - কোর ফাউন্ডেশন অ্যাপল দ্বারা সিএফলাইট নামে সর্বাধিক উন্মুক্ত এবং কোনও প্ল্যাটফর্মের জন্য সহজেই বহনযোগ্য (আইটিউনসের উইন্ডোজ সংস্করণটি মূল ফাউন্ডেশনের একটি উইন্ডোজ পোর্টের শীর্ষে বসে এবং কিছু সংকলক টুইট, আপনি লিনাক্স বিতরণে ঝাঁকুনি ব্যবহার করে সরাসরি সিএফলাইট তৈরি করতে পারেন) এবং সেখানে অবজেক্ট-সি পরিবেশ, মূলত ফাউন্ডেশন এবং অ্যাপকিটকে লিনাক্স বন্দর করার জন্য উন্মুক্ত উত্সাহী প্রচেষ্টা রয়েছে, বিশেষত জিএনইউস্টেপ, ওপেনস্টেপের একটি জিএনইউ বাস্তবায়ন, যা তারিখ অ্যাপল এর কোকো এর আগে (যখন তখনও NeXT কম্পিউটার সংস্থা ছিল off
যদি কেউ নির্ধারিত হয় তবে তারা এমন একটি লোডার ডিজাইন করতে পারে যা প্রতিটি মাচ-ও সিস্টোলকে ক্যাপচার করবে এবং এটি সংশ্লিষ্ট লিনাক্স সিস্টেলে অনুবাদ করবে, পাশাপাশি সেই ওপেন-সোর্স লাইব্রেরি "কাউন্টারস "গুলিকে বাইনারিটির সাথে উপযুক্ত এবিআই অনুবাদ করে গতিশীলভাবে সংযুক্ত করবে।
এবং কেবলমাত্র আপনার তথ্যের জন্য, আপনি যদি মাচ-ও অ্যাপ্লিকেশনটির উত্স কোডটি পেতে পারেন তবে আপনি এটি পোর্ট বিবেচনা করতে পারেন এবং এটি খুব সহজ হতে পারে। উদাহরণস্বরূপ, ওএস এক্স 10.6 এর সাথে বান্ডেলযুক্ত টেক্সটএডিট অ্যাপটি কয়েকটি লাইন (অ-সমালোচক) সিএফ কোড সরিয়ে নেওয়ার পরে সরাসরি জিনুস্টেপের সাথে সংযোগ স্থাপনের পুনরায় সংমিশ্রণ করা যেতে পারে এবং লিনাক্সের অধীনে তাৎক্ষণিকভাবে উপলব্ধ (জিএন ইউস্টেপের সাথে পাঠানো টেক্সটএডিটটির উল্লেখ না করা আসলেই ছিল NeXTSTEP থেকে টেক্সটএডিট অ্যাপ্লিকেশনটির সরাসরি পুনরায় সংকলন করুন, এটি ওএস এক্সের পূর্বসূরী, এমনকি এর "© 1995 NeXT" লেবেলটি ধরে রাখবে)। টেক্সটএডিট বিএসডি লাইসেন্সের অধীনে।
8 ই ডিসেম্বর ২০১২ এ নতুন প্রকল্প চালু করা হয়েছে - ডার্লিং।