Библиотека сайта rus-linux.net
Внутреннее устройство Ядра Linux 2.4
Автор: Tigran Aivazian tigran@veritas.com
21 October 2001 (4 Heshvan 6000)
Перевод: Андрей Киселев kis_an@mail.ru
Введение в ядро Linux 2.4. Последнюю версию данного документа всегда можно получить на: http://www.moses.uklinux.net/patches/lki.sgml Данное руководство является частью Linux Documentation Project и может быть так же получено в различных форматах на: http://www.linuxdoc.org/guides.html или, для чтения в он-лайне (последняя версия), на: http://www.moses.uklinux.net/patches/lki.html Данный документ является свободно распространяемым и может передаваться и/или изменяться в соответствии с условиями GNU General Public License, опубликованной Free Software Foundation, версии 2 или более поздней. Автор, работающий старшим инженером в VERITAS Software Ltd., написал этот документ в рамках небольшого учебного курса лекций, который он читает внутри VERITAS. Выражаю свою благодарность Juan J. Quintela
(quintela@fi.udc.es)
, Francis Galiegue
(fg@mandrakesoft.com)
, Hakjun Mun
(juniorm@orgio.net)
, Matt Kraai
(kraai@alumni.carnegiemellon.edu)
, Nicholas Dronen
(ndronen@frii.com)
, Samuel S Chessman
(chessman@tux.org)
, Nadeem Hasan
(nhasan@nadmm.com)
за поправки и предложения, Глава
The Linux Page Cache была написана Christoph Hellwig
(hch@caldera.de)
. Глава The IPC Mechanisms была
написана Russell Weight (weightr@us.ibm.com)
и
Mingming Cao (mcao@us.ibm.com)
1. Загрузка
- 1.1 Сборка ядра Linux
- 1.2 Загрузка: Overview
- 1.3 Загрузка: BIOS POST
- 1.4 Загрузка: bootsector и setup
- 1.5 LILO в качестве загрузчика
- 1.6 Высокоуровневая инициализация
- 1.7 SMP Загрузка на x86
- 1.8 Освобождение памяти после инициализации
- 1.9 Разбор командной строки
2. Управление процессами и прерываниями
- 2.1 Структура задачи и таблица процессов
- 2.2 Создание и завершение задач и потоков ядра
- 2.3 Планировщик
- 2.4 Реализация связанных списков в Linux
- 2.5 Очереди ожидания (Wait Queues)
- 2.6 Таймеры
- 2.7 Нижние половины (Bottom Halves)
- 2.8 Очереди задач
- 2.9 Tasklets
- 2.10 "Мягкие" IRQ
- 2.11 Как реализуются системные вызовы в архитектуре i386?
- 2.12 Атомарные (неделимые) операции
- 2.13 Блокировки (Spinlocks), Read-write блокировки и Big-Reader блокировки;
- 2.14 Семафоры
- 2.15 Поддержка загружаемых модулей
3. Virtual Filesystem (VFS)
- 3.1 Кеши Inode и взаимодействие с Dcache
- 3.2 Регистрация/Дерегистрация файловых систем.
- 3.3 Управление файловыми дескрипторами
- 3.4 Управление файловой структурой
- 3.5 Управление Суперблоком и точкой монтирования
- 3.6 Пример виртуальной файловой системы: pipefs
- 3.7 Пример дисковой файловой системы: BFS
- 3.8 Домены исполнения и двоичные форматы
4. Кэш страниц в Linux
5. Механизмы IPC
Вперед Назад Содержание