পাইথন ভার্চুয়াল মেশিন ও ফ্রোজেন বিনারীজ কি

What is Python Virtual Machine and Frozen Binaries

{tocify} $title={Table of Contents}

তুমি কি জানো কম্পিউটার শুধু মাত্র মেসিন কোড কে বোঝে অন্য কোনো কিছুই বোঝেনা সেই মেসিন কোড হলো 1 এবং 0 কোনো পোগ্রাম কে যদি মেসিন কোডে রূপান্তর কোরতে চাই তা হলে ওই প্রোগ্রাম কে কম্পিউটার দিতে হবে এবং কম্পিউটারে অবশ্যই কম্পাইলার ইনস্টল করা থাকতে হবে। কম্পাইলার হল যেকোনো কোড কে কনভার্ট করে মেশিন কোডে রূপান্তর করে পাইথন কম্পাইলার একই কাজ করে কিন্তু অন্য পদ্ধতিতে। এটি সোর্সকোড কে অন্য কোন কোডে পরিবর্তন করে থাকে তাকে বাইট কোড বলে। 

 বাইট কোড কি

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

ফ্রোজেন বিনারীজ

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