กลับไปหน้าบทความ

อ่าน 8 นาที

ไดรเวอร์อุปกรณ์

ไดรเวอร์ อุปกรณ์ คือ ซอฟต์แวร์ ที่ทำงานหรือควบคุม อุปกรณ์ ประเภทใดประเภทหนึ่งที่เชื่อมต่อกับ คอมพิวเตอร์ [ 1 ] ไดรเวอร์จัดเตรียม อินเทอร์เฟ ซซอฟต์แวร์ ให้กับ อุปกรณ์ ฮาร์ดแวร์...

ไดรเวอร์อุปกรณ์

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

ไดรเวอร์สื่อสารกับอุปกรณ์ผ่านทางบัสคอมพิวเตอร์หรือระบบย่อยการสื่อสารที่ฮาร์ดแวร์เชื่อมต่ออยู่ เมื่อ โปรแกรม ที่เรียกใช้เรียกใช้รูทีนในไดรเวอร์ ไดรเวอร์จะออกคำสั่งไปยังอุปกรณ์ (ควบคุมการทำงานของอุปกรณ์) เมื่ออุปกรณ์ส่งข้อมูลกลับมายังไดรเวอร์แล้ว ไดรเวอร์อาจเรียกใช้รูทีนในโปรแกรมที่เรียกใช้เดิมได้

ไดรเวอร์ขึ้นอยู่กับฮาร์ดแวร์และระบบปฏิบัติการโดยเฉพาะ โดยปกติแล้วไดรเวอร์จะจัดเตรียมการจัดการการขัดจังหวะที่จำเป็นสำหรับอินเทอร์เฟซฮาร์ดแวร์แบบอะซิงโครนัสที่ขึ้นอยู่กับเวลาที่จำเป็น[ 2 ]

วัตถุประสงค์

จุดประสงค์หลักของไดรเวอร์อุปกรณ์คือการจัดเตรียมการแยกส่วนฮาร์ดแวร์โดยทำหน้าที่เป็นตัวแปลระหว่างอุปกรณ์ฮาร์ดแวร์และแอปพลิเคชันหรือระบบปฏิบัติการที่ใช้อุปกรณ์นั้น[ 1 ]โปรแกรมเมอร์สามารถเขียนโค้ดแอปพลิเคชันระดับสูงได้โดยไม่ขึ้นอยู่กับฮาร์ดแวร์เฉพาะที่ผู้ใช้ปลายทางใช้

ตัวอย่างเช่น แอปพลิเคชันระดับสูงสำหรับการโต้ตอบกับพอร์ตอนุกรมอาจมีเพียงสองฟังก์ชันสำหรับการส่งข้อมูลและรับข้อมูลในระดับที่ต่ำกว่านั้น ไดรเวอร์อุปกรณ์ที่ใช้งานฟังก์ชันเหล่านี้จะสื่อสารกับตัวควบคุมพอร์ตอนุกรมเฉพาะที่ติดตั้งอยู่ในคอมพิวเตอร์ของผู้ใช้ คำสั่งที่จำเป็นในการควบคุมUART 16550นั้นแตกต่างจากคำสั่งที่จำเป็นในการควบคุมอะแดปเตอร์ USB-to-serial มาก แต่ไดรเวอร์อุปกรณ์เฉพาะฮาร์ดแวร์แต่ละตัวจะแยกรายละเอียดเหล่านี้ออกเป็นอินเทอร์เฟซซอฟต์แวร์เดียวกัน (หรือคล้ายกัน)

การพัฒนา

