ОПЕРАЦИОННЫЕ СИСТЕМЫ : LINUX
| Назад |
|
|
|
![](booksm.gif) |
Ядро ОС Linux. Руководство системного программиста
| RUS
| |
Эта книга вдохновляет вас, начинающих исследователей ядер, не
достаточно знающих UNIX-системы, для изучения ядра Linux, когда
она впервые появилась у вас и еще тяжела для полного понимания.
Это пособие создано для того, чтобы помочь вам быстрее изучить
основные концепции и выделить из внутренней структуры Linux то,
что может понадобиться вам, чтобы, не читая полностью исходный
текст ядра, определить, что же случилось с какой-либо конкретной
переменной.
|
|
©, Авторские права:
| 90 кб
| |
|
Введение.
Глава 1
1.1 Типографские соглашения.
1.2 Необходимые знания для изучения книги.
1.3 Наставление читателю.
Глава 2.
2.2.1 Пример - vgalib.
2.2.2 Пример : Преобразование мыши.
2.3 Основы драйверов устройств.
2.3.1 Область имени (именная область).
2.3.2 Выделение памяти.
2.3.3 Символьные и блочные устройства.
2.3.4. Прерывание или поочередное опрашивание устройств ?
2.3.5. Механизмы замораживания и активизации.
2.3.5.1.Усложненный механизм заморозки.
2.3.6. VFS.
2.3.6.1. Функция lseek().
2.3.6.2. Функции read() и write().
2.3.6.3 Функция readdir().
2.3.6.4 Функция select().
2.3.6.5 Функция ioctl().
2.3.6.6.Функция mmap().
2.3.6.7. Функции open() и release().
2.3.6.8 Функция init().
2.4 Cимвольные устройства.
2.4.1. Инициализация.
2.4.2 Прерывания или последовательный вызов ?
2.5 Дpайвеpы для блочных устpойств.
2.5.1 Инициализация
2.5.1.1 Файл blk.h
2.5.1.2. Опознание комплектующих PS.
2.5.2. Механизм кеширования буфера.
2.5.3. Strategy Routine.
2.6. Функции поддержки.
2.7. Написание драйвера SCSI.
2.7.1. Зачем нужны драйверы SCSI.
2.7.2. Что такое SCSI?
2.7.2.1. Термины SCSI.
2.7.3. Команды SCSI.
2.7.4. С чего начинать?
2.7.5. Введение: сбор инструментов.
2.7.6. Интерфейс SCSI в Linux.
2.7.6. Структура Scsi_Host.
2.7.7.1. Переменные в структуре Scsi_Host.
2.7.7.1.1. name
2.7.7.1.2. can_queue
2.7.7.1.3. this_id
2.7.7.1.4. sg_tablesize
2.7.7.1.5. cmd_per_lun
2.7.7.1.6. present
2.7.7.1.7. unchecked_isa_dma
2.7.7.2. Функции структуры Scsi_Host.
2.7.7.2.1. detect()
2.7.7.2.1.1. Запрос IRQ.
2.7.7.2.2. Запрос канала DMA.
2.7.7.2.3. info()
2.7.7.2.4. queuecommand()
2.7.7.2.5. done()
2.7.7.2.6 command()
2.7.7.2.7 abort()
2.7.7.2.8 reset()
2.7.7.2.9 slave_attach()
2.7.7.2.10 bios_param()
2.7.8 Структура Scsi_Cmnd
2.7.8.1 Зарезервированная область
2.7.8.1.1 Информационные переменные.
2.7.8.1.2 Список Разветвления - компановки. (Scatter-gather)
2.7.8.2. Рабочие области.
2.7.8.2.1 Указатель scsi_done().
2.7.8.2.2 Указатель host_scribble
2.7.8.2.3 Структура Scsi_Pointer.
Глава 3.
3.1 Каталоги и файлы /proc.
3.2 Стpуктуpа файловой системы /proc.
3.3 Пpогpамиpование файловой системы /proc.
Глава 4.
4.1 Исходный текст.
Глава 5.
5.1 Что поддеpживет 386 пpоцессоp?
5.2 Как Linux использует пpеpывания и исключения.
5.3 Как Linux устанавливает вектора системных вызовов.
5.4 Как установить свой собственный системный вызов.
Глава 6.
6.1 Введение
6.2 Физическая память
6.3 Память пользовательского процесса
6.4 Данные управления памятью в таблице процессов
6.5 Инициализация памяти
6.5.1. Процессы и программа управления памятью
6.6. Выделение и освобождение памяти: политика страничной
6.7 Программы контроля корректности использования страниц
6.8. Листание (paging)
6.9 Управление памятью в 80386
6.9.1 Страничная организация (paging) в 386
6.9.2 Сегменты в 80386
6.9.3 Селекторы в 80386
6.9.4 Дескрипторы сегментов
6.9.5 Макросы, используемые при установке дескрипторов
Приложение А.
Приложение B.
|
|
|
|
|
|
|