Device Drivers হল সফটওয়্যার যার মাধ্যমে একটি কম্পিউটারের কার্নেল ভিন্ন হার্ডওয়্যারের সাথে যোগাযোগ করে, হার্ডওয়্যারটি কীভাবে কাজ করে তার ডিটেইলস না জানলেই। এটি একটি সফটওয়্যার যা কম্পিউটারের সাথে জড়িত একটি হার্ডওয়্যার পার্ট কন্ট্রোল করে এবং কম্পিউটারকে একটি উপযুক্ত ইন্টারফেস প্রদান করে হার্ডওয়্যারটি ব্যবহার করার জন্য। এর মানে অপারেটিং সিস্টেমকে হার্ডওয়্যার পার্টটি কীভাবে কাজ করে সেটি সম্পর্কে ডিটেইলস জানতে হয় না। এটি একটি কমন ইন্টারফেসও প্রদান করে যাতে অপারেটিং সিস্টেম বা কার্নেল হার্ডওয়্যারের সাথে যোগাযোগ করতে পারে।
অতএব, ডিভাইস ড্রাইভারগুলোর উদ্দেশ্য হলো যে হার্ডওয়্যারের জন্য এটি তৈরি হয়েছে তার স্মুথ ফাংশনিং অনুমতি দেওয়া এবং এটি ভিন্ন অপারেটিং সিস্টেমের সাথে ব্যবহার করা যেতে দেয়া।