การเขียนไดรเวอร์อุปกรณ์ต้องอาศัยความเข้าใจอย่างลึกซึ้งเกี่ยวกับวิธีการทำงานของฮาร์ดแวร์และซอฟต์แวร์สำหรับ ฟังก์ชัน แพลตฟอร์ม ที่กำหนด เนื่องจากไดรเวอร์ต้องการการเข้าถึงระดับต่ำของฟังก์ชันฮาร์ดแวร์เพื่อการทำงาน ไดรเวอร์จึงมักทำงานใน สภาพแวดล้อม ที่มีสิทธิ์ สูง และอาจทำให้เกิดปัญหาการทำงานของระบบหากมีสิ่งผิดปกติเกิดขึ้น ในทางตรงกันข้าม การทำงานผิดปกติในซอฟต์แวร์ระดับผู้ใช้ส่วนใหญ่บนระบบปฏิบัติการสมัยใหม่สามารถหยุดได้โดยไม่ส่งผลกระทบต่อส่วนที่เหลือของระบบมากนัก แม้แต่ไดรเวอร์ที่ทำงานในโหมดผู้ใช้ก็อาจทำให้ระบบล่มได้หากอุปกรณ์ได้รับการตั้งโปรแกรมอย่างผิดพลาดปัจจัยเหล่านี้ทำให้การวินิจฉัยปัญหาทำได้ยากและอันตรายมากขึ้น[ 3 ]

โดยปกติแล้ว งานเขียนไดรเวอร์จึงตกเป็นหน้าที่ของวิศวกรซอฟต์แวร์หรือวิศวกรคอมพิวเตอร์ที่ทำงานให้กับบริษัทพัฒนาฮาร์ดแวร์ เนื่องจากในฐานะพนักงาน พวกเขามีข้อมูลที่ดีกว่าคนภายนอกส่วนใหญ่เกี่ยวกับการออกแบบฮาร์ดแวร์ นอกจากนี้ ในอดีตถือเป็น ผลประโยชน์ของ ผู้ผลิต ฮาร์ดแวร์ ที่จะรับประกันว่าลูกค้าสามารถใช้งานฮาร์ดแวร์ได้อย่างเหมาะสมที่สุด โดยทั่วไปแล้ว ส่วนที่ เป็นนามธรรมของฮาร์ดแวร์ในไดรเวอร์จะเขียนโดยผู้จำหน่ายระบบปฏิบัติการ ในขณะที่ส่วนการเข้าถึงอุปกรณ์ทางกายภาพระดับล่างจะถูกพัฒนาโดยผู้จำหน่ายอุปกรณ์ อย่างไรก็ตาม ในช่วงไม่กี่ปีที่ผ่านมา ผู้ที่ไม่ใช่ผู้จำหน่ายได้เขียนไดรเวอร์อุปกรณ์จำนวนมากสำหรับอุปกรณ์ที่เป็นกรรมสิทธิ์ โดยส่วนใหญ่ใช้กับ ระบบปฏิบัติการ โอเพนซอร์สและฟรีในกรณีเช่นนี้ สิ่งสำคัญคือผู้ผลิตฮาร์ดแวร์ต้องให้ข้อมูลเกี่ยวกับวิธีที่อุปกรณ์สื่อสาร แม้ว่าข้อมูลนี้สามารถเรียนรู้ได้โดยการวิศวกรรมย้อนกลับแต่ก็ทำได้ยากกว่ามากในกรณีของฮาร์ดแวร์เมื่อเทียบกับซอฟต์แวร์

Windowsใช้การผสมผสานระหว่างไดรเวอร์และมินิไดรเวอร์ โดยไดรเวอร์คลาส/พอร์ตแบบเต็มจะมาพร้อมกับระบบปฏิบัติการ และไดรเวอร์มินิคลาส/มินิพอร์ตจะได้รับการพัฒนาโดยผู้จำหน่ายและใช้งานชุดย่อยเฉพาะฮาร์ดแวร์หรือฟังก์ชันของสแต็กไดรเวอร์แบบเต็ม[ 4 ]โมเดลมินิพอร์ตถูกใช้โดย ไดรเวอร์ NDIS , WDM , WDDM , WaveRT , StorPort , WIAและHIDโดยแต่ละตัวใช้ API เฉพาะอุปกรณ์และยังคงต้องการให้นักพัฒนาจัดการงานการจัดการอุปกรณ์

