As kernel_threads are processes that are listed in the task-list with a unique PID, one can send UNIX signals as the next example will show. One also can execute any user-space application with a call to execv from a kernel_thread, thus potentially you can use any interprocess communication mechanism to communicate from a user-space application to a kernel_thread. To directly access user-space facilities in kernel_threads one can't use the normal API, like open/read/write/close on a file, an example of copying a file from within a kernel_thread is given to show this possibility.