I believe that GRUB (or any boot loader) gives control to the kernel. After the kernel has completed its initial startup, it passes control to a program such as init. Then init is responsible for getting the rest of the system set up.
If I understand correctly, any kernel has to have a scheduler function--is that the "sched" you are referring to?
In Linux, I believe the call to init is built into the kernel.