ไมโครซอฟต์พยายามลดปัญหาความไม่เสถียรของระบบที่เกิดจากไดรเวอร์อุปกรณ์ที่เขียนไม่ดี โดยการสร้างเฟรมเวิร์กใหม่สำหรับการพัฒนาไดรเวอร์ เรียกว่าWindows Driver Frameworks (WDF) ซึ่งรวมถึงUser-Mode Driver Framework (UMDF) ที่ส่งเสริมการพัฒนาไดรเวอร์บางประเภท โดยเฉพาะอย่างยิ่งไดรเวอร์ที่ใช้โปรโตคอลแบบข้อความในการสื่อสารกับอุปกรณ์ หากไดรเวอร์เหล่านี้ทำงานผิดพลาด ก็จะไม่ทำให้ระบบไม่เสถียร ส่วนKernel-Mode Driver Framework (KMDF) ยังคงอนุญาตให้พัฒนาไดรเวอร์อุปกรณ์ในโหมดเคอร์เนล แต่พยายามจัดเตรียมการใช้งานมาตรฐานของฟังก์ชันที่ทราบกันดีว่าก่อให้เกิดปัญหา รวมถึงการยกเลิกการทำงานของ I/O การจัดการพลังงาน และการสนับสนุนอุปกรณ์แบบเสียบแล้วใช้งานได้ทันที (plug-and-play)

Appleมีเฟรมเวิร์กโอเพนซอร์สสำหรับพัฒนาไดรเวอร์บนmacOSที่เรียกว่า I/O Kit

ในสภาพแวดล้อม Linux โปรแกรมเมอร์สามารถสร้างไดรเวอร์อุปกรณ์เป็นส่วนหนึ่งของเคอร์เนลแยกต่างหากเป็นโมดูล ที่โหลดได้ หรือเป็นไดรเวอร์โหมดผู้ใช้สำหรับอุปกรณ์บางประเภทที่มีอินเทอร์เฟซเคอร์เนลอยู่ เช่น สำหรับอุปกรณ์ USB Makedevมีรายการอุปกรณ์ใน Linux รวมถึง ttyS (เทอร์มินัล), lp ( พอร์ตขนาน ), hd (ดิสก์), loop และ sound (ซึ่งรวมถึงmixer , sequencer , dspและ audio) [ 5 ]

ไฟล์ .sys ของ Microsoft Windowsและ ไฟล์ .ko ของ Linuxสามารถบรรจุไดรเวอร์อุปกรณ์ที่โหลดได้ ข้อดีของไดรเวอร์อุปกรณ์ที่โหลดได้คือ สามารถโหลดได้เฉพาะเมื่อจำเป็นเท่านั้น แล้วจึงยกเลิกการโหลด ซึ่งจะช่วยประหยัดหน่วยความจำของเคอร์เนล

ระดับสิทธิพิเศษ

ขึ้นอยู่กับระบบปฏิบัติการ ไดรเวอร์อุปกรณ์อาจได้รับอนุญาตให้ทำงานในระดับสิทธิ์ ที่แตกต่างกัน การเลือกระดับสิทธิ์ของไดรเวอร์นั้นส่วนใหญ่ขึ้นอยู่กับประเภทของเคอร์เนลที่ระบบปฏิบัติการใช้ ระบบปฏิบัติการที่ใช้เคอร์เนลแบบโมโนลิธิกเช่นเคอร์เนลลินุกซ์มักจะเรียกใช้ไดรเวอร์อุปกรณ์ด้วยสิทธิ์เดียวกันกับวัตถุเคอร์เนลอื่นๆ ทั้งหมด ในทางตรงกันข้าม ระบบที่ออกแบบโดยใช้ไมโครเคอร์เนลเช่นมินิกซ์จะเรียกใช้ไดรเวอร์เป็นกระบวนการที่เป็นอิสระจากเคอร์เนล แต่ใช้ไดรเวอร์สำหรับฟังก์ชันอินพุต-เอาต์พุต ที่จำเป็น [ 6 ] บนWindows NTซึ่งเป็นระบบที่มีเคอร์เนลแบบไฮบริดเป็นเรื่องปกติที่ไดรเวอร์อุปกรณ์จะทำงานในโหมดเคอร์เนลหรือโหมดผู้ใช้[ 7 ]

