What would be helpful, if you were to give a specific example of why you'd need to access kernel memory. Generally, what the kernel stores locally is of no real value to you, and those areas where there is data you need for your application can be accessed through SYSCALLs.
If you need to change something in OS one of the 300 SYSCALLs should be sufficient enough to do that too. Kernel memory is protected for a good reason, as modifying it can have adverse affects on other programs running at the time or maybe even other users. This applies equally to all operating systems, Linux, OSX and Windows.