কম্পিউটার আধুনিক ৬৪-বিট আর্কিটেকচার ব্যবহার শুরু করলে ব্যবহারকারীরা দ্রুত বুঝতে পারলো যে পুরনো ১৬-বিট অ্যাপ্লিকেশন চালানো কাজ করবে না। কেন ৬৪-বিট মেশিন ১৬-বিট অ্যাপ চালাতে পারে না?
এই প্রশ্নের উত্তর বিভ্রান্তিকর হতে পারে, আপনি কার থেকে জিজ্ঞেস করছেন তার ওপর নির্ভর করে। এক तरफে, এটি আসলে ইনপসিবল নয় ১৬-বিট অ্যাপ চালানো। শুধু কঠিন। দ্বিতীয় দিকে, এই কঠিনতার কারণ থাকে CPU আর্কিটেকচার এবং অপারেটিং সিস্টেম—দুটোই।
বিভ্রান্ত হলেন? চিন্তা করবেন না, আপনি একলστο নন। কিন্তু এই আর্টিকেলের শেষে পৌঁছালে আপনি আর বিভ্রান্ত থাকবেন না।
CPU আর্কিটেকচারের ইতিহাস
জানি, আপনি যা সবচেয়ে কম পড়তে চান সেটি ইতিহাস পাঠ, ঠিক? চিন্তা নয়ন, এটি ছোট একটি। এছাড়া ৬৪-বিট সিস্টেম কেন ১৬-বিট অ্যাপ নেটিভলি চালাতে পারে না সেটি বুঝতে এটি ক্রিটিক্যাল।
যদি আপনি ৮০ এবং ৯০-এর দশকে বसर করেছেন, তবে আপনি সম্ভবত সে পুরনো ১৬-বিট ডাইনোসরগুলো মনে করছেন যা সময়ে সবাই ব্লিডিং-এজ টেকনোলজি বলে বিশ্বাস করত।
সেটি সময়ে ছিল। সেই পুরনো মেশিনগুলো Intel 8086 প্রসেসর চালাত ১৯৭৮ সালে। প্রসেসরটি ১৬-বিট অ্যাড্রেসিং ব্যবহার করে ১Mb অ্যাড্রেস স্পেস এক্সেস করতে পারত। এর আগে মেশিনগুলো ৬৪ Kb মেমরি দিয়ে চলে, তাই এটি পার্সোনাল কম্পিউটিং-এ একটি নতুন যুগের শুরু ছিল।
এই মোডে (যাকে Real mode বলা হয়), একটি অংশ RAM-এর জন্য রিজার্ভড ছিল, এবং বাকি BIOS এবং কম্পিউটার হার্ডওয়্যার যেমন গ্রাফিক্স কার্ড ব্যবহার করত।
কয়েক সময় পর CPU আর্কিটেকচারে আরও অগ্রগতি হয় 80286 প্রসেসর দিয়ে, যা ১৬-বিট অ্যাড্রেসিং দিয়ে ১৬Mb অ্যাড্রেস করতে পারত। 286 আর্কিটেকচারের সাথে এল "Protected mode," যাতে শুধু বেশি মেমরি অ্যাড্রেসিং নয়, মাল্টিটাস্কিংও সম্ভব হয়। পুরনো ১৬-বিট অ্যাপ্লিকেশন "real mode"-এ চালানো সবসময় সহজ নয়, কিন্তু সম্ভব ছিল।
১৬-বিটের শেষ, একটু...
১৯৮৫ সালে Intel তার পরবর্তী প্রজেনারেশন প্রসেসর আনল: Intel 386। এটি Intel-এর প্রথম CPU যেটি ৩২-বিট ব্যবহার করে মেমরি অ্যাড্রেস করতে পারত, এবং ৪ Gb অ্যাড্রেসযোগ্য মেমরি এক্সেস করতে পারত। সময়ে কম্পিউটার ব্যবহারকারীদের মনে এটি বড় ব্রেকথ্রু মনে হয়েছিল। PC গেমিং তার হেডেয়ে প্রবেশ করছিল।
৩২-বিট আর্কিটেকচারের আসার সাথে এল Protective mode-এর এক্সটেন্ডেড ভার্সন যা শুধু বেশি মেমরি এক্সেসই নয়, সফটওয়্যার সিস্টেমকে ফ্ল্যাগ করতে দেয় তা ১৬-বিট কোড নাকি ৩২-বিট। এটি সম্ভব হয়েছে Virtual 86 mode দিয়ে, যা বেসিক্যালি একটি বিল্ট-ইন ভার্চুয়ালাইজড 8086 সিস্টেম।
আপনি দেখতে পাচ্ছেন, CPU আর্কিটেকচারের একটি إيفোলিউশন থেকে অন্যটিতে, হার্ডওয়্যার (CPU প্রোগ্রামিং) এবং সফটওয়্যার (অপারেটিং সিস্টেম এবং অ্যাপ্লিকেশন) দুটোই সব পুরনো সফটওয়্যার যারা এখনও চালাতে চান তাদের জন্য ব্যাকওয়ার্ড কম্প্যাটিবিলিটি মেইনটেইন করত। যেনে পড়েছে, বেসিক্যালি একটি বিল্ট-ইন ভার্চুয়ালাইজড 8086 সিস্টেম।
যে কারনে, এক ইভোলিউশন থেকে অন্য ইভোলিউশনে, হার্ডওয়্যার (CPU প্রোগ্রামিং) এবং সফটওয়্যার (অপারেটিং সিস্টেম এবং অ্যাপ্লিকেশন) দুটোই সব পুরনো সফটওয়্যার যারা এখনও চালাতে চান তাদের জন্য ব্যাকওয়ার্ড কম্প্যাটিবিলিটি মেইনটেইন করত। ইন্ডিভিজুয়াল কম্পিউটার ব্যবহারকারীদের জন্য এটি উপকারী ছিল, কিন্তু অনেক কর্পোরেশন এবং ছোট বিজনেসের জন্য লেগেসি সিস্টেমের জন্য এটি ক্রিটিক্যাল ছিল।
৬৪-বিট আর্কিটেকচার সব বিড়াল দিয়েছে
৪GB অ্যাড্রেসেবল মেমরির লিমিট ৩২-বিট সিস্টেমের জন্য অনেক বছর ক্রচ ছিল। তবে ৬৪-বিট প্রসেসরের আবিষ্কারের সাথে আরেকটি ব্রেকথ্রু এল। এই সিস্টেমগুলো একটি নতুন মোড (যাকে Long mode বলা হয়) অন্তর্ভুক্ত করলো যা ১৬ মিলিয়ন টেরাবাইট মেমরি পর্যন্ত অ্যাড্রেস করতে পারত। কম্পিউটার অ্যাপ্লিকেশনের জন্য এটি লিমিটিং ফ্যাক্টর बनতে অনেক দিন লাগবে।
তবে এইjenord অগ্রগতির সাথে এসেছে একটি উল্লেখযোগ্য ট্রেডঅফ। যখন ব্যবহারকারীরা ১৬-বিট অ্যাপ্লিকেশন চালানোর চেষ্টা করল যা চিরকাল সাপোর্টেড "real mode" বা "virtual 8086 mode" দরকার, তারা একটি এরর মেসেজ পেল: "Program.exe is not a valid Win32 application."
এটি হতাশাজনক, কিন্তু এটা duniaর শেষ নয়। ব্যবহারকারীরা এমুলেটর বা ৩২-বিট আর্কিটেকচার এবং লেগেসি ১৬-বিট অ্যাপ্লিকেশন সাপোর্টকারী অপারেটিং সিস্টেম সহ ভার্চুয়াল মেশিন ইনস্টল করে ব্যবহার করতে পারত।
তাই যদিও ৬৪-বিট সিস্টেমের জন্য ১৬-বিট MS-DOS অ্যাপ্লিকেশন চালানো "ইনপসিবল", কিন্তু ব্যবহারকারীদের জন্য এটি ইনপসিবল নয় ওয়ার্কআরাউন্ড ব্যবহার করে। কিন্তু কেন এটি হলো?
৬৪-বিট আর্কিটেকচার NTVDM সরিয়ে দিয়েছে
বছরাবছর ৩২-বিট প্রসেসরের প্রতিটি জেনারেশনে, অপারেটিং সিস্টেমের জন্য অনেক esfuerি করা হয়েছিল পুরনো ১৬-বিট DOS অ্যাপ্লিকেশন হ্যান্ডেল করার জন্য। এটি সম্পন্ন হতো NTVDM, বা NT Virtual DOS Machine দিয়ে।
এই ৩২-বিট অ্যাপ্লিকেশন উইন্ডোজ অপারেটিং সিস্টেমে রান করত এবং ৪৮৬ আর্কিটেকচার সিমুলেট করত যা ১৬-বিট অ্যাড্রেসিং ভার্চুয়াল 8086 ব্যবহার করে হ্যান্ডেল করতে পারত। দুর্ভাগ্যবশত, "long-mode" অ্যাড্রেসিং এটিকে সফলভাবে অকমোডেট করতে পারত না। বরং এটিকে সমর্থন করার জন্য একটি পূর্ণ 8086 প্রসেসর এমুলেট করতে হতো শুধু DOS অ্যাপ্লিকেশন সাপোর্ট করার জন্য।
মাইক্রোসফ্ট স্পষ্টভাবে এই প্রচেষ্টা ত্যাগ করার সিদ্ধান্ত নিল তার প্রথম ৬৪-বিট অপারেটিং সিস্টেম প্রম্পট রিলিজ সমর্থন করার জন্য। তার সাপোর্ট পেজে মাইক্রোসফ্ট স্পষ্টভাবে বলে "16-bit MS-DOS and Microsoft Windows 3.x utilities will not start."
কোনো ক্ষমা প্রার্থনা নেই। এটি সিম্পলি সাপোর্টেড নয়।
বাজারে ভার্চুয়ালাইজেশন প্রোডাক্টের প্রাচুর্য যাচ্ছে যারা যেন কি সেটি সম্পন্ন করতে পারে, মাইক্রোসফ্ট স্পষ্টভাবে অনুভব করলো চাকা পুনরায় আবিষ্কার করা তার সর্বোত্তম স্বার্থে নয়।
৬৪-বিট সিস্টেমে ১৬-বিট অ্যাপ্লিকেশন চালানোর পদ্ধতি
শুধু ৬৪-বিট উইন্ডোজ সিস্টেমে ১৬-বিট DOS অ্যাপ্লিকেশন চালানো নেটিভলি সাপোর্টেড নয় বলে সেটি ইনপসিবল নয়। আপনাকে শুধু কিছু এক্সট্রা টুল ইনস্টল করে সেট আপ করতে হবে।
আপনি যদি ক্লাসিক DOS গেমের ф্যান হন বা অন্য কোনো রেট্রো অ্যাপ্লিকেশন ব্যবহার করেন কম্পিউটিং-এর সুবর্ণ দিনগুলোর থেকে, তবে অপশন আছে। আপনার নতুন উইন্ডোজ মেশিনে সেগুলো চালানোর চারটি উপায় এখানে দেওয়া হলো।
১. DOSBox-এ রেট্রো গেম খেলুন
পুরনো DOS অ্যাপ পিসিতে চালানোর সবচেয়ে সহজ উপায় হলো এমুলেটর ব্যবহার। 그중 সবচেয়ে জনপ্রিয় DOSBox।
Christian বিস্তারিত করেছেন DOSBox ইনস্টল ও কনফিগার করার পদ্ধতি পুরনো রেট্রো গেম উইন্ডোজ মেশিনে চালানোর জন্য।
এটির চমৎকার দিক হলো অধিকাংশ এই গেমগুলো এত পুরনো যে সেগুলো abandonware মনে করা হয়, তাই আপনি قانونیভাবে ফ্রি ডাউনলোড করে খেলতে পারেন।
২. VirtualBox-এ অ্যাপ চালান
যেহেতু Windows XP এবং Windows 7-এর মত অপারেটিং সিস্টেম ১৬-বিট অ্যাপ্লিকেশন নেটিভলি চালাতে পারত, আপনি একই অ্যাপ্লিকেশনগুলো আপনার ৬৪-বিট সিস্টেমে চালাতে পারেন সেগুলোর একটি ভার্চুয়াল মেশিন বানিয়ে।
এই উদ্দেশ্যে সবচেয়ে পরিচিত এবং সেট আপ করা সহজ অ্যাপ্লিকেশন VirtualBox। আমাদের VirtualBox সেট আপ এবং ব্যবহার করার সম্পূর্ণ গাইড আছে, তাই আপনি এখনই এই পদ্ধতি শুরু করতে পারেন।
শুধু সঠিক অপারেটিং সিস্টেম বেছে নিন। Windows 7 বা তার পুরনো ভার্সনে থাকুন, এবং আপনার ভার্চুয়াল সিস্টেমে পুরনো DOS অ্যাপ ডাউনলোড ও ইনস্টল করুন নো টাইমে।
৩. Linux ব্যবহার করুন
Linux সম্পর্কে যা মনে হোক, অধিকাংশ Linux ডিস্ট্রোর একটি জিনিস সঠিক: ১৬-বিট অ্যাপ্লিকেশন সাপোর্ট। PAE কernel সহ ডিস্ট্রোতে, আপনি ৩২-বিট সিস্টেমের ৪GB লিমিটে বাধ্য নন, তাই আপনার সিস্টেমে ডুয়াল-বুট হিসেবে একটি প্রপার Linux ডিস্ট্রো রান করাও একটি অপশন।
এটি করার দুটি উপায়: ডুয়াল-বুট সমাধান বা ভার্চুয়াল মেশিন। অথবা আপনি পুরোপুরি Windows ছাড়িয়ে Linux-এ চলে যেতে পারেন। যা আপনার জন্য কাজ করে।
৪. এমুলেটর ব্যবহার করুন
DOSBox একমাত্র এমুলেটর নয় পুরনো DOS অ্যাপ চালানোর জন্য। অনেক দারুণ এমুলেটর আছে যা একইভাবে কাজ করে। এটি বিশেষত গেমারদের জন্য সত্য।
Christian কভার করেছেন Commodore Amiga, Raspberry Pi, Android, এবং এমনকি ক্লাসিক SNES এমুলেট করা যেকোনো PC-এ।
এটি শুধু আইসবার্গের টিপ। অনলাইন সার্চ করলে বিভিন্ন এমুলেটরের পুরো লাইব্রেরি পাবেন যেগুলো আপনাকে প্রায় যেকোনো রেট্রো অ্যাপ চালাতে দেবে। মাইক্রোসফ্ট পুরনো ১৬-বিট অ্যাপ্লিকেশন থেকে হাত তোলা হলেও, আপনার অপশন বাকি আছে।
১৬-বিট এখনও ছাড়ুন না
আপনার কোনো কারণ নেই যেন আপনি ভাববেন ৬৪-বিট মেশিনে ১৬-বিট অ্যাপ্লিকেশন চালানো ইনপসিবল। নেটিভলি ইনপসিবল হতে পারে, কিন্তু আপনি দেখতে পাচ্ছেন কাজ সম্পন্ন করার জন্য অনেক সমাধান আছে।