กลไกที่พบได้บ่อยที่สุดสำหรับการแบ่งแยกหน่วยความจำออกเป็นระดับสิทธิ์ต่างๆ คือการใช้วงแหวนป้องกันในระบบหลายๆ ระบบ เช่น ระบบที่มี โปรเซสเซอร์ x86และARMการสลับระหว่างวงแหวนจะทำให้ประสิทธิภาพลดลง ซึ่งเป็นปัจจัยที่นักพัฒนาโปรแกรมระบบปฏิบัติการและ วิศวกร ซอฟต์แวร์ฝังตัวพิจารณาเมื่อสร้างไดรเวอร์สำหรับอุปกรณ์ต่างๆ เช่นการ์ดอินเทอร์เฟซเครือข่ายซึ่งต้องการทำงานด้วยความหน่วงต่ำ ประโยชน์หลักของการเรียกใช้ไดรเวอร์ในโหมดผู้ใช้คือความเสถียรที่ดีขึ้น เนื่องจากไดรเวอร์อุปกรณ์ในโหมดผู้ใช้ที่เขียนไม่ดีจะไม่สามารถทำให้ระบบล่มได้โดยการเขียนทับหน่วยความจำเคอร์เนล[ 8 ]

ระดับนามธรรมทั่วไปสำหรับไดรเวอร์อุปกรณ์ ได้แก่:

  • สำหรับอุปกรณ์ฮาร์ดแวร์:
    • การเชื่อมต่อโดยตรง
    • การเขียนหรืออ่านข้อมูลจากรีจิสเตอร์ควบคุมอุปกรณ์
    • การใช้ส่วนต่อประสานระดับสูงกว่า (เช่นVideo BIOS )
    • การใช้ไดรเวอร์อุปกรณ์ระดับล่างอื่น (เช่น ไดรเวอร์ระบบไฟล์ที่ใช้ไดรเวอร์ดิสก์)
    • การจำลองการทำงานกับฮาร์ดแวร์ ในขณะที่ทำสิ่งอื่นที่แตกต่างออกไปโดยสิ้นเชิง[ 9 ]
  • สำหรับซอฟต์แวร์:
    • อนุญาตให้ระบบปฏิบัติการเข้าถึงทรัพยากรฮาร์ดแวร์โดยตรง
    • การใช้งานเฉพาะ ส่วนประกอบพื้นฐานเท่านั้น
    • การนำอินเทอร์เฟซสำหรับซอฟต์แวร์ที่ไม่ใช่ไดรเวอร์ (เช่นTWAIN ) มาใช้
    • การนำภาษาโปรแกรมมาใช้ ซึ่งบางครั้งอาจเป็นภาษาโปรแกรมระดับสูง (เช่นPostScript )

แอปพลิเคชัน

เนื่องจากความหลากหลายของฮาร์ดแวร์และระบบปฏิบัติการสมัยใหม่ ไดรเวอร์จึงทำงานในสภาพแวดล้อมที่แตกต่างกันมากมาย[ 10 ]ไดรเวอร์อาจเชื่อมต่อกับ:

ดังนั้น การเลือกและติดตั้งไดรเวอร์อุปกรณ์ที่ถูกต้องสำหรับฮาร์ดแวร์ที่กำหนดจึงมักเป็นองค์ประกอบสำคัญของการกำหนดค่าระบบคอมพิวเตอร์[ 11 ]

ไดรเวอร์อุปกรณ์เสมือน

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

อุปกรณ์เสมือนอาจทำงานในสภาพแวดล้อมที่ไม่ใช่เสมือนได้เช่นกัน ตัวอย่างเช่นอะแดปเตอร์เครือข่าย เสมือน ใช้กับเครือข่ายส่วนตัวเสมือน ในขณะที่อุปกรณ์ ดิสก์เสมือนใช้กับiSCSIตัวอย่างที่ดีของไดรเวอร์อุปกรณ์เสมือนคือDaemon Tools

มีไดรเวอร์อุปกรณ์เสมือนหลายรูปแบบ เช่นVxD , VLMและ VDD

ไดรเวอร์โอเพนซอร์ส

