Reading
All of Chapter 2
Study Questions
- Understand what module_init and module_exit are, and what they do. Also, is the actual name of the function significant?
- What is a module (device driver) linked to?
- Understand the differences between user and kernel space.
- What modes do processors use to access kernel and user spaces?
- When does Linux transfer execution from user to kernel space?
- Understand the different memory constraints when working in kernel space.
- (T or F) Kernel code can perform floating-point arithmetic?
- (T or F) Modules (device drivers) use the kernel make system?
- What purpose does vermagic.o serve?
- How do you tell the kernel that a function will only be used at initialization time?
- What is module stacking?
- What is the cleanup function and what does it do?
- Why must you always unregister everything obtained when backing out of a failed initialization?
- Know the advantages and disadvantages of user-space drivers.