The kernel is the core of the operating system: it is a software layer that provides secure and controlled access to the machine's hardware (by creating a hardware abstraction layer that provides a uniform interface to the underlying hardware so to simplify
developers' job in writing applications) to all the running processes as well as scheduling processes and executing them in a multitasking environment.
The process management is different from OS to OS, so it's not a simple question to answer to: basically, the kernel manages a list of all the running process and uses some algorithm to schedule process and thread execution, but the details of this algorithm
and the way the kernel performs this operations can vary substantially in any different OS and kernel implementation.
In Windows, the kernel consists of a set of functions (written in C, with some portions in assembly code) in
Ntoskrnl.exe that provide fundamental mechanisms (such as thread scheduling and synchronization services) used by the executive components, as well as low-level hardware architecture-dependent support (such as interrupt and exception dispatching) that
are different on each processor architecture.
If you want to know something more about the Windows system architecture internals, read the book "Windows Internals, 4th Edition", written by Mark Russinovich and published by Microsoft Press: read more about this book at the following web address
http://www.microsoft.com/learning/en/us/book.aspx?ID=6710&locale=en-us
Bye.
Luigi Bruno - Microsoft Community Contributor 2011 Award