These days interview a few want to do Android Linux drive, the overall sense of the driving base is still relatively weak, most of the situation is the driver, but basically the kernel is out of the box, or the Development Board already have, individually write the module drive very little, Drive mechanism understanding is not very thorough. Here are a few of the basic questions that have been asked casually, for reference.
1, character type drive device how do you create a device file that is/dev/the following device files for the upper application to open?
2, write an interrupt service need to pay attention to what? What do you do if you have to do more things after the interruption?
3, the spin lock and the signal volume in mutually exclusive use need to notice Which? Is the mutex used in the interrupt service program a spin lock or semaphore? Or can they both be used? Why?
4, atomic operation How do you understand? In order to implement a mutex, define a variable as a tag to use as a resource with only one consumer row?
5, Insmod a driver module, which function in the module will be executed? Where's rmmod? What are the two functions designed to pay attention to? Have you encountered an abnormal uninstallation drive? What is causing the problem?
6, in the drive debugging process encountered the country oops not? How did you deal with it?
7. What is the difference between IOCTL and unlock_ioctl?
8, device drive model three important members are? What is the matching rule for the Platfoem bus? Do you want to register the device before registering the drive in the specific application? Do you have a sequence yet?
These should all be the basis of the problem, but from the actual situation, the answer is not very correct.
Several Linux driver interview topics