Libusb เป็นไลบรารีเพื่อโต้ตอบกับอุปกรณ์ USB ในลักษณะเดียวกับที่ curses เป็นไลบรารีเพื่อโต้ตอบกับเทอร์มินัลข้อความ ALSA (ส่วนประกอบ libasound ที่แม่นยำยิ่งขึ้น) เป็นไลบรารีเพื่อโต้ตอบกับอุปกรณ์ audi เป็นต้นเคอร์เนลจัดการกับการโต้ตอบของฮาร์ดแวร์ มันมีแฟ้มอุปกรณ์ที่สามารถเปิดการใช้งานในการโต้ตอบกับฮาร์ดแวร์ผ่านread
, write
และสายระบบioctl
ioctl
เป็นการเรียกระบบ: อนุญาตให้แอปพลิเคชัน (รหัสระดับผู้ใช้) สามารถส่งคำขอที่ประมวลผลโดยเคอร์เนล
Libusb อนุญาตให้แอปพลิเคชันลงทะเบียนฟังก์ชั่นการโทรกลับซึ่งจะดำเนินการเมื่ออุปกรณ์มีบางสิ่งที่ต้องรายงาน นี่คือภาพรวมคร่าวๆของการไหลของข้อมูลภายใต้ประทุน:
- สัญญาณไฟฟ้าบนบัสทำให้เกิดเหตุการณ์บนคอนโทรลเลอร์ USB
- คอนโทรลเลอร์ USB จะเพิ่มสัญญาณขัดจังหวะบนโปรเซสเซอร์หลัก
- โปรเซสเซอร์ดำเนินการตัวจัดการขัดจังหวะในเคอร์เนลระบบปฏิบัติการ
- ประกาศเคอร์เนลว่ากระบวนการที่เป็นอยู่ในปัจจุบันในการปิดกั้น
read
, write
หรือioctl
โทรระบบแฟ้มอุปกรณ์และสาเหตุที่ระบบโทรกลับ
- ในกระบวนการลงจอดของผู้ใช้เมื่อการเรียกระบบส่งคืนรหัสไลบรารีจะถูกดำเนินการ
- รหัสห้องสมุดดำเนินการฟังก์ชั่นการโทรกลับที่ลงทะเบียนโดยโปรแกรมเมอร์โปรแกรม