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

Подлинный книжный запуск, ядра Linux (2 -е издание) Том 2: Отладка и анализ случая случаев дяди глупостей, занимающихся разработчиками встроенных систем Linux.

Цена: 1 633руб.    (¥90.8)
Артикул: 639724621142

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

Этот товар на Таобао Описание товара
Продавец:智源图书专营店
Адрес:Пекин
Рейтинг:
Всего отзывов:0
Положительных:0
Добавить в корзину
Другие товары этого продавца
¥33.3599руб.
¥25.6461руб.
¥114.22 054руб.
¥197.93 559руб.

Товарные параметры.jpg
Запуск ядра Linux (2 -е издание) Том 2: Отладка и анализ случая.
Ценообразование109.90
ИздательЛюди после прессы
ВерсияВерсия 2
Опубликованная датаМарт 2021 г.
формат16
авторДядя
Количество страниц0
Число слов610
Кодирование ISBN9787115552525
масса640

Товарные параметры.jpg
В этой книге описываются навыки отладки и случаи ядра Linux на основе исходного кода ядра Linux 5.0.В этой книге есть 6 глав.Основное содержание включают одновременную и синхронизацию, управление прерыванием, отладку ядра и оптимизация производительности. Они основаны на решениях задач времени простоя X86_64, основанных на решениях задач простоя ARM64, а также на принципах и схемах ремонта уязвимостей безопасности.Эта книга подходит для чтения разработчиков системы Linux, разработчиков встроенных систем и разработчиков Android. Это также может быть прочитана учителями и учениками из специальностей, связанных с компьютером.
Товарные параметры.jpg

Оглавление



Глава 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 RCU 64
1.10.1 Простой пример RCU 65
1.10.2 Классический RCU и Tree RCU 68
1.11 Анализ случая: блокировка управления памятью 69
1.11.1 mm->mmap_sem 70
1.11.2 mm->page_table_lock 71
1.11.3 PG_Locked 72
1.11.4 anon_vma->rwsem 72
1.11.5 zone->lru_lock 74
1.11.6 RCU 75
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 о платформе Ping Virtual Machine Qemu
Пример 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 tasklet 129
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 Эксперимент Ping Taiwan 165
3.1.1 Используйте компиляцию оптимизированного уровня O0
Ядро 165
3.1.2 Qemu Virtual Machine+Debian
Эксперимент Ping Platform 166
3.1.3 Однопроизводительная отладка ARM64 Linux
Ядро 171
3.1.4 Одноэтапная отладка в графическом режиме
Ядро 172
3.1.5 Сингл -шага от отладки Head.s файл 176
3.2 ftrace 181
3.2.1 IRQS Tracker 182
3.2.2 Функциональный трекер 184
3.2.3 Dynamic Ftrace 185
3.2.4 Отслеживание инцидентов 186
3.2.5 Добавить точку отслеживания 188
3.2.6 TRACE-CMD и KERNELSHARK 191
3.2.7 Отслеживание Марка 192
3.2.8 Резюме 195
3.3 Обнаружение памяти 196
3.3.1 slub_debug 197
3.3.2 обнаружение памяти Kasan 202
3.4 Обнаружение мертвого замка 204
3.5 Метод тестирования ядра 210
3.5.1 printk 210
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/Comminger 219
3.6.4 Perf Stat Command 220
3.6.5 Perf T0P Команда 221
3.7 SystemTap 222
3.8 EBPF и BCC 224
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
И авария 233
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



Товарные параметры.jpg
Дядя глупый, энтузиаст ядра Linux, опубликовал «Запуск ядра Linux» и «Запуск ядра Linux».Создайте бегущее сообщество Linux.
Товарные параметры.jpg
Основываясь на архитектуре ядра Linux 5.0 и архитектуры ARM64/X86_64, комплексной пересмотре, посредством анализа случаев простоя и уязвимостей безопасности, суммируйте навыки отладки