Device Driver Types – Kernel & User Drivers
এক কম্পিউটারের সাথে জড়িত প্রায় সকল ডিভাইসের জন্য ডিভাইস ড্রাইভার রয়েছে – BIOS থেকে ভার্চুয়াল মেশিন পর্যন্ত। ডিভাইস ড্রাইভারগুলো বড়ভাবে দুটি ক্যাটেগরিতে ভাগ করা যায়:
- Kernel Device Drivers
- User Device Drivers
Kernel Device Drivers হল জেনেরিক ডিভাইস ড্রাইভার যা অপারেটিং সিস্টেমের সাথে মেমরিতে লোড হয় অপারেটিং সিস্টেমের অংশ হিসেবে; পুরো ড্রাইভার নয় বরং একটা পয়েন্টার সেটি ইফেক্টে যাতে ডিভাইস ড্রাইভারটি প্রয়োজন হলে অবিলম্বে আহ্বান করা যায়। BIOS, মাদারবোর্ড, প্রসেসর, এবং সাদৃশ্য হার্ডওয়্যারের ড্রাইভারগুলো Kernel Software-এর অংশ।
Kernel Device Drivers-এ একটি সমস্যা রয়েছে যে যখন তাদের একটিকে আহ্বান করা হয়, সেটি RAM-এ লোড হয় এবং পেজ ফাইল (ভার্চুয়াল মেমরি) এ সরানো যায় না। তাই, একসাথে অনেক ডিভাইস ড্রাইভার চললে মেশিন স্লো হতে পারে। তাই প্রতিটি অপারেটিং সিস্টেমের জন্য মিনিমাম সিস্টেম রিকোয়ারমেন্ট থাকে। ভিন্ন অপারেটিং সিস্টেমগুলো ইতিমধ্যে কার্নেল ডিভাইস ড্রাইভারদের জন্য প্রয়োজনীয় রিসোর্স যোগ করে দিয়ে থাকে, তাই এন্ড-ইউজারদের এক্সট্রা মেমরি রিকোয়ারমেন্ট নিয়ে চিন্তা করতে হয় না।
User Mode Device Drivers হলো যেসব সাধারণত ব্যবহারকারীরা তাদের কম্পিউটারে সেশনের সময় ট্রিগার করে। এটিকে কের্নেল ডিভাইস ছাড়া ব্যবহারকারী কম্পিউটারের সাথে আনোয়া ডিভাইসগুলোর ধরণ মনে করা যায়। Plug and Play ডিভাইসের অধিকাংশ ড্রাইভার এই ক্যাটেগরিতে পড়ে। User Device Drivers ডিস্কে লেখা যায় যাতে সেগুলো রিসোর্সে কঠোর হয় না। যাইহোক, গেমিং ডিভাইস সংক্রান্ত ড্রাইভারদের জন্য মেইন মেমরি (RAM)-এ রাখা রিকমেন্ড করা হয়।
পড়ুন: How to manually install a Driver using a .INF File.
Block Drivers and Character Drivers
এই দুটি – ব্লক এবং ক্যারেক্টার ডিভাইস ড্রাইভার – ডেটা রিডিং ও রাইটিং ক্যাটেগরির অন্তর্গত। হার্ড ডিস্ক, CD ROM, USB Drive, ইত্যাদি – যেসব কি ব্লক ড্রাইভার কি ক্যারেক্টার ড্রাইভার হবে সেটি নির্ভর করে সেগুলো কীভাবে ব্যবহার হচ্ছে।
Character Drivers সিরিয়াল বাসে ব্যবহার হয়। সেগুলো একবারে এক ক্যারেক্টার করে ডেটা লিখে। এক ক্যারেক্টার মানে জেনেরিক অর্থে একটি বাইট। যদি একটি ডিভাইস সিরিয়াল পোর্টে সংযুক্ত থাকে, সেটি ক্যারেক্টার ড্রাইভার ব্যবহার করছে। একটি মাউস একটি সিরিয়াল ডিভাইস এবং এর ক্যারেক্টার ডিভাইস ড্রাইভার রয়েছে।
Block drivers একবারে একাধিক ক্যারেক্টার রিডিং ও রাইটিং রেফার করে। সাধারণত ব্লক ডিভাইস ড্রাইভার একটি ব্লক তৈরি করে এবং যতটুকু ইনফরমেশন ব্লকটি ধারণ করতে পারে ততটুকু রিট্রিভ করে। হার্ড ডিস্ক, উদাহরণস্বরূপ, ব্লক ডিভাইস ড্রাইভার ব্যবহার করে। CD ROMsও ব্লক ডিভাইস ড্রাইভার, কিন্তু কার্নেলকে প্রতিবার চেক করতে হয় ডিভাইসটি কম্পিউটারের সাথে সংযুক্ত আছে কিনা, যখনই CD ROM কোনো অ্যাপ্লিকেশন দ্বারা আহ্বান করা হয়।
Generic and OEM Drivers
ডিভাইস ড্রাইভার জেনেরিক হতে পারে, অথবা OEM-রিলেটেড। যদি ডিভাইস ড্রাইভার অপারেটিং সফটওয়্যারের সাথে আসে, সম্ভবত সেটি একটি জেনেরিক ডিভাইস ড্রাইভার। একটি জেনেরিক ডিভাইস ড্রাইভার হলো যেটি একটি নির্দিষ্ট ডিভাইস টাইপের বিভিন্ন ব্র্যান্ডের সাথে ব্যবহার করা যায়। Windows 10, উদাহরণস্বরূপ, অনেক জেনেরিক ড্রাইভার ধারণ করে যা ম্যানুয়ালি অন্য সফটওয়্যার ইনস্টল না করেই কাজ করে।
কিছু কেসে, জেনেরিক ড্রাইভারগুলো সাহায্য করে না। তখন, অরিজিনাল ইকুইপমেন্ট ম্যানুফ্যাকচারাররা তাদের নিজস্ব ডিভাইস ড্রাইভার তৈরি করে। এগুলো OEM ডিভাইস ড্রাইভার এবং অপারেটিং সিস্টেম ইনস্টল করার পর আলাদাভাবে ইনস্টল করতে হয়। পুরনো যুগের কম্পিউটারগুলো মার্কড থাকত, এবং তাই মাদারবোর্ড ড্রাইভারও এক্সটার্নালি ইনস্টল করতে হতো। কিন্তু সেটি Windows XP-এর যুগ। কয়েকটি ব্র্যান্ড বাদে, অধিকাংশ বিল্ট-ইন ড্রাইভার সেটগুলো ইতিমধ্যে অপারেটিং সিস্টেমগুলোর মধ্যে থাকে।
পড়ুন: What is Firmware?
Virtual Device Drivers
ভার্চুয়াল ডিভাইসের ড্রাইভারগুলোকে Virtual Device Drivers বলা হয়। প্রায়শই, আমরা কিছু সফটওয়্যার ব্যবহার করি হার্ডওয়্যার অনুকরণ করতে এবং যেই সফটওয়্যারটি ایسetooth ভার্চুয়াল হার্ডওয়্যার চালাতে ব্যবহৃত হয় সেটি হলো ভার্চুয়াল ডিভাইস ড্রাইভার। উদাহরণস্বরূপ, আপনি যদি একটি VPN ব্যবহার করেন, এটি একটি ভার্চুয়াল নেটওয়ার্ক কার্ড তৈরি করতে পারে ইন্টারনেটে সিকিউরলি কানেক্ট করার জন্য। এটি একটি রিয়াল ফিজিক্যাল কার্ড নয়, বরং VPN সফটওয়্যার দ্বারা সেট আপ করা একটি কার্ড। এমনকি সেই কার্ডটিকেও একটি ডিভাইস ড্রাইভার প্রয়োজন, এবং একই VPN সফটওয়্যারটি ভার্চুয়াল ডিভাইস ড্রাইভার ইনস্টল করবে।
এভাবে, আপনি দেখতে পাচ্ছেন ডিভাইস ড্রাইভারের বিভিন্ন টাইপ রয়েছে, এবং শুধু এক বা দুটি ক্যাটেগরি দিয়ে এগুলো ব্যাখ্যা করা একটু কঠিন। এই আর্টিকেলে আমরা ব্যাখ্যা করেছি ডিভাইস ড্রাইভার কী এবং নিচের ডিভাইস ড্রাইভার টাইপগুলো নিয়ে আলোচনা করেছি: কার্নেল এবং ইউজার মোড ড্রাইভার; জেনেরিক এবং OEM ডিভাইস ড্রাইভার, এবং ভার্চুয়াল ডিভাইস ড্রাইভার – যেকোনো পার্থক্য সহ।
পরবর্তী পড়ুন: Where does Windows save or store Device Drivers?
