It can talk to the hardware or to the shell. The shell is multi lingual and can talk to any part of the system with the exception of the hardware. The shell can be thought of as the master interpreter. It retrieves the file that holds instructions for every command that's typed in and it allows users to utilize the services of the kernel. Unix utilities can converse with the shell and indirectly with the kernel.
Utilities use functions called system calls to request services from the kernel.
They cannot interact with the kernel directly.