জিটার আনুষ্ঠানিকভাবে GNU প্রকল্পের অংশ হয়ে ওঠে

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

যারা জিটার (Jitter) সম্পর্কে জানেন না, তাদের জন্য বলছি, এটি এমন একটি ইমপ্লিমেন্টেশন যা দিয়ে যেকোনো প্রোগ্রামিং ভাষার ডিজাইনের জন্য পোর্টেবল ও অত্যন্ত দ্রুতগতির ভার্চুয়াল মেশিন তৈরি করা যায় , যার কোড এক্সিকিউশন পারফরম্যান্স ইন্টারপ্রেটারের চেয়ে উল্লেখযোগ্যভাবে উন্নত এবং নেটিভ কম্পাইলড কোডের কাছাকাছি।

জিটার অত্যন্ত বহনযোগ্য এবং একটি সঠিক ভিএম যেকোন প্ল্যাটফর্মে ঠিক একই আচরণ প্রদর্শন করবে যেখানে শুধুমাত্র একটি কম্পাইলার এবং একটি স্ট্যান্ডার্ড সি লাইব্রেরি রয়েছে; যাইহোক, GCC সহ ELF সিস্টেমে সমর্থিত আর্কিটেকচার (বর্তমানে: M68k, MIPS, PowerPC, RISC-V, SPARC, x86_64; ২য় স্তর: Aarch64, Alpha, ARM, S390x) ব্যবহার করে কর্মক্ষমতা আরও ভাল হবে। অবশ্যই, জিটার হল GNU প্রকল্পের অংশ এবং প্রাথমিকভাবে GNU সিস্টেমে ব্যবহারের জন্য ডিজাইন করা হয়েছে।

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

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

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

ফলস্বরূপ ভার্চুয়াল মেশিনটি অল্প কিছু অ্যাসেম্বলার ইনসার্ট সহ C-তে ফরম্যাট করা হয়। বিভিন্ন অপটিমাইজেশন সক্রিয় করতে এবং শিপিং মেকানিজম নির্বাচন করার জন্য কনফিগারেশন সরবরাহ করা হয়, যা একটি ভার্চুয়াল মেশিনকে বিভিন্ন প্ল্যাটফর্মে মাইগ্রেট করা সহজ করে তোলে।

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

উত্পন্ন কোডে একটি ভার্চুয়াল মেশিনে কোডকে গতিশীলভাবে প্রতিস্থাপন এবং কার্যকর করার জন্য একটি সাধারণ C API, সেইসাথে একটি ভার্চুয়াল মেশিনে টেক্সট ফাইল থেকে আলাদাভাবে কোড চালানোর জন্য একটি কন্ট্রোলার প্রোগ্রাম রয়েছে।

জেনারেট করা সি কোডটি ভারীভাবে কন্ডিশনযুক্ত এবং বিভিন্ন পরিশীলিততার বিভিন্ন বিতরণ কৌশল ব্যবহার করে চালানোর জন্য কনফিগার করা যেতে পারে; সবচেয়ে দক্ষ প্রেরণ কৌশলগুলি কিছু স্থাপত্য-নির্দিষ্টের উপর নির্ভর করে, কিন্তু ভিএম-নির্দিষ্ট নয়, জিটার দ্বারা প্রদত্ত সমাবেশ সমর্থন; সমস্ত প্রেরণ মডেল, কিন্তু একটি GNU C এক্সটেনশনের উপর ভিত্তি করে।

অবশেষে, যারা আরও জানতে আগ্রহী, তাদের জন্য মূল জিটার কোডটি C ভাষায় লেখা এবং এটি GPLv3 লাইসেন্সের অধীনে উপলব্ধ। আপনি নিম্নলিখিত লিঙ্কে আরও বিস্তারিত জানতে পারবেন

কিভাবে জিটার পেতে?

যারা জিটার পরীক্ষা করতে আগ্রহী তাদের জন্য, তারা একটি টার্মিনাল খুলে এবং এতে নিম্নলিখিত কমান্ডটি টাইপ করে সোর্স কোড পেতে পারেন:

git clone http://git.ageinghacker.net/jitter

একবার এটি হয়ে গেলে, এখন আমরা যে ফোল্ডারটিতে কোডটি আছে সেখানে প্রবেশ করতে এগিয়ে যাই, আমরা স্টার্টআপ স্ক্রিপ্টটি কার্যকর করতে যাচ্ছি যা একটি কনফিগারেশন স্ক্রিপ্ট সহ জিটার কনফিগার এবং বিল্ড করার জন্য প্রয়োজনীয় ফাইল তৈরি করতে ব্যবহৃত হয়। আমরা এর সাথে এটি করি:

cd jitter && ./bootstrap

এটা উল্লেখযোগ্য যে জিটার কনফিগারেশন এবং নির্মাণের জন্য GNU কনভেনশন অনুসরণ করে এবং উত্স ডিরেক্টরি থেকে নির্মাণ সমর্থন করে; প্রকৃতপক্ষে, এটি ক্রস-কম্পাইলেশন সমর্থন করে এবং এমনকি একটি এমুলেটরের মাধ্যমে ক্রস-কম্পাইলেশনে টেস্ট স্যুট চালাতে পারে।

./configure && make

অবশেষে, কার্যকর করতে, শুধু টাইপ করুন:

make check


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