Обнаружение тупиков на мьютексах в многопоточных приложениях - page 8

В.С. Белоус
,
В.А. Крищенко
,
Н.Ю. Рязанова
8
В результате работы алгоритма создается массив необработанных
(заблокированных) потоков. В результате его анализа по предлагае-
мому алгоритму (рис. 8) определяется состояние системы потоков (не
находятся ли потоки в тупике).
Рис. 8.
Алгоритм обнаружения тупиков
Автоматизация внесения изменений в ядро.
Вместо внедрения
изменений в ядро вручную, можно с помощью системы контроля вер-
сий git сгенерировать патч (рис. 9). Для его применения, необходимо:
1) сохранить его в файл, например kernel.patch (расширение не
имеет значения);
2) скачать исходные коды ядра с сайта
;
3) в режиме командной строки выполнить следующую последо-
вательность команд:
скопировать исходники ядра в папку /usr/src/linux:
# cp linux-<версия ядра>.tar.bz2 /usr/src
распаковать исходники:
# tar -xjf /usr/src/linux-<версия ядра> -C /usr/src/
скопировать патч в папку с исходниками ядра:
# cp kernel.patch /usr/src/linux-<версия ядра>
перейти в папку с исходниками ядра:
$ cd /usr/src/linux-<версия ядра>
применить патч:
# patch -p0 < kernel.patch
1,2,3,4,5,6,7 9,10,11
Powered by FlippingBook