- No, it's not a process
- User threads are not rooted at init.
Init is just the first process; it does not manage any proceses or threads. It does create some, using the kernel syscalls fork() and exec.
I think you have a muddy idea of what a process is. it doesn't just mean a bit of executing code. Yeah, the kernel executes before init (and the boot loader before that even). But a 'process' has a specific definition of:
- Runs in user space
- Runs with a process ID
- Many interactions need to go through the kernel
- All resources need to come from kernel
- Needs to be scheduled by kernel
So, once the kernel initializes, it runs init, which then spawns whatever other processes its configuration says to.
As far as #2 goes, all the kernel stuff is, well, in the kernel. Think of the kernel as a large area of code. Again, not a process, but a large code blob. Parts of the kernel deal with memory management, parts of it with scheduling portions of itself (like drivers, etc.), and parts of it with scheduling processes.