Многозадачность в ядре Linux: прерывания и tasklet’ы
|
|
Понедельник, 24 Ноября 2014 г. 20:59
+ в цитатник

В
предыдущей своей статье я затронула тему многопоточности. В ней речь шла о базовых понятиях: о типах многозадачности, планировщике, стратегиях планирования, машине состояний потока и прочем.
На этот раз я хочу подойти к вопросу планирования с другой стороны. А именно, теперь я постараюсь рассказать про планирование не потоков, а их “младших братьев”. Так как статья получилась довольно объемной, в последний момент я решила разбить ее на несколько частей:
- Многозадачность в ядре Linux: прерывания и tasklet’ы
- Многозадачность в ядре Linux: workqueue
- Protothread и кооперативная многозадачность
В третьей части я также попробую сравнить все эти, на первый взгляд, разные сущности и извлечь какие-нибудь полезные идеи. А через некоторое время я расскажу про то, как нам удалось применить эти идеи на практике в
проекте Embox, и про то, как мы запускали на маленькой платке нашу ОС с почти полноценной многозадачностью.
Рассказывать я постараюсь подробно, описывая основное API и иногда углубляясь в особенности реализации, особо заостряя внимание на задаче планирования.
Читать дальше → http://habrahabr.ru/post/244071/
Метки:
*nix
Системное программирование
os
kernel
linux kernel
multithreading
irq
interrupts
tasklet
-
Запись понравилась
-
0
Процитировали
-
0
Сохранили
-