คำอธิบายไดรเวอร์อุปกรณ์ที่ใช้กันทั่วไปในระบบ ปฏิบัติการ Solaris :

  • fas: ตัวควบคุม SCSI แบบเร็ว/กว้าง
  • hme: อีเธอร์เน็ตความเร็วสูง (10/100 เมกะบิต/วินาที)
  • isp: ตัวควบคุม SCSI แบบดิฟเฟอเรนเชียลและการ์ด SunSwift
  • glm: (โมดูลลิงก์กิกะบิต[ 14 ] ) ตัวควบคุม UltraSCSI
  • SCSI: อุปกรณ์อินเทอร์เฟซอนุกรมคอมพิวเตอร์ขนาดเล็ก (SCSI)
  • sf: soc+ หรือ social Fiber Channel Arbitrated Loop (FCAL)
  • soc: ตัวควบคุม SPARC Storage Array (SSA) และอุปกรณ์ควบคุม
  • ด้านสังคม: ตัวควบคุมออปติคอลแบบอนุกรมสำหรับ FCAL (soc+)

API

ตัวระบุ

อุปกรณ์บนบัส PCIหรือ USB จะถูกระบุด้วยรหัสสองรหัส ซึ่งแต่ละรหัสประกอบด้วยสองไบต์ รหัสผู้ผลิต (Vendor ID) ระบุผู้ผลิตอุปกรณ์ ส่วนรหัสอุปกรณ์ (Device ID) ระบุอุปกรณ์เฉพาะจากผู้ผลิต/ผู้จำหน่ายรายนั้น

อุปกรณ์ PCI มักจะมีคู่รหัสประจำตัวสำหรับชิปหลักของอุปกรณ์ และยังมีคู่รหัสประจำตัวของระบบย่อยที่ระบุผู้จำหน่าย ซึ่งอาจแตกต่างจากผู้ผลิตชิปได้

ความปลอดภัย

คอมพิวเตอร์มักมีไดรเวอร์อุปกรณ์ที่หลากหลายและปรับแต่งเองจำนวนมากที่ทำงานในเคอร์เนลระบบปฏิบัติการ ซึ่งมักมีข้อบกพร่องและช่องโหว่ ต่างๆ ทำให้เป็นเป้าหมายของการโจมตี[ 18 ]ผู้โจมตี แบบBring Your Own Vulnerable Driver (BYOVD) จะติดตั้งไดรเวอร์ของบุคคลที่สามที่ลงนามแล้วและเก่าที่มีช่องโหว่ที่ทราบแล้ว ซึ่งอนุญาตให้แทรกโค้ดที่เป็นอันตรายเข้าไปในเคอร์เนลได้[ 19 ] ไดรเวอร์ที่อาจมีช่องโหว่ ได้แก่ ไดรเวอร์สำหรับ WiFi และ Bluetooth [ 20 ] [ 21 ]ไดรเวอร์เกม/กราฟิก[ 22 ]และไดรเวอร์สำหรับเครื่องพิมพ์[ 23 ]

ขาดเครื่องมือตรวจจับช่องโหว่เคอร์เนลที่มีประสิทธิภาพ โดยเฉพาะอย่างยิ่งสำหรับระบบปฏิบัติการแบบปิดแหล่งที่มา เช่น Microsoft Windows [ 24 ]ซึ่งซอร์สโค้ดของไดรเวอร์อุปกรณ์ส่วนใหญ่เป็นกรรมสิทธิ์และไม่สามารถตรวจสอบได้[ 25 ]และไดรเวอร์มักจะมีสิทธิ์มากมาย[ 26 ] [ 27 ] [ 28 ] [ 29 ]

กลุ่มนักวิจัยด้านความปลอดภัยพิจารณาว่าการขาดการแยกเป็นหนึ่งในปัจจัยหลักที่บั่นทอนความปลอดภัยของเคอร์เนล [ 30 ]และได้เผยแพร่ กรอบ การแยกเพื่อปกป้องเคอร์เนลของระบบปฏิบัติการ โดยเฉพาะเคอร์เนล Linux แบบโมโน ลิธิก ซึ่งพวกเขากล่าวว่าไดรเวอร์ได้รับการคอมมิต ประมาณ 80,000 ครั้งต่อปี[ 31 ] [ 32 ]

