INT 13H
আইএনটি 13এইচ হল বায়োস ইন্টারাপ্ট কল 13হেক্স-এর সংক্ষিপ্ত রূপ, যা একটি x86-ভিত্তিক (আইবিএম পিসি-বংশোদ্ভূত) কম্পিউটার সিস্টেমের 20তম ইন্টারাপ্ট ভেক্টর। বিআইওএস সাধারণত এই ভেক্টরে একটি রিয়েল মোড ইন্টারাপ্ট হ্যান্ডলার স্থাপন করে যা সিলিন্ডার-হেড-সেক্টর (সিএইচএস) অ্যাড্রেসিং ব্যবহার করে সেক্টর-ভিত্তিক হার্ড ডিস্ক এবং ফ্লপি ডিস্ক পড়া এবং লেখার পরিষেবা প্রদান করে। আধুনিক পিসি বিআইওএস-এ 1992 সালে আইবিএম এবং মাইক্রোসফ্ট দ্বারা উদ্ভূত আইএনটি 13এইচ এক্সটেনশন ফাংশনও অন্তর্ভুক্ত রয়েছে, যা 64-বিট এলবিএ অ্যাড্রেসিং ব্যবহার করে একই ডিস্ক অ্যাক্সেস পরিষেবা সরবরাহ করে; ছোটখাটো সংযোজন সহ, এগুলি ফিনিক্স টেকনোলজিস এবং অন্যান্যদের দ্বারা ইডিডি (এনহ্যান্সড ডিস্ক ড্রাইভ) বিআইওএস এক্সটেনশন হিসাবে আধা-মানক করা হয়েছিল। আই. এন. টি হল একটি x86 নির্দেশ যা একটি সফ্টওয়্যার ইন্টারাপ্টকে ট্রিগার করে এবং 13হেক্স হল ইন্টারাপ্ট নম্বর (হেক্সাডেসিমাল মান হিসাবে) যাকে বলা হয়। আধুনিক কম্পিউটারগুলি বায়োস আইএনটি 13এইচ এবং ইউইএফআই উভয় কার্যকারিতার সাথে আসে যা একই পরিষেবা এবং আরও অনেক কিছু সরবরাহ করে, ইউইএফআই ক্লাস 3 ব্যতীত যা সিএসএমকে সম্পূর্ণরূপে সরিয়ে দেয় তাই আইএনটি 13এইচ এবং অন্যান্য বাধা নেই। সাধারণত, ইউইএফআই ড্রাইভাররা সিএইচএস-ঠিকানার পরিবর্তে এলবিএ-ঠিকানা ব্যবহার করে। বাস্তব মোড অপারেটিং সিস্টেমের অধীনে, যেমন ডস, আইএনটি 13এইচ কল করা নিম্ন-স্তরের ডিস্ক পরিষেবাগুলির জন্য কম্পিউটারের রম-বিআইওএস কোডে ঝাঁপিয়ে পড়বে, যা প্রোগ্রামের জন্য শারীরিক ক্ষেত্র-ভিত্তিক ডিস্ক পড়া বা লেখার ক্রিয়াকলাপ পরিচালনা করবে। ডস-এ, এটি হার্ড ডিস্ক এবং ফ্লপি ডিস্কের জন্য অন্তর্নির্মিত ব্লক ডিভাইস ড্রাইভারের জন্য নিম্ন-স্তরের ইন্টারফেস হিসাবে কাজ করে। এটি আই. এন. টি 25 এইচ এবং আই. এন. টি 26 এইচ-কে ডস কার্নেলে এফ. এ. টি ফাইল সিস্টেম ড্রাইভারকে লজিক্যাল সেক্টরের জন্য পরম ডিস্ক রিড/রাইট ফাংশন সরবরাহ করার অনুমতি দেয়, যা ডস এপিআই (আই. এন. টি 21 এইচ) ফাংশনের মাধ্যমে ফাইল-সম্পর্কিত অনুরোধগুলি পরিচালনা করে। সুরক্ষিত মোড অপারেটিং সিস্টেমের অধীনে, যেমন মাইক্রোসফ্ট উইন্ডোজ এনটি ডেরিভেটিভস (যেমন। এন. টি. 4,2000, এক্স. পি, এবং সার্ভার 2003) এবং ডোসেমু সহ লিনাক্স, ওএস কলটিকে বাধা দেয় এবং এটি অপারেটিং সিস্টেমের নেটিভ ডিস্ক আই/ও পদ্ধতিতে প্রেরণ করে। 32-বিট ডিস্ক অ্যাক্সেস ব্যবহার করার সময় উইন্ডোজ 9এক্স এবং উইন্ডোজ ফর ওয়ার্কগ্রুপস 3.11-ও বায়োস রুটিনকে বাইপাস করে। নিম্ন-স্তরের ডিস্ক অ্যাক্সেস সম্পাদন করার পাশাপাশি, আইএনটি 13এইচ কল এবং সম্পর্কিত বিআইওএস ডেটা স্ট্রাকচারগুলি সিস্টেমের সাথে সংযুক্ত ডিস্কগুলির (বা অন্যান্য ডিএএসডি ডিভাইস) প্রকার এবং ক্ষমতা সম্পর্কে তথ্যও সরবরাহ করে; যখন একটি সুরক্ষিত-মোড ওএস বুট হয়, তখন এটি বিআইওএস থেকে সেই তথ্যটি ডিস্ক হার্ডওয়্যার গণনা করতে ব্যবহার করতে পারে যাতে এটি (ওএস) উপযুক্ত ডিস্ক আই/ও ড্রাইভারগুলি লোড এবং কনফিগার করতে পারে। আসল বিআইওএস রিয়েল-মোড আইএনটি 13এইচ ইন্টারফেসটি প্রায় 8 জিবি পর্যন্ত আকারের ড্রাইভগুলিকে সমর্থন করে যা সাধারণত শারীরিক সিএইচএস অ্যাড্রেসিং হিসাবে উল্লেখ করা হয়। এই সীমাটি আইবিএম পিসি/এক্সটি ডিস্ক হার্ডওয়্যারের হার্ডওয়্যার ইন্টারফেস থেকে উদ্ভূত হয়েছে। বিআইওএস আইএনটি 13এইচ কল-এ প্রদত্ত সিলিন্ডার-হেড-সেক্টর (সিএইচএস) ঠিকানা ব্যবহার করে এবং এটি সরাসরি হার্ডওয়্যার ইন্টারফেসে স্থানান্তরিত করে। একটি কম সীমা, প্রায় 504 এমবি, বিআইওএস দ্বারা ব্যবহৃত সিএইচএস অ্যাড্রেসিং সীমা এবং এটিএ হার্ড ডিস্ক দ্বারা ব্যবহৃত সীমাবদ্ধতার সংমিশ্রণ দ্বারা আরোপ করা হয়েছিল, যা ভিন্ন। যখন বিআইওএস এবং এটিএ উভয়ের সিএইচএস অ্যাড্রেসিং সীমা একত্রিত করা হয় (অর্থাৎ। যখন এগুলি একযোগে প্রয়োগ করা হয়), তখন 512-বাইট সেক্টরের সংখ্যা যা সমাধান করা যেতে পারে তা মোট প্রায় 504 এমবি প্রতিনিধিত্ব করে। সিএইচএস অনুবাদ ব্যবহার করে 504 এমবি সীমা অতিক্রম করা হয়েছিল, একটি কৌশল যার মাধ্যমে বিআইওএস তার স্থানীয় লজিক্যাল সিএইচএস জ্যামিতি ব্যবহার করে এটিএ ড্রাইভের সাথে যোগাযোগ করার সময় আইএনটি 13এইচ ইন্টারফেসে একটি কাল্পনিক সিএইচএস জ্যামিতি অনুকরণ করবে। (504 এমবি প্রতিবন্ধকটির কাছে যাওয়ার সময়, এটিএ ডিস্কগুলি অনেক আগেই বাহ্যিক এটিএ ইন্টারফেসে তাদের প্রকৃত ভৌত জ্যামিতি পরামিতিগুলি উপস্থাপন করা বন্ধ করে দিয়েছিল।) অনুবাদটি বি. আই. ও. এস-কে, এখনও সি. এইচ. এস অ্যাড্রেসিং ব্যবহার করে, কার্যকরভাবে 8064 এম. বি পর্যন্ত আকারের এ. টি. এ ডিস্কগুলিকে সম্বোধন করার অনুমতি দেয়, যা শুধুমাত্র বি. আই. ও. এস সি. এইচ. এস ইন্টারফেসের স্থানীয় ক্ষমতা। (এ. টি. এ ইন্টারফেসের অনেক বড় নেটিভ সি. এইচ. এস অ্যাড্রেসিং ক্ষমতা রয়েছে, তাই একবার বি. আই. ও. এস এবং এ. টি. এ-র সি. এইচ. এস সীমার "হস্তক্ষেপ" সমাধান করার পরে, বি. আই. ও. এস-এর শুধুমাত্র ছোট সীমাবদ্ধতা উল্লেখযোগ্য ছিল।) সিএইচএস অনুবাদকে কখনও কখনও যৌক্তিক সিএইচএস অ্যাড্রেসিং হিসাবে উল্লেখ করা হয়, তবে এটি আসলে একটি ভুল নাম কারণ এই বিআইওএস বিকাশের সময়, এটিএ সিএইচএস অ্যাড্রেসগুলি ইতিমধ্যে যৌক্তিক ছিল, শারীরিক ছিল না। 8064 এমবি সীমাটি আইএনটি 13এইচ ইন্টারফেসে ব্যবহৃত রেজিস্টার মান ভিত্তিক কলিং কনভেনশন এবং পশ্চাৎ সামঞ্জস্য বজায় রাখার লক্ষ্যের সংমিশ্রণ থেকে উদ্ভূত হয়-নির্দেশ করে যে আইএনটি 13এইচ-এ পাস করা সিএইচএস ঠিকানাগুলির বিন্যাস বা আকার কোনও একটি ক্ষেত্রে আরও বিট যুক্ত করার জন্য পরিবর্তন করা যাবে না, যেমন। সিলিন্ডার-নম্বর ক্ষেত্র। এই সীমাটি 1024 সিলিন্ডার, 256 হেড, 63 সেক্টর এবং 512 বাইট ব্লক ব্যবহার করে, যা ঠিক 7.875 জিআইবি অ্যাড্রেসিং (102425663) এর অনুমতি দেয়। সংক্ষেপে বেশ কয়েকটি বায়োস ছিল যা এই ইন্টারফেসের অসঙ্গতিপূর্ণ সংস্করণের প্রস্তাব দিয়েছিল-উদাহরণস্বরূপ, বায়োস-এ পুরস্কার এবং এএমআই 386এসএক্স বায়োস-কে 4096 সিলিন্ডার পর্যন্ত পরিচালনা করার জন্য সিলিন্ডার নম্বরের 10 এবং 11 বিটকে রেজিস্টার ডিএইচ-এর 6 এবং 7 বিটের মধ্যে স্থাপন করা হয়েছে। এমএস-ডসের সমস্ত সংস্করণে (এমএস-ডস 7 এবং উইন্ডোজ 95 সহ) একটি বাগ রয়েছে যা 256 হেড সহ ডিস্ক ড্রাইভগুলি বুট করতে বাধা দেয় (রেজিস্টার মান 0xFF), তাই অনেক আধুনিক বায়োস সর্বাধিক 255 (0xFE) হেড সহ সিএইচএস অনুবাদ ম্যাপিং সরবরাহ করে, এইভাবে মোট অ্যাড্রেসেবল স্থানটি ঠিক 8032.5 এমআইবি (প্রায় 7.844 জিআইবি)-তে হ্রাস করে। আরও বড় ডিস্কের অ্যাড্রেসিং সমর্থন করার জন্য, আইবিএম এবং মাইক্রোসফ্ট দ্বারা আইএনটি 13এইচ এক্সটেনশন নামে পরিচিত একটি ইন্টারফেস চালু করা হয়েছিল, পরে ফিনিক্স টেকনোলজিস দ্বারা বিআইওএস এনহ্যান্সড ডিস্ক ড্রাইভ সার্ভিসেস (ইডিডি)-এর অংশ হিসাবে পুনরায় প্রকাশিত এবং সামান্য প্রসারিত হয়েছিল। এটি আই. এন. টি 13এইচ পরিষেবার মধ্যে নতুন ফাংশনগুলিকে সংজ্ঞায়িত করে, যার মধ্যে 40 ঘণ্টার বেশি ফাংশন নম্বর রয়েছে, যা 64-বিট লজিক্যাল ব্লক অ্যাড্রেসিং (এল. বি. এ) ব্যবহার করে, যা 8 জিবি পর্যন্ত অ্যাড্রেস করার অনুমতি দেয়। (একটি এটিএ ড্রাইভ 28-বিট বা 48-বিট এলবিএ সমর্থন করতে পারে যা 512-বিট সেক্টর/ব্লক আকার ধরে নিয়ে যথাক্রমে 128 জিবি বা 128 পিআইবি পর্যন্ত অনুমতি দেয়)। এটি একটি "প্যাকেট" ইন্টারফেস, কারণ এটি মূল আইএনটি 13এইচ ইন্টারফেসের রেজিস্টার ভিত্তিক কলিং কনভেনশনের পরিবর্তে তথ্যের একটি প্যাকেটের জন্য একটি পয়েন্টার ব্যবহার করে। এই প্যাকেটটি একটি খুব সহজ তথ্য কাঠামো যা একটি ইন্টারফেস সংস্করণ, তথ্যের আকার এবং এলবিএ ধারণ করে। সফ্টওয়্যার ব্যাকওয়ার্ড-সামঞ্জস্যের জন্য, বর্ধিত ফাংশনগুলি মূল সিএইচএস ফাংশনের পাশাপাশি প্রয়োগ করা হয় এবং উভয় সেট থেকে ফাংশনে কলগুলি একে অপরের সাথে মিশ্রিত করা যেতে পারে, এমনকি একই ড্রাইভের জন্য, এই সতর্কতার সাথে যে সিএইচএস ফাংশনগুলি ডিস্কের প্রথম 8064 এমবি অতিক্রম করতে পারে না। কিছু ক্যাশে ড্রাইভার অ্যাপ্লিকেশন থেকে সরাসরি আই. এন. টি 13এইচ জারি করে ডি. ও. এস বাইপাস করা হয়েছে তা সনাক্ত করার সময় তাদের বাফারগুলি ফ্লাশ করে দেয়। আই. এন. টি 13এইচ-এর মাধ্যমে পড়া একটি ডামি অজানা ক্যাশের জন্য ক্যাশ ফ্লাশিং বাধ্য করার বিভিন্ন পদ্ধতির মধ্যে একটি হিসাবে ব্যবহার করা যেতে পারে (যেমন। পুনরায় চালু করার আগে)। প্রায় 1990-1991 ট্র্যাশ শব্দ অসংলগ্ন বাফার থেকে এএমআই বায়োস। কিছু ডস এবং সমাপ্তি-এবং-থাকা-আবাসিক প্রোগ্রামগুলি সক্ষম এবং নিবন্ধনে বাধা দেয় যাতে পিসি ডস এবং এমএস-ডস এটি প্রতিরোধ করার জন্য তাদের নিজস্ব ফিল্টার ইনস্টল করে। পরিষেবার তালিকা যদি দ্বিতীয় কলামটি খালি থাকে তবে ফাংশনটি ফ্লপি এবং হার্ড ডিস্ক উভয়ের জন্যই ব্যবহার করা যেতে পারে। এফ. ডিঃ শুধুমাত্র ফ্লপি ডিস্কের জন্য। এইচডিঃ শুধুমাত্র হার্ড ডিস্কের জন্য। পিএস/2: শুধুমাত্র পিএস/2 সিস্টেমে হার্ড ডিস্কের জন্য। পরবর্তীঃ এক্সটেনশনের অংশ যা 1990-এর দশকে 8 জিবি-র বেশি হার্ড ড্রাইভ সমর্থন করার জন্য লেখা হয়েছিল। : ডিস্ক সিস্টেম রিসেট করুনঃ ফ্লপি ড্রাইভের জন্য লাস্ট ড্রাইভ অপারেশন বিট 7 = 0, ফিক্সড ড্রাইভের জন্য বিট 7 = 1 এর অবস্থা পানঃ ড্রাইভ রিমার্কস রেজিস্টার থেকে সেক্টর পড়ুন সিএক্স-এ সিলিন্ডার নম্বর (10 বিট, সম্ভাব্য মান 0 থেকে 1023) এবং সেক্টর নম্বর (6 বিট, সম্ভাব্য মান 1 থেকে 63) উভয়ই রয়েছে। সিলিন্ডার এবং সেক্টর বিটগুলি নীচে সংখ্যাযুক্তঃ সিএক্স =---সিএইচ---- সিএইচএল---সিলিন্ডারঃ 76543210 98 সেক্টরঃ 543210 অনুবাদের উদাহরণগুলিঃ সিএক্সঃ = (সিলিন্ডার এবং 255) এসএইচএল 8) বা (সিলিন্ডার এবং 768) এসএইচআর 2) বা সেক্টর; সিলিন্ডারঃ = (সিএক্স এবং $এফএফ00) সিএইচএল 8) বা (সিএক্স এবং $সি0) সিএইচএল 2) সেক্টরঃ = সিএক্স এবং 63; বাফারের অ্যাড্রেসিং নিশ্চিত করা উচিত যে সম্পূর্ণ বাফার প্রদত্ত বিভাগের ভিতরে রয়েছে, অর্থাৎ। (বিএক্স + সাইজ _ অফ _ বাফার) <= 10000h। অন্যথায় কিছু বিআইওএস বা হার্ডওয়্যার সংস্করণে বাধা ব্যর্থ হতে পারে। উদাহরণস্বরূপ ধরে নিন যে আপনি 16টি সেক্টর (= 2000h বাইট) পড়তে চান এবং আপনার বাফার মেমরি ঠিকানা 4FF00h থেকে শুরু হয়। মেমরি বিভাজন ব্যবহার করে, রেজিস্টার মান গণনা করার বিভিন্ন উপায় রয়েছে, যেমন। : ES = সেগমেন্ট = 4F00h BX = অফসেট = 0F00h যোগফল = মেমরি ঠিকানা = 4FF00h একটি ভাল পছন্দ হবে কারণ 0F00h + 2000h = 2F00h <= 10000h ES = সেগমেন্ট = 4000h BX = অফসেট = FF00h যোগফল = মেমরি ঠিকানা = 4FF00h একটি ভাল পছন্দ হবে না কারণ FF00h + 2000h = 11F00h> 10000h ফাংশন 02h ইন্টারাপ্ট 13h শুধুমাত্র আপনার হার্ড ড্রাইভের প্রথম 16,450,560 সেক্টরগুলির সেক্টরগুলি পড়তে পারে, 8 জিবি সীমার বাইরে সেক্টরগুলি পড়তে আপনার এক্সটেনশনের ফাংশন 42h ব্যবহার করা উচিত। আরেকটি বিকল্প হতে পারে ডস ইন্টারাপ্ট 25 ঘন্টা যা একটি বিভাগের মধ্যে সেক্টরগুলি পড়ে। কোড উদাহরণ [ওআরজি 7সি00এইচ]; কোড 7সি00এইচ xor অক্ষ, অক্ষ থেকে শুরু হয়; নিশ্চিত করুন যে ডিএস 0 মুভ ডিএস, অক্ষ সিএলডি-তে সেট করা আছে; মানগুলি দেওয়া শুরু করুনঃ মুভ আহ, 2এইচ; ইন্ট13এইচ ফাংশন 2 মুভ আল, 63; আমরা 63টি সেক্টর পড়তে চাই মুভ চ, 0; সিলিন্ডার নম্বর 0 মুভ ক্ল, 2 থেকে; সেক্টর নম্বর 2-দ্বিতীয় সেক্টর (1 থেকে শুরু হয়, 0 থেকে নয়) মুভ ধ, 0; হেড নম্বর 0 xor bx, bx মুভ এস, বিএক্স; এস 0 মুভ বিএক্স, 7ই00এইচ হতে হবে; 512বাইট মূল ঠিকানা 7সিভিএইচ ইন্ট 13এইচ জেএমপি 7ই00এইচ থেকে; পরেরটিতে ঝাঁপ দিন লক্ষ্য করুন কিভাবে আমরা ডিএল (ড্রাইভ) পরিবর্তন করিনি। কারণ যখন কম্পিউটার প্রথম লোড আপ হয়, তখন ডিএল বুট করা ড্রাইভের সংখ্যার সাথে সেট করা থাকে, তাই ধরে নেওয়া হয় যে আমরা যে ড্রাইভ থেকে বুট করেছি তা থেকে পড়তে চাই, ডিএল পরিবর্তন করার প্রয়োজন নেই। : ড্রাইভ করার জন্য সেক্টর লিখুনঃ ড্রাইভ থেকে সেক্টরগুলি যাচাই করুনঃ ফরম্যাট ট্র্যাকঃ ফরম্যাট ট্র্যাক খারাপ সেক্টর ফ্ল্যাগগুলি সেট করুনঃ ট্র্যাক থেকে শুরু করে ফরম্যাট ড্রাইভঃ ড্রাইভ প্যারামিটারগুলি পড়ুন মন্তব্যগুলি 08h ফাংশনের যৌক্তিক মানগুলি 48h ফাংশনের শারীরিক সিএইচএস মানগুলির থেকে আলাদা হতে পারে/হওয়া উচিত। ফলাফল রেজিস্টার সিএক্স-এ সিলিন্ডার এবং সেক্টর/ট্র্যাক মান উভয়ই রয়েছে, ফাংশন 02h-এর মন্তব্য দেখুন। : ইনিশিয়াল ড্রাইভ পেয়ার বৈশিষ্ট্য এএইচ = 0এএইচঃ ড্রাইভ থেকে দীর্ঘ সেক্টর পড়ুন এই ফাংশন এবং ফাংশন 02এইচ (উপরে দেখুন)-এর মধ্যে একমাত্র পার্থক্য হল যে ফাংশন 0এএইচ শুধুমাত্র 512-এর পরিবর্তে প্রতি সেক্টরে 516 বাইট পড়ে। শেষ 4টি বাইটে ত্রুটি সংশোধন কোড (ইসিসি) রয়েছে, যা সেক্টর ডেটার একটি চেকসাম। : বর্তমান এক্সটেনশনগুলি পরীক্ষা করুনঃ ড্রাইভ থেকে এক্সটেন্ডেড রিড সেক্টরগুলি যেমন ইতিমধ্যে 13 ঘন্টা এএইচ = 02 ঘন্টা সহ বলা হয়েছে, সম্পূর্ণ বাফারটি প্রদত্ত বিভাগের ভিতরে রয়েছে তা নিশ্চিত করার জন্য অবশ্যই যত্ন নিতে হবে, অর্থাৎ। (বিএক্স + সাইজ _ অফ _ বাফার) <= 10000এইচঃ এক্সটেন্ডেড রাইট সেক্টর টু ড্রাইভঃ এক্সটেন্ডেড রিড ড্রাইভ প্যারামিটার রিমার্ক 48এইচ ফাংশনের শারীরিক সিএইচএস মানগুলি 08এইচ ফাংশনের যৌক্তিক মানগুলির থেকে আলাদা হতে পারে/হওয়া উচিত। আইএনটি 13এইচ এএইচ = 4বিএইচঃ ড্রাইভ এমুলেশন টাইপ পান আরও দেখুন আইএনটি 10এইচ বায়োস ইন্টারাপ্ট কল সিলিন্ডার-হেড-সেক্টর আইএনটি (x86 নির্দেশনা) ডিপিএমআই (ডস প্রোটেক্টেড মোড ইন্টারফেস) রাল্ফ ব্রাউনের ইন্টারাপ্ট তালিকা বায়োস এনহ্যান্সড ডিস্ক ড্রাইভ নির্দিষ্টকরণ রেফারেন্স বাইরের লিঙ্ক বায়োস ইন্টারাপ্ট 13এইচ এক্সটেনশন রাল্ফ ব্রাউনের ইন্টি 13এইচ, এএইচ = 00এইচ সম্পর্কে বিস্তৃত ইন্টারাপ্ট লিস্ট নর্টন গাইড। 1এএইচ আইবিএম পিসি কম্প্যাটিবল বায়োস ইন্টারাপ্টস