next up previous
Next: Linux Kernel Up: An Introduction to Device Previous: An Introduction to Device

หน้าที่ของ Device Driver

การเขียนโปรแกรมมีสิ่งหนึ่งซึ่งต้องคำนึงถึงคือ เวลาที่ใช้ กับความยืดหยุ่นของโปรแกรมที่เขียนไอ้ความยืดหยุ่นคืออะไร ? ความยืดหยุ่นของโปรแกรมทั่วๆไปแบ่งได้ ๒ อย่างคือ Mechanism(กลไก) และ Policy(นโยบาย) . Mechanism หมายถึง โปรแกรมของเราสามารถทำอะไรได้? ส่วน Policy หมายถึง ความสามารถของโปรแกรมของเราจะใช้งานได้อย่างไร? โดยปกติสิ่งที่ Device Driver ของเราจะต้องมีคือ Machanism ไม่ใช่ Policy

เวลาเขียน Device Driver เราต้องให้ความใส่ใจกับ concept พื้นฐานด้วยเพื่อให้ driver เราทำงานกับส่วนอื่นๆ ของระบบๆได้ อย่างที่กล่าวไว้ข้างต้นคือ Device Driver จะไม่ provide policy ฉะนั้นในส่วนของ application จะต้องรับผิดชอบหน้าที่นี้. แต่ในบางครั้ง Device Driver อาจต้องสร้างข้อกำหนดบ้าง เพื่อป้องกันการ access บางส่วนของ h/w หรือควบคุมรูปแบบการ access บางอย่าง

ในมุมมองอื่น เราอาจจะมองโปรแกรมทั้งหมดเป็นชั้นๆ คือชั้นล่างสุดคือตัว h/w ชั้นกลางซึ่งก็คือ driver และชั้นบน ซึ่งเป็นชั้นของ user program ทั่วๆไป และอาจจะสามารถ access h/w ตัวเดียวกันได้พร้อมๆกันจากหลายๆโปรแกรมโดยปกติแล้วโปรแกรม driver และ user program จะแยกไม่เกี่ยวข้องกัน แต่ในบางกรณีก็ release user program มาพร้อมๆกับตัว Device Driver



Pruet Boonma 2001-11-02