В.С. Белоус
,
В.А. Крищенко
,
Н.Ю. Рязанова
10
4) перекомпилировать ядро, для этого в терминале выполнить
следующие команды:
# make mrproper #очищает результаты предыдущей сборки
# make menuconfig # ручная конфигурация ядра
# make install -j<кол-во процессоров + 1> #выполняет
сборку ядра
# make modules_install #необходимо только при первой
сборке
# cp arch/x86/boot/bzImage /boot/vmlinuz-YourKernelName
#скопировать ядро в папку /boot
# mkinitcpio -k /boot/vmlinux-YourKernelName -c
/etc/mkinitcpio. conf -g /boot/initramfs-YourKernelName.img
# создать начальный RAM диск для загрузки ядра.
Заключение.
При работе многопоточных приложений с разделя-
емыми структурами данных необходимо обеспечивать монопольное
пользование потоками этих структур. В качестве средств взаимоис-
ключения часто используются мьютексы. Необдуманное использова-
ние мьютексов может явиться причиной попадания системы потоков
в тупик. Средства обнаружения тупиковых ситуаций для прикладных
процессов в ОС Linux отсутствуют. Своевременное обнаружение ту-
пиков и последующая их ликвидация является актуальной задачей в
интерактивных системах и системах реального времени. Предлагае-
мая методика позволяет обнаружить тупики, используя список бло-
кированных на мьютексах потоков, полученный средствами, допол-
нительно включенными в ядро ОС Linux. Методика была реализова-
на и протестирована на известных алгоритмах, что подтвердило ее
работоспособность.
ЛИТЕРАТУРА
[1] Хьюз Л., Хьюз Т.
Параллельное и распределенное программирование на
С++
. Москва, Издательский дом «Вильямс», 2004, 672 с.
[2] Шоу А.
Логическое проектирование операционных систем
. Москва, Мир,
1981, 288 с.
Статья поступила в редакцию 10.06.2013
Ссылку на эту статью просим оформлять следующим образом:
Белоус В.С., Крищенко В.А., Рязанова Н.Ю. Обнаружение тупиков на мьютек-
сах в многопоточных приложениях.
Инженерный журнал: наука и инновация
,
2013, вып. 6. URL:
Белоус Вячеслав Сергеевич
родился в 1993 г. Студент 3-го курса кафедры
«Программное обеспечение ЭВМ и информационные технологии» МГТУ им. Н.Э.
Баумана. е-mail: