You are absolutely right. As a freshman in the kernel development, and having experience in high level languages, things look complicated :(.
Can you please suggest me what is the efficient and easy way to exchange data between kernel space and user space. I want the way in which the kernel should initiate the communication; the kernel daemon first sends the data to the user space daemon, and the user space daemon (waiting and listening to the kernel space daemon) receives and processes the data, and then sends feedback. There are many tools i.e., netlink (connectionless, asynchronous), ioctl, and /proc available.
Which tool, and library you suggest for performing the task? and How it could be done?
I would be grateful if you could provide me with some links/examples/blogs.
Thanks again :).