There is something more or less like an onion-skin model that can be used to describe the differences between different types of operating systems and in particular their kernels.
To describe it, you have to start from the core. This is just the general categories that have a dominent representation in practical use:
This is the level at which some (most) embedded systems exist. All of the resources are controlled by the main thread of the root process. This is the level with maximum performance and maximum burden upon the programmer to prevent resource deadlocks and mitigate contention.