Device Drivers เป็นซอฟต์แวร์ที่เคอร์เนลของคอมพิวเตอร์ใช้สื่อสารกับฮาร์ดแวร์ต่างๆ โดยไม่ต้องเข้าไปในรายละเอียดว่าฮาร์ดแวร์ทำงานอย่างไร เป็นซอฟต์แวร์ที่ควบคุมส่วนฮาร์ดแวร์ที่ต่อกับคอมพิวเตอร์ และอนุญาตให้คอมพิวเตอร์ใช้ฮาร์ดแวร์ได้โดยให้อินเทอร์เฟซที่เหมาะสม หมายความว่า ระบบปฏิบัติการไม่ต้องรู้รายละเอียดว่าส่วนฮาร์ดแวร์ทำงานอย่างไร ยังให้อินเทอร์เฟซทั่วไป เพื่อให้ระบบปฏิบัติการหรือ Kernel สื่อสารกับฮาร์ดแวร์ได้
ดังนั้น จุดประสงค์ของ Device Drivers คือเพื่อให้ฮาร์ดแวร์ที่สร้างขึ้นทำงานได้ราบรื่น และสามารถใช้กับระบบปฏิบัติการต่างๆ ได้

ประเภท Device Driver – Kernel & User Drivers
มี Device Drivers สำหรับอุปกรณ์เกือบทุกอย่างที่เกี่ยวกับคอมพิวเตอร์ – จาก BIOS ถึงแม้แต่ Virtual Machines และอื่นๆ Device Drivers สามารถจัดประเภทได้กว้างๆ 2 หมวด:
- Kernel Device Drivers
- User Device Drivers
Kernel Device Drivers เป็น Device Drivers แบบ Generic ที่โหลดพร้อมกับระบบปฏิบัติการเข้าหน่วยความจำเป็นส่วนหนึ่งของ OS ไม่ใช่ Driver ทั้งหมด แต่เป็น Pointer ไว้ เพื่อให้ Device Driver สามารถเรียกใช้ได้ทันทีเมื่อจำเป็น Drivers ที่เกี่ยวกับ BIOS, Motherboard, Processor และฮาร์ดแวร์คล้ายๆ นี้ เป็นส่วนหนึ่งของ Kernel Software
ปัญหาของ Kernel Device Drivers คือ เมื่อถูกเรียกใช้ จะโหลดเข้า RAM และไม่สามารถย้ายไป Page File (Virtual Memory) ได้ ดังนั้น Device Drivers จำนวนมากที่รันพร้อมกันอาจทำให้เครื่องช้า นั่นเป็นเหตุผลที่แต่ละ OS มีข้อกำหนดระบบขั้นต่ำ ระบบปฏิบัติการต่างๆ คำนวณทรัพยากรที่ Kernel Device Drivers ต้องการไว้แล้ว เพื่อให้ผู้ใช้ปลายทางไม่ต้องกังวลเรื่องหน่วยความจำเพิ่มเติม
User Mode Device Drivers เป็น Drivers ที่มักถูกกระตุ้นโดยผู้ใช้ในช่วงเซสชันของพวกเขาบนคอมพิวเตอร์ อาจคิดได้ว่าเป็นอุปกรณ์ที่ผู้ใช้นำมาต่อกับคอมพิวเตอร์นอกจาก Kernel Devices Drivers สำหรับอุปกรณ์ Plug and Play ส่วนใหญ่อยู่ในหมวดนี้ User Device Drivers เขียนลงดิสก์ได้ จึงไม่กดดันทรัพยากร แต่สำหรับ Drivers เกี่ยวกับอุปกรณ์เกม แนะนำให้เก็บไว้ในหน่วยความจำหลัก (RAM)
อ่านเพิ่มเติม: วิธีติดตั้ง Driver ด้วยตนเองโดยใช้ไฟล์ .INF
Block Drivers และ Character Drivers
ทั้งสองนี้ – Block และ Character Device Drivers – อยู่ในหมวดการอ่าน/เขียนข้อมูล ฮาร์ดดิสก์, CD ROMs, USB Drives ฯลฯ อาจเป็น Block Drivers หรือ Character Drivers ขึ้นอยู่กับวิธีใช้งาน
Character Drivers ใช้ใน Serial Buses เขียนข้อมูลทีละ Character หนึ่ง Character หมายถึง 1 Byte ในความหมายทั่วไป หากอุปกรณ์ต่อที่พอร์ต Serial ก็ใช้ Character Driver เมาส์เป็นอุปกรณ์ Serial และมี Character Device Driver
Block Drivers หมายถึงการอ่าน/เขียนมากกว่า 1 Character ในคราวเดียว ปกติ Block Device Drivers สร้าง Block และดึงข้อมูลมากที่สุดเท่าที่ Block จุได้ ฮาร์ดดิสก์ เช่น ใช้ Block Device Drivers CD ROMs ก็เป็น Block Device Drivers เช่นกัน แต่ Kernel ต้องตรวจสอบว่าอุปกรณ์ยังต่ออยู่ทุกครั้งที่ CD ROM ถูกเรียกใช้โดยแอปพลิเคชัน
Generic และ OEM Drivers
Device Drivers อาจเป็น Generic หรือเกี่ยวกับ OEM หาก Device Driver มาพร้อมกับซอฟต์แวร์ระบบปฏิบัติการ ส่วนใหญ่จะเป็น Generic Device Driver Generic Device Driver คือ Driver ที่ใช้กับแบรนด์ต่างๆ ของประเภทอุปกรณ์เดียวกันได้ Windows 10 เช่น มี Generic Drivers หลายตัวที่ทำงานโดยไม่ต้องติดตั้งซอฟต์แวร์อื่นด้วยตนเอง
ในบางกรณี Generic Drivers ไม่ช่วยได้ ดังนั้น Original Equipment Manufacturers จึงสร้าง Device Drivers ของตัวเอง นี่คือ OEM Device Drivers และต้องติดตั้งแยกหลังจากติดตั้ง OS คอมพิวเตอร์ยุคเก่าถูกทำเครื่องหมาย และแม้แต่ Motherboard Drivers ก็ต้องติดตั้งภายนอก แต่那是ยุค Windows XP ยกเว้นบางแบรนด์ ชุด Driver ในตัวส่วนใหญ่แล้วอยู่ใน OS แล้ว
อ่านเพิ่มเติม: Firmware คืออะไร?
Virtual Device Drivers
Drivers สำหรับอุปกรณ์เสมือน เรียกว่า Virtual Device Drivers บ่อยครั้งเราใช้ซอฟต์แวร์จำลองฮาร์ดแวร์ และซอฟต์แวร์ที่ใช้รันฮาร์ดแวร์เสมือนนั้นคือ Virtual Device Driver เช่น ถ้าคุณใช้ VPN อาจสร้าง Network Card เสมือนสำหรับเชื่อมต่ออินเทอร์เน็ตอย่างปลอดภัย ไม่ใช่การ์ดจริง แต่ตั้งค่าขึ้นโดย VPN Software แม้การ์ดนั้นก็ต้องการ Device Driver และ VPN Software เดียวกันจะติดตั้ง Virtual Device Drivers
ดังนั้น คุณเห็นว่ามีประเภท Device Drivers หลายอย่าง และยากที่จะใช้แค่ 1-2 หมวดหมู่อธิบายได้ ในบทความนี้ เราอธิบายว่า Device Driver คืออะไร และพูดถึงประเภท: Kernel และ User Mode Drivers, Generic และ OEM Device Drivers, และ Virtual Device Drivers – รวมถึงความแตกต่างระหว่างทั้งหมด
อ่านต่อ: Windows บันทึกหรือเก็บ Device Drivers ที่ไหน?
