This document provides an overview of concepts related to developing an embedded system kernel. It discusses developing a custom kernel versus using alternatives like FreeRTOS. It covers key kernel design decisions like process and I/O management. The document outlines the approach taken in this course, which is to develop a microkernel that is non-preemptive, cooperative, and does not include memory management. It also discusses concepts important for kernel development like function pointers, structures, circular buffers, and temporal conditions.
Related topics: