8 (905) 200-03-37 Владивосток
с 09:00 до 19:00
CHN - 1.14 руб. Сайт - 17.98 руб.

Запуск ядра Linux Том 2 2: Отладка и анализ случаев.

Цена: 1 457руб.    (¥81.02)
Артикул: 642355385524

Вес товара: ~0.7 кг. Указан усредненный вес, который может отличаться от фактического. Не включен в цену, оплачивается при получении.

Этот товар на Таобао Описание товара
Продавец:浙江出版集团图书专营店
Адрес:Чжэцзян
Рейтинг:
Всего отзывов:0
Положительных:0
Добавить в корзину
Другие товары этого продавца
¥19.6353руб.
¥45.43817руб.
¥46.8842руб.
¥101.061 818руб.





Основная информация
наименование товара:Запуск ядра Linux (2 -е издание) Том 2: Отладка и анализ случая.формат:16
Автор:ДядяКоличество страниц:
Цены:109.9Опубликованная дата:2021-03-01
Номер ISBN:9787115552525Время печати:2021-03-01
Издательство:Народные сообщения и телекоммуникацииВерсия:2
Типы продукта:книгиИндийский:1
Об авторе:
Дядя глупый, энтузиаст ядра Linux, опубликовал «Запуск ядра Linux» и «Запуск ядра Linux».Создайте бегущее сообщество Linux.
Краткое содержание:
В этой книге описываются навыки отладки и случаи ядра Linux на основе исходного кода ядра Linux 5.0.В этой книге есть 6 глав.Основное содержание включает одновременную и синхронизацию, управление прерыванием, отладку ядра и оптимизацию производительности, основанные на решениях задач времени простоя X86
    Эта книга подходит для чтения разработчиков системы Linux System, разработчиков встроенных систем и разработчиков Android. Она также может быть прочитана учителями и учениками из специальностей, связанных с компьютером.

......

Оглавление:


Оглавление







Глава 1 одновременная и синхронная 1

1.1 Атомная операция 3

1.1.1 Атомная операция 3

1.1.2 Анализ функции Atomic_Add () 6

1.1.3 Сравнение и инструкция по обмену 7

1.2 Барьер памяти 11

1.2.1 Функция интерфейса классического барьера памяти 11

1.2.2 Функция интерфейса интерфейса барьеры памяти 13

1.3 Classic Spin Lock 14

1.3.1 Реализация спиновой блокировки 15

1.3.2 Изменение спинового блокировки 18

1.3.3 spin_lock () и raw_spin_lock ()

Функция 19

1,4 мкс блокировки 20

1.4.1 Краткий канал приложения 21

1.4.2 Мид -скорость приложения канал 22

1.4.3 Медленно применение канал 23

1.4.4 Lock 26

1,5 линейка Self -Spin Lock 27

1.5.1 Канал быстрой приложения 29

1.5.2.

1.5.3 Медленно применение канал 32

1.5.4 Отпустить блокировку 36

1.5.5 Анализ случая: почему здесь

В ожидании домена должно быть ясно 36

1.5.6 Резюме 38

1.6 Сигнал 39

1.6.1 Введение в количество сигнала 39

1.6.2 Резюме 43

1,7 взаимная блокировка 43

1.7.1 Структура данных MUTEX 43

1.7.2 Экспрессия быстрого канала 44

1.7.3 Медленный канал взаимного блокировки 46

1.7.4 Оптимистичный механизм ожидания SPEN 47

1.7.5 Mutex_unlock () Анализ функции 50

1.7.6 Анализ падежа 51

1.7.7 Резюме 52

1.8 Чтение и написание блокировки 52

1.9 Чтение и написание Семфор 53

1.9.1 RW_SEMAPORE Структура 53 53

1.9.2 Подать заявку на тип считывателя Semaphore 55

1.9.3 Выпустите Semaphore 58 типа читателя 58

1.9.4 Тип заявителя Symeter 58

1.9.5 Тип писателя релизов Symeter 64

1.9.6 Резюме 64

1.10 RCU64

1.10.1 Простой пример RCU 65

1.10.2 Classic RCU и Tree RCU68

1.11 Анализ случая: блокировка управления памятью 69

1.11.1 mm->mmap_sem70

1.11.2 mm->page_table_lock71

1.11.3 PG_Locked72

1.11.4 anon_vma->rwsem72

1.11.5 zone->lru_lock74

1.11.6 RCU75

1.11.7 Обнаружение застой RCU 78

Глава 2 Управление прерыванием 81

2.1 Контроллер прерывания 82

2.1.1 Статус прерывания и метод триггера прерывания 82

2.1.2 ARM GIC-V2 Контроллер прерываний 83

2.1.3 О руке Vexpress V2P

Пример совета по развитию 85

2.1.4 о платформе Qemu Virtual Machine

Пример 86

2.2 Карта аппаратного номера прерывания и номер прерывания Linux 87

2.3 Регистрационное прерывание 98

2.4 ARM64 Основная лечение прерыванием 105

2.4.1 Аномальный вектор Таблица 105

2.4.2 IRQ обработка 107

2.4.3 Box 108

2.4.4 Сохранить контекст прерывания 110

2.4.5 восстановить прерванный контекст 112

2,5 Высокое лечение прерываний 114

2.5.1 Прыжки с сборкой 114

2.5.2 HARDE_ARCH_IRQ Обработка 115

2.5.3 Маленький класс 123

2.6 Мягкое прерывание и задание125

2.6.1 Мягкое прерывание 125

2.6.2 tasklet129

2.6.3 local_bh_disable () и

Local_bh_enable () Анализ функций 134

2.6.4 Резюме 135

2.7 Рабочая очередь 136

2.7.1 Связанная структура данных в очереди работы 137

2.7.2 Инициализация очереди работы 141

2.7.3

2.7.4 Добавить и отправить работу149

2.7.5 Относитесь к работе153

2.7.6 Отмените работу157

2.7.7 Взаимодействие с планировщиком 159

2.7.8 Резюме 161

Глава 3 Отладка ядра и оптимизация производительности 164

3.1 Создать ARM64 Экспериментальную платформу 165

3.1.1 Используйте компиляцию оптимизированного уровня O0

Ядро 165

3.1.2 Qemu Virtual Machine+Debian

Экспериментальная платформа 166

3.1.3 Однопроизводительная отладка ARM64 Linux

Ядро 171

3.1.4 Одноэтапная отладка в графическом режиме

Ядро 172

3.1.5 Сингл -шага от отладки Head.s файл 176

3.2 ftrace181

3.2.1 IRQS Tracker 182

3.2.2 Функциональный трекер 184

3.2.3 Dynamic FTRACE185

3.2.4 Отслеживание инцидентов 186

3.2.5 Добавить точку отслеживания 188

3.2.6 TRACE-CMD и KERNELSHARK191

3.2.7 Отслеживание Марка 192

3.2.8 Резюме 195

3.3 Обнаружение памяти 196

3.3.1 slub_debug197

3.3.2 обнаружение памяти Kasan 202

3.4 Обнаружение мертвого замка 204

3.5 Метод тестирования ядра 210

3.5.1 printk210

3.5.2 Динамический выход 212

3.5.3 Анализ упс 213

3.5.4 bug_on () и warn_on () макрос

Анализ 217

3.6 Используйте производительность оптимизации PERF 217

3.6.1 Установить инструмент Perf 218

3.6.2 Perf List Command 218

3.6.3 Perf Record Report Команда 219

3.6.4 Perf Stat Command 220

3.6.5 Perf Top Command 221

3.7 SystemTap222

3.8 EBPF и BCC224

3.8.1 Коллекция инструментов BCC 224

3.8.2 Напишите BCC Script 225

Глава 4 на основе X86_64, решение проблемы простоя 229

4.1 Kdump и Crash Tools 230

4.2 x86_64 Архитектура Базовые знания 230

4.2.1 Общий регистр 230

4.2.2 Правило вызова параметра функции 231

4.2.3 Структура структуры 232

4.2.4 Метод сайта 232

4.3 Установите и настройте Kdump в Centos 7.6

И Crash233

4.4 Команда сбоя 235

4.5 Случай 1: простой случай простоя 244

4.6 Случай 2: Посетите удаленный список связанного списка 250

4.7 Случай 3: Реальный случай краха вождения 254

4.8 Механизм проверки мертвого замка 259

4.9 Случай 4: простой тупик 261.

4.10 Случай 5: анализировать и получить значения параметров

Переменная 263

4.11 Случай 6: Сложный дело в центре города 270

4.11.1 Описание проблемы 271

4.11.2 Анализ процесса PS 276

4.11.3 Процесс тестирования анализа 281

4.11.4 Рассчитайте, как долго процесс заблокирован

Время 283

Глава 5 Решение проблемы на основе ARM64 285

5.1 Создание экспериментальной среды Kdump 285

5.2 Случай 1: простой случай простоя 287

5.3 Случай 2: стек вызовов функции восстановления 288

5.4 Случай 3: Анализ и производные параметры 291

5.5 Случай 4: сложный случай простоя 294

5.5.1 Анализ процесса PS 296

5.5.2 Процесс тестирования анализа 299

Глава 6 Анализ уязвимости безопасности 303

6.1 Атака бокового канала 303

6.2 Анализ уязвимости FUSE CPU 306

































































6.2.1 Выполнение случайной последовательности, аномальная обработка и адрес

Пространство 306

6.2.2 Схема ремонта: технология KPTI 307

6.3 CPU "Призрак" уязвимость 317

6.3.1 Прогноз филиала 317

6.3.2 Принцип атаки 320

6.3.3 Схема ремонта 321

Приложение A использует DS-5 для отладки ARM64 Linux

Ядро 325

Приложение B ARM64 Эксклюзивная инструкция доступа 341

Приложение C Диаграмма преобразования состояния Mesi 345

Приложение D Высоко -скорость кеша и барьера памяти 350




......

Цвет страница: