Глава 5. Работа с таймерами, потоками и рабочими очередями ядра

Содержание

Глава 5. Работа с таймерами, потоками и рабочими очередями ядра
Технические требования
Задержка на заданное время в самом ядре
Разбираемся как пользоваться атомарным API *delay()
Разбираемся как пользоваться атомарным API *sleep()
Получение временных отметок внутри кода ядра
Давайте испробуем - как долго происходят задержки и засыпания в действительности?
Драйверы "sed" - демонстрация таймеров, потоков и рабочих очередей ядра
Настройка и использование таймеров ядра
Применение таймеров ядра
Наш образец модуля таймера ядра - представление кода 1
Наш образец модуля таймера ядра - представление кода 2
Наш образец модуля таймера ядра - его исполнение
sed1 - реализация таймаутов при помощи нашего демонстрационного драйвера sed1
Умышленный пропуск своей шины
Создание потоков ядра и работа с ними
Простая демонстрация - создание потока ядра
Запуск демонстрационного потока ядра kthread_simple
Драйвер sed2 - проектирование и разработка
sed2 - проектирование
sed2 - реализация кода
sed2 - испробуем его
Запросы к потоку ядра и настройка планирования политики/ приоритета
Применение рабочих очередей ядра
Самый минимум внутреннего устройства рабочих очередей
Применение глобальных в ядре рабочих очередей
Наш образец рабочей очереди модуля ядра - представление кода
Наш образец рабочей очереди модуля ядра - его исполнение
Минипроект sed3 - краткий взгляд
Выводы
Вопросы
Дополнительное чтение

Технические требования

Задержка на заданное время в самом ядре

Разбираемся как пользоваться атомарным API *delay()

Разбираемся как пользоваться атомарным API *sleep()

Получение временных отметок внутри кода ядра

Давайте испробуем - как долго происходят задержки и засыпания в действительности?

Драйверы "sed" - демонстрация таймеров, потоков и рабочих очередей ядра

Настройка и использование таймеров ядра

Применение таймеров ядра

Наш образец модуля таймера ядра - представление кода 1

Наш образец модуля таймера ядра - представление кода 2

Наш образец модуля таймера ядра - его исполнение

sed1 - реализация таймаутов при помощи нашего демонстрационного драйвера sed1

Умышленный пропуск своей шины

Создание потоков ядра и работа с ними

Простая демонстрация - создание потока ядра

Запуск демонстрационного потока ядра kthread_simple

Драйвер sed2 - проектирование и разработка

sed2 - проектирование

sed2 - реализация кода

sed2 - испробуем его

Запросы к потоку ядра и настройка планирования политики/ приоритета

Применение рабочих очередей ядра

Самый минимум внутреннего устройства рабочих очередей

Применение глобальных в ядре рабочих очередей

Наш образец рабочей очереди модуля ядра - представление кода

Наш образец рабочей очереди модуля ядра - его исполнение

Минипроект sed3 - краткий взгляд

Выводы

Вопросы

Дополнительное чтение