In the previous article I mentioned about multithreading. The article covered such basic notions as types of multitasking, the scheduler, scheduling strategies, the state machine, and other.
This time, I want to look at the problem of scheduling from another perspective. Namely, Iâm going to tell you about scheduling not threads, but their âyounger brothersâ. Since the article turned out to be quite long, at the last moment I decided to break it up into several parts:
- Multitasking in the Linux Kernel. Interrupts and Tasklets
- Multitasking in the Linux Kernel. Workqueue
- Protothread and Cooperative Multitasking
In the third part, I will also try to compare all of these seemingly different entities and extract some useful ideas. After a little while, I will tell you about the way we managed to apply these ideas in practice in the Embox project, and about how we started our operating system on a small board with almost full multitasking.
Read more at Vita Loginova's blog.