Linux kernel development and device driver engineering are key disciplines in hardware manufacturing and embedded software development companies. Some of the tasks are better handled and optimized in the privileged kernel space than in application code.
For developers, Linux kernel provides an extensive but mostly undocumented driver API. Handling asynchronous hardware events is fundamentally different from most application code. Developers need to handle concurrency and memory management outside the usual application process or thread paradigm. Documentation is often sparse or entirely missing and books are obsolete. The code base and the driver API are always changing. Reading the kernel source code is a must.
This workshop is intended for groups of advanced Linux (POSIX) developers that would benefit from the knowledge of Linux kernel code, interrupt handling, kernel threads and operating system architecture.