สิ่งสำคัญที่ต้องพิจารณาในการออกแบบเคอร์เนลคือการสนับสนุนที่เคอร์เนลมีให้เพื่อป้องกันความผิดพลาด ( ความทนทานต่อความผิดพลาด ) และจากพฤติกรรมที่เป็นอันตราย ( ความปลอดภัย ) โดยทั่วไปแล้วสองด้านนี้มักจะไม่แยกออกจากกันอย่างชัดเจน และการนำความแตกต่างนี้มาใช้ในการออกแบบเคอร์เนลนำไปสู่การปฏิเสธ โครงสร้างลำดับชั้น สำหรับการป้องกัน[ 33 ]

กลไกหรือนโยบายที่กำหนดโดยเคอร์เนลสามารถจำแนกได้ตามเกณฑ์หลายประการ ได้แก่:

  • ไม่ว่าจะเป็นแบบคงที่ (บังคับใช้ในขั้นตอนการคอมไพล์ ) หรือแบบไดนามิก (บังคับใช้ในขั้นตอนการรันไทม์ )
  • ไม่ว่าจะเป็นการป้องกันล่วงหน้าหรือการตรวจจับภายหลังก็ตาม
  • ไม่ว่าจะเป็นการรองรับโดยฮาร์ดแวร์หรือโดยภาษา
  • ไม่ว่าจะเป็นกลไกแบบเปิดหรือนโยบายที่มีผลผูกพันก็ตาม
  • ตามหลักการคุ้มครองที่พวกเขาปฏิบัติตาม (เช่นDenning [ 34 ] [ 35 ] );
  • และอื่นๆ อีกมากมาย

ดูเพิ่มเติม

  • ศูนย์พัฒนาฮาร์ดแวร์ Windows
  • รายการฮาร์ดแวร์ที่เข้ากันได้กับ Linux และไดรเวอร์ Linux
  • ทำความเข้าใจเกี่ยวกับไดรเวอร์อุปกรณ์สมัยใหม่ (ลินุกซ์)
  • BinaryDriverHowto, Ubuntu.
  • แหล่งที่มาของไดรเวอร์ Linux
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Device_driver&oldid=1359510435 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ไดรเวอร์อุปกรณ์

ไดรเวอร์ อุปกรณ์ คือ ซอฟต์แวร์ ที่ทำงานหรือควบคุม อุปกรณ์ ประเภทใดประเภทหนึ่งที่เชื่อมต่อกับ คอมพิวเตอร์ [ 1 ] ไดรเวอร์จัดเตรียม อินเทอร์เฟ ซซอฟต์แวร์ ให้กับ อุปกรณ์ ฮาร์ดแวร์...

วัตถุประสงค์

จุดประสงค์หลักของไดรเวอร์อุปกรณ์คือการจัดเตรียม การแยกส่วนฮาร์ดแวร์ โดยทำหน้าที่เป็นตัวแปลระหว่างอุปกรณ์ฮาร์ดแวร์และแอปพลิเคชันหรือ ระบบปฏิบัติการ ที่ใช้อุปกรณ์นั้น [ 1 ]...

การพัฒนา

การเขียนไดรเวอร์อุปกรณ์ต้องอาศัยความเข้าใจอย่างลึกซึ้งเกี่ยวกับวิธีการทำงานของฮาร์ดแวร์และซอฟต์แวร์สำหรับ ฟังก์ชัน แพลตฟอร์ม ที่กำหนด เนื่องจากไดรเวอร์ต้องการการเข้าถึงระดับต่ำของฟังก์ชันฮาร์ดแวร์เพื่อการทำงาน ไดรเวอร์จึงมักทำงานใน สภาพแวดล้อม ที่มีสิทธิ์ สูง...

ระดับสิทธิพิเศษ

ขึ้นอยู่กับระบบปฏิบัติการ ไดรเวอร์อุปกรณ์อาจได้รับอนุญาตให้ทำงานใน ระดับสิทธิ์ ที่แตกต่างกัน การเลือกระดับสิทธิ์ของไดรเวอร์นั้นส่วนใหญ่ขึ้นอยู่กับประเภทของ เคอร์เนล ที่ระบบปฏิบัติการใช้ ระบบปฏิบัติการที่ใช้ เคอร์เนลแบบโมโนลิธิก เช่น เคอร์เนลลินุกซ์...