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

63092 | Подлинная бесплатная доставка [Печать на запрос] Исследование ядра Linux: в -Даролевом анализе архитектуры и проектирования файловой системы и привода оборудования

Цена: 955руб.    (¥53.1)
Артикул: 584185015491

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

Этот товар на Таобао Описание товара
Продавец:北京华章图书旗舰店
Адрес:Пекин
Рейтинг:
Всего отзывов:0
Положительных:0
Добавить в корзину
Другие товары этого продавца
¥51.3923руб.
¥30.99558руб.
¥101.31 822руб.
¥195.73 519руб.

Книги, продаваемые в этом магазине, являются настоящими книгами

  Книга    имя: 
  Цена книги:  59 Юань
   
  out   Общество:  Machinery Industry Press
  Дата публикации: 2014-01-01
 ISBN  номер: 9787111445852
  открыто    Книга:16
  страница  &Nbsp; номер:219
     раз:1-1
Гао Цзянлин, старший эксперт по ядрам Linux, эксперт по системе хранения, встроенный эксперт по системе.Он работал в таких компаниях, как Huawei, UT Steak, Simon Tik, и занимался исследованиями в области исследований и разработок, разработки программного обеспечения и хранения, связанных с оборудованием маршрутизатора более 10 лет. У него богатый опыт.В настоящее время он работает в Tencent и отвечает за разработку и исследования системы хранения.
«Исследование ядра Linux: в -depth анализ архитектуры и проектирования файловой системы и оборудования» с точки зрения промышленных потребностей, фокусируясь на эффективности и практичности, является редкой превосходной работой!Автор - старший эксперт по ядрам Tencent Linux и эксперт по системе хранения. Для более 10 лет работы и исследований в этой области сотни инженеров Linux ядра были опрошены. Легко делать ошибки.По этим причинам автор написал «Исследование ядра Linux: в -depth анализ архитектуры и проектирования файловой системы и оборудования».«Исследование ядра Linux: в -depth анализ архитектуры и дизайна файловой системы и привода устройства» отправной точки, а метод записи можно описать как уникальное. Ядро Linux разделено на два измерения, одно из них -основные и прикладные детали. а другой -архитектура ядра и проверка ядра. Два измерения были организованы и объединены, и были тщательно проанализированы принципы проектирования и реализации файловой системы ядра Linux и архитектуры, вызванной оборудованием.
Вся книга логически разделена на три части: первая часть (глава 1–2) сначала делит слой ядра в качестве основного уровня и слоя приложения, объясняя структуру обслуживания и данных, содержащиеся в основном уровне, и различные функции, содержащиеся в Уровень приложения. Затем введите обзор архитектуры файловой системы, чтобы заложить основу для читателей, чтобы узнать знания после обучения; вторая часть (глава 3-9) от устройства до автобуса до водителя, постепенно углубляется, Анализирует общую архитектуру оборудования, для оборудования для SYSF, устройства и входного устройства для оборудования, шины платформы, шины Serio, шины PCI, принципов реализации устройства блокировки и рабочего механизма для системы обслуживания; , наконец, через реальную файловую систему Ext2, просмотрите все знания этой книги.

