ucos ii avr
venz: cooperative (non-preemtive) kernel means that the tasks must cooperate with each other to share CPU.
Preemptive kernel means that the taks with highest priority has always the control of CPU. If some action (e.g. interrupt) raise the priority of some task, this task immediately will have the CPU.
Preemptive kernels has better responsiveness and task level response is deterministic.
Cooperative kernels have also some advantages, like low interrupt latency.