Explain how you would implement communication between a user-space application and a custom kernel module.