![][1] Сегодня, как и обещала, я продолжу тему планирования легких сущностей, которую уже начала в своем цикле статей. В нем я рассказала о внутреннем устройстве [tasklet][2], [workqueue][3] и [protothread][4]. Конечно, тема не ограничивается лишь этими примерами: есть еще FreeRTOS с ее [coroutine][5], или [GNU Portable threads][6]; или можно отойти от структур и библиотек, применяющихся в ОС, и вспомнить различные green threads, которых становится все больше и больше. На этот раз я хочу поделиться тем, как мы реализовали легкие потоки в проекте [Embox][7]. С одной стороны мы постарались учесть опыт предыдущих разработок, с другой — привнести что-то новое. [Мышь Embot не несет ответственности за код в статье][8]
[1]: //habrastorage.org/files/334/427/c23/334427c23bd54f46ba40343bfe35bad9.png
[2]:
http://habrahabr.ru/company/embox/blog/244071/
[3]:
http://habrahabr.ru/post/244155/
[4]:
http://habrahabr.ru/post/244361/
[5]:
http://www.freertos.org/croutine.html
[6]:
http://www.gnu.org/software/pth/
[7]:
https://github.com/embox/embox
[8]:
http://habrahabr.ru/post/256565/#habracut