ก่อนอื่นคุณต้องกำหนดว่าไดรเวอร์คืออะไร ฉันจะกำหนดเป็นโปรแกรมหรือรูทีนย่อยที่ควบคุมอุปกรณ์ (เช่นกล้องของคุณ) หรือระบบย่อย (เช่นระบบไฟล์) ไม่ว่าจะทำโดยตรงผ่านโปรแกรมระบบหรือผ่านเซิร์ฟเวอร์เคอร์เนลหรือกระบวนการผู้ใช้ - ที่ดินไม่ควรเป็นประเด็นหลักสำหรับคำถามเชิงความหมายนี้
ในบางกรณีลีนุกซ์ให้เฉพาะโปรโตคอลทั่วไปที่เขียนด้วยซอฟต์แวร์โดยที่ "ไดรเวอร์" ที่แท้จริงเป็นโครงสร้างอุปกรณ์ นั่นคือการกำหนดค่าพารามิเตอร์ฮาร์ดแวร์และซอฟต์แวร์ที่ใช้ในการสร้างไดรเวอร์
โดยทั่วไปแล้วอินเตอร์เฟสและโปรโตคอลของไดรเวอร์ที่ใช้พูดจะใช้งานโดยใช้โมดูลเคอร์เนลซึ่งโหลดตามความต้องการที่กำหนดโดยแผนผังอุปกรณ์หรือกฎ udev โมดูลเคอร์เนลไม่ได้อยู่ในกระบวนการหรือไลบรารีที่เข้มงวดที่สุด
ไลบรารีเป็นเพียงชุดโค้ดคงที่ที่สามารถโหลดลงในกระบวนการใดก็ตาม ระบบปฏิบัติการสมัยใหม่โหลดไลบรารีเหล่านี้ลงในหน่วยความจำที่ใช้ร่วมกัน กระบวนการสามารถลิงก์กับไลบรารีที่แบ่งใช้จำนวนเท่าใดก็ได้
กระบวนการเป็นโปรแกรมที่กำลังทำงานซึ่งโปรแกรมระบบหรือเคอร์เนลได้จัดสรรทรัพยากรเช่นหน่วยความจำระบบและเวลาซีพียู โมดูลเคอร์เนลอาจหรืออาจไม่เป็นไปตามรูปแบบนี้ด้วยตนเอง แต่ไม่ว่าจะถือเป็นกระบวนการ defacto ภายใต้ Linux
ดังนั้นเพื่อตอบคำถามของคุณผู้ขับขี่ไม่จำเป็นต้องดำเนินการ แต่อาจเป็นไปได้ ในขณะที่รหัสสามารถมีอยู่ในไลบรารีไดรเวอร์ยังคงโหลดลงใน memery ผ่านทางโปรแกรมไม่ว่าจะเป็นเคอร์เนลในรูปแบบของโมดูลเคอร์เนลหรือกระบวนการ userland
มันกลายเป็นข้อโต้แย้งเชิงความหมายมากกว่าเมื่อพิจารณาว่ายอดรวมของไดรเวอร์จริงๆ คุณสามารถบอกได้ว่าไดรเวอร์นั้นเป็นโปรแกรมเสมอ แต่บางครั้งมันก็ไม่เหมือนในกรณีที่ต้นไม้ของอุปกรณ์นั้นมันอาจเป็นกระบวนการ userland, ไฟล์ต้นไม้อุปกรณ์, กฎ udev และโมดูลเคอร์เนลที่กระบวนการและโมดูลทั้งสองใช้ไลบรารีทั้งหมด ตรรกะของไดรเวอร์