Инструменты динамической трассировки DTrace и SystemTap Автор курса Кляус С%&% Инструменты динамической трассировки DTrace и SystemTap Оглавление Введение.............................................................................................................................6 От автора.........................................................................................................................6 Принятые обозначения..................................................................................................8 Нагрузчик TSLoad..........................................................................................................9 Ядро операционной системы......................................................................................12 Модуль 1. Инструменты динамической трассировки. Утилиты dtrace и stap..14 Трассировка ядра.........................................................................................................14 Динамическая трассировка.........................................................................................15 DTrace...........................................................................................................................17 SystemTap......................................................................................................................21 Безопасность................................................................................................................25 Стабильность................................................................................................................26 Модуль 2. Языки динамической трассировки.........................................................27 Пробы............................................................................................................................29 Аргументы пробы........................................................................................................35 Контекст пробы............................................................................................................37 Предикаты.....................................................................................................................38 Переменные..................................................................................................................39 Указатели......................................................................................................................43 Строки и структуры.....................................................................................................45 Контрольные вопросы.................................................................................................47 Упражнение 1...............................................................................................................48 Ассоциативные массивы.............................................................................................49 Агрегации.....................................................................................................................51 Время............................................................................................................................54 Вывод данных..............................................................................................................56 Cпекуляции...................................................................................................................58 Трансляторы и tapset'ы................................................................................................59 Контрольные вопросы.................................................................................................62 Упражнение 2...............................................................................................................63 Модуль 3. Основы динамической трассировки.......................................................64 Применение трассировки............................................................................................64 Динамический анализ кода.........................................................................................66 Профилирование..........................................................................................................73 Производительность....................................................................................................78 Пред- и пост-обработка...............................................................................................81 Визуализация................................................................................................................86 Модуль 4. Динамическая трассировка операционных систем.............................89 Управление процессами..............................................................................................89 Упражнение 3.............................................................................................................101 Планировщик процессов...........................................................................................103 2 На условиях лицензии CC-BY-NC-SA Виртуальная память...................................................................................................121 Страничный сбой.......................................................................................................125 Аллокатор ядра...........................................................................................................132 Упражнение 4.............................................................................................................135 Виртуальная файловая система................................................................................136 Блочный ввод-вывод..................................................................................................142 Асинхронность в ядре...............................................................................................150 Упражнение 5.............................................................................................................152 Сетевой ввод-вывод...................................................................................................154 Примитивы синхронизации......................................................................................159 Обработка прерываний..............................................................................................165 Модуль 5. Динамическая трассировка пользовательских приложений...........168 Трассировка пользовательских процессов..............................................................168 Статические пробы процессов.................................................................................170 Стандартные библиотеки Unix.................................................................................172 Упражнение 6.............................................................................................................176 Java VIrtual Machine...................................................................................................177 Интерпретируемые языки программирования........................................................186 Веб-приложения.........................................................................................................188 Упражнение 7.............................................................................................................195 Приложение 1. Подсказки и решения к упражнениям.........................................196 Упражнение 1.............................................................................................................196 Упражнение 2.............................................................................................................198 Упражнение 3.............................................................................................................199 Упражнение 4.............................................................................................................202 Упражнение 5.............................................................................................................207 Упражнение 6.............................................................................................................211 Упражнение 7.............................................................................................................212 Приложение 2. Подготовка систем для выполнения лабораторных работ......214 Настройка CentOS 7.0................................................................................................214 Настройка SolarIs 11.2...............................................................................................215 Настройка iSCSI.........................................................................................................215 Установка и настройка Web-стека............................................................................216 На условиях лицензии CC-BY-NC-SA 3 Инструменты динамической трассировки DTrace и SystemTap Список листингов Скрипты SystemTap Скрипт wstat.stp.................................................................................................................53 Скрипт /usr/share/systemtap/tapset/lstat.stp......................................................................60 Скрипт lstat.stp..................................................................................................................61 Скрипт callgraph.stp..........................................................................................................69
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages220 Page
-
File Size-