«Исследование ядра Linux: в -depth Analysis of Architecture and Design файловой системы и накопителя оборудования»
Предисловие
Глава 1 Основной слой и приложенный слой ядра 1
1.1 Служба, предоставленная базовым уровнем 1 ядра
1.1.1 Используйте память в ядре 2
1.1.2 Планирование задач в ядре 2
1.1.3 Мягкое прерывание и задание 3
1.1.4 Рабочая очередь 4
1.1.5 Spin Lock 5
1.1.6 Semaphore 5 ядра 5
1.1.7 Атомная переменная 5
1.2 Структура данных на базовом уровне ядра 6
1.2.1 Двухчастотный список связанного списка 6
1.2.2 Хэш -ссылки 6
1.2.3 ОДИН -Связанный список 7
1.2.4 красное и черное дерево 7
1.2.5 Radix Tree 7
1,3 Уровень применения ядра 8 8
1.4 Обзор ядра из источника ядра Linux 9
1,5 четыре этапа обучения и применения ядра 10 10
1.6 Резюме этой главы 11
Глава 2 Файловая система 12
2.1 Основные концепции файловой системы 12
2.1.1 Что такое VFS 13
2.1.2 Super Block Super_block 13
2.1.3 Каталог.
2.1.4 Индексный узел INODE 15
2.1.5 Файл 17
2.2 Архитектура файловой системы 17
2.2.1 Ultimate Analysis of the Super Lab
2.2.2 Анализ эффекта Дентри 18
2.2.3 Анализ INODE 20
2.2.4 Анализ эффективности файлов 21
2.3 В -Depth Analysis of File System с уровня кода 21
2.3.1 Самая простая файловая система AUFS 22
2.3.2 Как управлять каталогом и файлом 26 файловой системы 26
2.3.3 Процесс монтажа файловой системы 38
2.3.4 Анализ кода 42 файла 42
2.4 Сводка этой главы 59
Глава 3 Концепция и общая архитектура оборудования 60
3.1 Таблица 60 конфигурации 60
3.2 Регистр устройства доступа и память оборудования 61
3.3 Устройство прерывания и DMA 61
3.4 Сканирование шины устройства 62
3.5 Управление водителем оборудования 62
3.6 Резюме этой главы 62
Глава 4 SYSFS 63, Система услуг специальной системы файловой системы
4.1 Создание файлов и каталога 63
4.1.1 Инициализация файловой системы SYSFS 64
4.1.2 Создание каталога файловых систем SYSFS 64
4.1.3 Создание обычных файлов 68
4.2 Открыть работу файла SYSFS 69
4.2.1 Реальная функция функции Подробное объяснение 70
4.2.2 Создайте структуру 70 INODE для файла
4.2.3 Привязывающие атрибуты для структуры Дентри 71
4.2.4 Вызовите функцию Open в файловой системе 72
4.3 Чтение и написание файла SYSFS 74
4.3.1 Анализ процесса файла чтения 74
4.3.2 Анализ процесса написания файлов 75
4.4 KOBject Structure 76
4.4.1 Связь между Kobject и KSET 76
4.4.2 Экземпляр KOBject: регистрация автобуса 77
4.5 Сводка этой главы 79
Глава 5 Оборудование символов и входное устройство 80
5.1 Как превратить файл в устройство 80
5.1.1 init_special_inode функция 80
5.1.2 DEF_CHR_FOPS Структура 81
5.2 Регистрация устройства ввода 82
5.2.1 В основном -Славное устройство номер 83
5.2.2 Зарегистрируйте устройство ввода в систему 84
5.2.3 Регистрация интервала оборудования 85
5.2.4 Зарегистрированное оборудование для персонажей 86
5.2.5 Откройте устройство ввода 87
5.3 Архитектура ввода устройства 88
5.3.1 Драйвер устройства ввода 88
5.3.2 Оборудование и драйвер 89, который соответствует управлению вводами
5.3.3 Зарегистрировать устройство ввода 90
5.4 Сводка этой главы 92
ГЛАВА 6 ПЛАТПИЗАЯ БУС 93
6.1 Процесс устройства от драйвера 93
6.1.1 Инициализация 93
6.1.2 Регистрационный драйвер 94
6.1.3 Добавьте водитель в автобус 95
6.1.4 Привод загружен 95
6.1.5 Оборудование на автобусе 96 на автобусе 96
6.2 Процесс поиска драйвера с устройства 98
6.2.1 Регистрационное оборудование и автобус тип 98
6.2.2 Ресурсы зарегистрированного оборудования 99
6.2.3 Добавить объект устройства 100
6.3 Сводка этой главы 102
Глава 7 Serio Bus 103
7.1 Что такое автобусный адаптер 103
7.2. Регистрационное устройство для регистрации в шине Serio 103
7.2.1 Регистрационный порт.
7.2.2 езда на автобусе 106 раз
7.2.3 Зарегистрировать устройство ввода 109
7.3 Драйвер виртуальной клавиатуры 110
7.3.1 Инициализация клавиатуры 110
7.3.2 Создание соединения с оборудованием 111
7.3.3. Запустите оборудование для клавиатуры 111
7.3.4 Событие между устройством ввода и системой хоста 112
7.4 Клавиатура прерывание 112
7.4.1 Обработка прерывания устройства Q40KBD 113
7.4.2.
7.4.3 Лечение прерываний, предоставленное водителем 113
7.5 Эта глава является резюме 116
Глава 8 PCI Bus 117
8.1 В -десятого понимания PCI Bus 117
8.1.1 Принципы работы оборудования PCI 117
8.1.2 PCI BUS -домен 118
8.1.3 Управление ресурсами PCI 118
8.1.4. Строительство и настройка конфигурации PCI 119
8.2 Процесс сканирования устройств PCI 120
8.2.1 Сканирование № 0 Автобус 120
8.2.2 Сканировать устройство PCI на шине 121
8.2.3 Сканирование многофункционального оборудования 124
8.2.4 Сканирование одного устройства 125
8.2.5 Информация об оборудовании для сканирования 125
8.3 Резюме этой главы 128
Глава 9 Оборудование 129
9.1 Архитектура оборудования 129
9.1.1 Устройство, дисковый объект и очередь 129
9.1.2 Привязывание оборудования и универсальных дисковых объектов 130
9.1.3 Функция обработки очереди и очередей оборудования 131
9.2 Анализ процесса создания оборудования 132
9.2.1 Инициализация NBD Drive 132
9.2.2 Создать очередь для общего диска объекта 133
9.2.3 Добавьте объект общего диска в систему 134
9.3 Файловая система оборудования 135
9.3.1 Инициализация файловой системы устройства 135
9.3.2 Идеи проектирования файловой системы устройства 136
9.4 Процесс открытия оборудования 136
9.4.1 Получите объект блочного оборудования 137
9.4.2 Открытый процесс выполнения блочного оборудования 140
9.5 Эта глава - саммит 142
Глава 10 Чтение и написание файловой системы 143
10.1 Механизм кеша страниц 143
10.1.1 буферный ввод/вывод и прямой ввод -вывод 143
10.1.2 буферная головка и кеш -блок 143
10.1.3 Управление кэшем страниц 144
10.1.4 Статус кэша страниц 145
10.2 Файл ПРЕДИТРИЧЕСКИЙ 146
10.3 блокировка файла 146
10.4 Анализ кода процесса считывания файлов 147
10.5 Процесс чтения возвращает 161
10.6 Анализ кода процесса написания файлов 162
10.7 Резюме этой главы 169
Глава 11 Общий слой блока и слой SCSI 170
11.1 Очередь оборудования 170
11.1.1 Функция обработки очередей оборудования оборудования SCSI 170
11.1.2 Алгоритм лифта и объект 171
11.2 Сложный диск HBA Abstraction Layer 172
11.3 Последовательный контроль ввода/вывода 173
11.4 Алгоритм планирования ввода/вывода 173
11.4.1 Алгоритм планирования NOOP 173
11.4.2 Алгоритм планирования срока 174
11.5 Процесс обработки ввода/вывода 178
11.5.1 Анализ процесса ввода/вывода 178
11.5.2 Анализ процесса обработки ввода/вывода 186
11.5.3 Путь возвращения ввода/вывода 194
11.6 Резюме этой главы 203
Глава 12 Механизм ядра. 204
12.1 Условия триггера ядра 204
12.2 Параметры управления восстановлением ядра 204
12.3 Timer Trigger Перепечатка 205
12.3.1 Начните таймер 205
12.3.2 выполнение операции возврата 207
12.3.3 Checkpiege Page 208
12.3.4 Напишите INODE 209 в Super Block
12.4 Написание баланса 213
12.4.1 Проверьте состояние прямого восстановления 214
12.4.2 Условие грязной страницы системы 215
12.4.3 Проверьте режим компьютера 216
12.5 Резюме этой главы 216
Глава 13 Реальная файловая система ext2 217
13.1 Схема жесткого диска EXT2 217
13.2 Дерево каталогов файловых систем ext2 218
13.3 EXT2 Управление контентом файла 219
13.4 EXT2 Файл -система Читать и записать 219
13.5 Резюме этой главы 219
Старшие эксперты по ядрам Linux имеют кристаллизацию более чем 10 -летнего опыта работы. Многие эксперты в отрасли рекомендуют, инженеры Linux Kernel и инженеры по развитию вождения должны прочитать
С точки зрения промышленного спроса, ориентированного на эффективность и практичность, ядро ​​Linux разделено на основную часть и часть применения, а также архитектуру ядра и проверку ядра. Анализируйте
Глава 1
Основной слой и приложенный слой ядра
Как упоминалось в предисловии, ядро ​​разделено на базовый слой ядра и слой применения ядра.Это имеет как анализ, так и понимание всей архитектуры программного обеспечения операционной системы, а также поддержку реалистичного применения.
Операционная система предоставляет унифицированный интерфейс программирования для прикладного программного обеспечения.Фактически, один и тот же код может часто компилировать и терпеть неудачу в разных версиях ядра.Эта модель развития ядра вызвала многие характеристики и нестабильные характеристики при изучении ядра, что также значительно увеличивает сложность обучения.
В долгосрочном анализе и применении кода ядра автор заметил факт: большое количество программной инфраструктуры, предоставленной в ядре.Эти инфраструктуры включают как использование памяти в ядре, так и управление планированием процессов, а также синхронные функции, обеспечиваемые ядром спиновых замков, семафоров и т. Д., А также структуры данных, предоставленные ядром, такие как связанные списки , хэш -связанные списки, красные и черные, красные и черные деревья и так далее.Эта программная инфраструктура, как и системный вызов, предоставленный операционной системой, является основой для понимания кода ядра и написания кода ядра.Эта программная инфраструктура в основном стабильна в каждой версии ядра.
Реальность обеспечивает еще одну поддержку.Мотивация обучения поступает из приложений.Большинство программистов применяются к ядру в своей работе, и большинство из них основаны на устройствах, и большинство книг, в которых говорят об операционных системах, не будут обращать внимание на драйвер устройства.В дополнение к устройствам, в системе ядра есть больше приложений.
Чтобы быстро и плавно прочитать код ядра, предпосылка состоит в том, чтобы понять программную инфраструктуру в ядре.Эти знания широко используются, и они распространяются во всех частях кода ядра.
……
Почему я должен писать эту книгу?Вообще говоря, книжная система, отправленная колледжем, как правило, завершена, и есть полное объяснение с точки зрения широты и глубины.К сожалению, именно из -за его полноты, сложности и огромной, что книги, отправленные Колледжем Рединга, часто являются трудной задачей.Книга Ulk имеет 800 страниц тома, и есть много деталей, и ранняя книга «Анализ сценариев ядра» достигает тысяч страниц.Так что признанная кривая обучения индустрии является самым крутым и самым сложным обучением.Эта книга написана с точки зрения отрасли и написана для отрасли.Инженеры, которые больше заботятся о прогрессе информатики, должны знать, что информатика и компьютерная индустрия представляют собой две разные области.Первый фокусируется на инновациях и теории, а последний фокусируется на эффективности и практичности.С точки зрения эффективности и практичности необходимо обеспечить относительно систематическую структуру на основе уменьшения трудностей в обучении. Это должно быть разложено и извлечено огромным и сложным ядром. Причина уровня.За эти годы автор брал интервью у сотен инженеров ядра, организовал много лекций или обменных собраний, а также проходил промежуточные обмены с первыми инженерами во многих отечественных компаниях.В целом, уровень внутреннего основного применения и уровня развития находится на очень низком уровне. Этот аспект выражается в понимании техников ядра, не многих в Китае. Нет тех, кто даже понимает ошибки; с другой стороны, большинство Люди думают, что ядро ​​не используется в работе, и его трудно играть в ценность.В ответ на первый вопрос автор запустил вопросник по опросу. Благодаря опросу обнаружено, что самой большой проблемой, которая признается изучением ядра, является сложность понимания и прыжков кода ядра.Прыгайте от одной функции на другую, а затем перейдите к следующей функции, трудно понять логику выполнения.Если вы прыгаете более трех раз, в основном трудно продолжить, и вы можете только сдаться.Вторая проблема тесно связана с первой проблемой.Поскольку этого недостаточно, чтобы понять, трудно сформировать общую логику выполнения ядра.Проблемы, возникающие в реальной работе, всегда всегда меняются, и один человек, который знает, может не встретиться.Например, файловая система только считывает проблему. Это проблема с слоем VFS ядра?Сама файловая система?Или это проблема с оборудованием или жестким диском?Если четкое представление не может быть сформировано, трудно сделать целенаправленную отладку и улучшение.В соответствии с точки зрения методологии, процесс обучения людей обычно от легкого до трудного, от части до общего, от известного до неизвестного.И изучение ядра имеет свои собственные специальные функции. Ядро составляет почти девяносто градусы кривых обучения. Чрезвычайно трудно найти путь входа, не говоря уже о чтении кода ядра быстро и плавно.С тех пор автор начал организовывать ядро, надеясь найти путь обучения. В процессе постоянного исследования, документ постепенно сформировался, а затем проверил его достоверность посредством некоторых учебных мероприятий и, наконец, сформировал эту книгу.Эта книга может быть обобщена в две идеи.Одним из них является классификация кода ядра.Автор делит ядро ​​на основную часть и часть приложения.Управление памятью, планирование задач и аномальное лечение прерывания в ядре классифицируется как основная часть.Файловая система, управление устройствами и драйвер классифицируются как прикладная часть.Откройте полную статистику кода ядра. Прикладные детали учитывают подавляющего большинства, огромное и сложное, но есть много избыточных, и многие коды похожи; основная часть является короткой и изысканной.Части приложения часто вызывают управление памятью, планирование задач и другие услуги, предоставляемые основной частью.Чтобы быстро понять основную часть, мы должны сначала организовать обслуживание основной части и понять, как использовать основные части в ядре.Вторая идея состоит в том, чтобы разделить ядро ​​на архитектуру ядра и ядро.Архитектура ядра является общим универсальным уровнем в ядре, таком как блочное оборудование, оборудование для символов, шина и слой VFS файловой системы.Понимая архитектуру ядра с общим мастерством ядра, вы можете понять идею дизайнера ядра, а затем быстро и плавно прочитать код ядра.Но даже если вы понимаете архитектуру ядра, есть еще много конкретных проблем, которые нужно преодолеть.Например, использование регистра в драйвере, как обнаружено состояние связи устройства и как файловая система использует разницу между барьером ввода -вывода, синхронизацией и асинхронным вводом/выводом.Это требует, чтобы разработчики тщательно изучали и размышляли.Эта книга пытается суммировать общепринятый архитектурный слой ядра. Эти архитектурные слои играют роль одного -три, и они составляют скелет ядра Linux.По сей день ядро ​​очень большое и сложное.Эта книга надеется помочь читателям понять общую структуру ядра посредством анализа некоторого кода уровня архитектуры и в сочетании с простыми примерами.При столкновении с проблемами ядра или необходимости добавить определенные функции ядра или изменить определенную реализацию, вы можете быстро и плавно прочитать соответствующий код, чтобы определить свое собственное решение без потери.Для реализации деталей программисты должны быть разработаны в соответствии с их потребностями.Что касается версии ядра, в этой книге используется версия 2.6.18.Ядро имеет набор неудовлетворительных стратегий. Различные версии ядра часто не составляются. Что касается исчезновения функции и модификации структуры данных, оно является обычным явлением.Таким образом, мы можем выбрать только одну версию в качестве основы.阅读 内 核 前 的 准备 : 下载 一 份 完整 内核 内核 , linux 内核 官方 网站 是 是 http://www.kernel.org , 可以 下载 各 各 个 版本 内核 ; 再 一 代码 阅读 因为 因为 因为 因为 因为 因为 因为 因为 因为 因为 因为 因为Код часто читает соответствующее чтение, поэтому необходимо иметь программное обеспечение с управлением инженерным кодом. Настоятельно рекомендуется, чтобы источник Insight настоятельно рекомендуется. Это широко используемое программное обеспечение в Китае.Кроме того, эта книга предполагала, что читатели могут компилировать и устанавливать модули и знают о базовой структуре компьютера.Кроме того, есть компьютер или виртуальная машина, которая была установлена ​​с системой Linux и часто практиковалась.Из -за ограниченного уровня автора и анализа кода ядра с уровня архитектуры очень мало данных, которые можно использовать для справки. Я надеюсь, что читатели смогут давать больше мнений и совместно продвигать технический уровень Китая.Никакая книга не может заменить собственное исследование читателя и изучение фактического кода ядра.Однако, если нет книги, основной код обширных облаков заставит начинающих учеников обвинять, и неэффективный код будет тратить много времени.Роль книг состоит в том, чтобы привести читателей к работе. Читатели должны как можно скорее перенести на свою собственную стадию обучения, а также анализировать и изучить какой -то код.Читатель возражает, эта книга подходит для следующих читателей для чтения ссылки: студенты колледжей в колледжах и университетах; заинтересованные в ядре ядра, персонал, которые заинтересованы в R & D; инженеры, занимающиеся разработкой вождения; инженеры, занимающиеся основной работой операционной системы ; отвечает за отладку системы Linux и оптимизированные техники.Как прочитать эту книгу, и эта книга делит все ядро ​​на основные слои и слои приложений.Это разделение значительно уменьшает сложность чтения ядра, но все еще должно иметь всеобъемлющее и правильное понимание основного уровня.Глава 1 этой книги представляет основной слой ядра. Читатели должны выполнять больше практических упражнений, чтобы углубить свое понимание.Глава 2 представляет собой главу схемы этой книги, которая фокусируется на базовых знаниях файловой системы.Положение файловой системы на уровне приложения очень важна. Поэтому, только овладая важной концепцией файловой системы и понимая базовый процесс работы, мы можем заложить хорошую основу для общего понимания ядра.Глава 3-9-это глава об оборудовании.Рекомендуется, чтобы читатели в сочетании с конкретным оборудованием постепенно углубились от оборудования до автобуса до водителя.Расположение главы этой книги следует методу объединения и сочетания кода от простого в трудного, и считает, что читатели могут читать и понимать плавно.Глава 10-13, еще раз уточняет всеобщее количество блоков чтения и ядра файловой системы.В процессе чтения, если читатели могут выполнять некоторые небольшие программы в сочетании с реальной ситуацией, они могут помочь быстро улучшить свои способности.Например, если вы осознаете путь ввода -вывода ядра или реализуете моделируемую систему блочного оборудования, приложение - лучший способ улучшить повышение мощности.Errhao и поддержка обусловлены ограниченным уровнем автора и приливом времени написания, и в книге будут некоторые ошибки или неточные места. Читателям настоятельно рекомендуется критиковать и исправить их.Все исходные файлы в книге могут быть загружены с веб -сайта Huazhang.Если у вас есть более ценные мнения, вы также можете отправить электронные письма по электронной почте easyblue99@hotmail.com и с нетерпением ждем возможности получить искренние отзывы.Благодаря Xiaoqiang IBM, Lao Sie of Zte, зиксуну Байду, Большому Сони и друзьям из Taobao, Intel, Microsoft, Sohu, Sina и других друзей.Я уточнил много концепций и проблем с вашими дискуссиями, которые мне очень принесут пользу.Благодаря редактору Bai Yu, редактору Press Machinery Industry, является содержание каждой главы каждой главы тщательно и улучшает качество рукописи.Редактор - это горькая карьера. Он не завиден на расстоянии, но независимо от того, насколько проблемы жизни у г -жи Бай всегда терпение, чтобы изменить его, и ее профессиональный дух восхитительна.Благодаря моим близким я хотел бы поблагодарить мою маму. Она была ранним строителем китайской ядерной промышленности. Она воспитала троих детей в трудностях.Спасибо, моя жена и дочь, вы являетесь источником моей вечной мотивации.