এলএলভিএম নিম্ন স্তরের কোন উপায়ে (গুলি)?


12

এলএলভিএম (নিম্ন স্তরের ভার্চুয়াল মেশিন) নিম্ন স্তরের কোন উপায়ে (গুলি) ? (লেখার সময়, আমি এটির সংক্ষিপ্ত বিবরণ "এলএলভিএম" এর ওয়েবসাইটে খুঁজে পাইনি, তবে উইকিপিডিয়ায় পেয়েছি ))

এটি কি (লোকে লেভেল) বলা হয় যার জন্য এটি (একটি সংকলক অবকাঠামো) ডিজাইন করা হয়েছে বা এটি অন্যান্য সরঞ্জামের তুলনায় "নিম্ন স্তরের" কাজ করছে?

একটি (ধরনের) এই এর "চিত্রণ" হিসাবে, LLVM কম-স্তর জেভিএম এবং CLR , অথবা এটা শুধুমাত্র পরিকল্পিত "নিম্ন স্তরের" ব্যবহার জন্য?

উত্তর:


16

এলভিভিএম জেভিএম এবং সিএলআরের মতো আদর্শ ভিএমগুলির তুলনায় নিম্ন স্তরের। উদাহরণস্বরূপ, এতে কোনও আবর্জনা সংগ্রাহকের জন্য কুকি রয়েছে, তবে এটি কোনও আবর্জনা সংগ্রহকারীকেই সরবরাহ করে না।

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

যখন জেভিএম একটি অমীমাংসিত বাহ্যিকের মুখোমুখি হয়, এটি বাইরে যায় এবং এটি সন্তুষ্ট করার জন্য সঠিক শ্রেণীর সন্ধান করে এবং সরাসরি ফাইল সিস্টেম এবং .jar ফাইল 1 এ .class ফাইলগুলি কীভাবে সন্ধান করতে হয় তা জানে । এলএলভিএমের জেআইটি সংকলকগুলির মধ্যে এমন কুকি রয়েছে যেখানে আপনি কীভাবে এই জাতীয় জিনিসগুলি পরিচালনা করা যায় তা সিদ্ধান্ত নিতে পারেন। আপনি আশা করতে চাই যে, কিছু লোক কিছু ডিফল্ট সংস্করণ লিখেছি, তাই এটি করতে জেভিএম হিসাবে একই আদেশ মোটামুটিভাবে জিনিস করতে পারেন - কিন্তু আপনি সেই উপেক্ষা করুন এবং ভিন্ন কিছু আপনি পছন্দ করতে পারো।

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


1 প্রযুক্তিগতভাবে, এগুলি সবগুলি জেভিএম যথাযথভাবে নির্মিত হয় না। এটি জেভিএম যথাযথ অংশ হিসাবে আদিম শ্রেণীর লোডার নামে পরিচিত বলে উল্লেখ করে এবং তারপরে java.util.ClassLoader এ ব্যবহারকারী শ্রেণীর লোডারগুলি নির্দিষ্ট করা থাকে যা অন্যান্য জিনিসগুলি পরিচালনা করে। কিছু শ্রেণি লোডার ডিফল্টরূপে অন্তর্ভুক্ত থাকে এবং আপনি যদি খুব খারাপভাবে চান তবে আপনি নিজের সংজ্ঞা দিয়ে তাদের পরিপূরক করতে পারেন।


12

এটি নিম্ন স্তরের কারণ এটি এতগুলি বিদ্যমান বা ভবিষ্যতের ভার্চুয়াল মেশিনগুলি (জেভিএম) এটিকে তাদের প্রয়োগের মূল হিসাবে ব্যবহার করতে পারে designed

এটি এইভাবে দেখুন: জাভা এবং পাইথনের ভার্চুয়াল মেশিনগুলি খুব বহনযোগ্য কারণ সেগুলি স্ট্যান্ডার্ড সিতে লেখা হয় এবং তাদের নিজস্ব লাইব্রেরিতে অনেক বেশি নির্ভর করে। এলএলভিএমের উদ্দেশ্যটি একটি অবকাঠামো সরবরাহ করা যাতে কোনও ভার্চুয়াল মেশিনকে ইতিমধ্যে এলএলভিএম সমর্থন করে এমন একটি প্ল্যাটফর্মে পোর্ট করা সহজ হয়।

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

তারপরে এলএলভিএম নিম্ন স্তরের হওয়ায় বিভিন্ন ওএস এবং হার্ডওয়্যার আর্কিটেকচারে পোর্ট করা সহজ হওয়া উচিত।

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


5

এলএলভিএম নামের "নিম্ন স্তরের" অংশটি ভার্চুয়াল নির্দেশের ব্যবহৃত স্তরটির স্তরকে বোঝায়। মধ্যবর্তী ভাষা (আইআর) যা এলএলভিএম ব্যবহার করে তা মেশিন কোডের স্তরের খুব কাছাকাছি যদিও এটি আর্কিটেকচার অজোনস্টিক এবং সাধারণ।

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


3

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

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