Ядро ОС Linux

       

Ядро ОС Linux


Введение.
Типографские соглашения.
Необходимые знания для изучения книги.
Наставление читателю.
Глава 2. Драйверы устройств.
Пример - vgalib.
Пример : Преобразование мыши.
Основы драйверов устройств.
Область имени (именная область).

Выделение памяти.
Символьные и блочные устройства.
Прерывание или поочередное опрашивание устройств ?
Механизмы замораживания и активизации.
Усложненный механизм заморозки.
VFS.
Функция lseek().
Функции read() и write().
Функция readdir().
Функция select().

Функция ioctl().
Функция mmap().
Функции open() и release().
Функция init().
Инициализация.
Прерывания или последовательный вызов ?
Дpайвеpы для блочных устpойств.
Файл blk.h

Опознание комплектующих PS.
Механизм кеширования буфера.
Strategy Routine.
Функции поддержки.

Написание драйвера SCSI.
Зачем нужны драйверы SCSI.
Что такое SCSI ?
Термины SCSI.
Команды SCSI.
С чего начинать ?
Введение: сбор инструментов.

Интерфейс SCSI в Linux.
Структура Scsi_Host.
Переменные в структуре Scsi_Host.
Name
Can_queue
This_id
Sg_tablesize
Cmd_per_lun
Present
Unchecked_isa_dma

Detect()
Запрос IRQ.
Запрос канала DMA.
Info()
Queuecommand()
Done()
Command()
Abort()
Reset()
Slave_attach()

Bios_param()
Структура Scsi_Cmnd
Информационные переменные.
Список Разветвления - компановки. (Scatter-gather)
Рабочие области.
Указатель scsi_done().
Указатель host_scribble
Структура Scsi_Pointer.
Глава 3. Файловая система /proc.
Каталоги и файлы /proc.

Стpуктуpа файловой системы /proc.
Пpогpамиpование файловой системы /proc.

Глава 4. Планиpовщик Linux.
Исходный текст.
Глава 5. Как pаботают системные вызовы.
Что поддеpживет 386 пpоцессоp?
Как Linux использует пpеpывания и исключения.
Как Linux устанавливает вектора системных вызовов.
Как установить свой собственный системный вызов.

Физическая память
Память пользовательского процесса
Данные управления памятью в таблице процессов
Инициализация памяти
Процессы и программа управления памятью
Выделение и освобождение памяти: политика страничной организации
Программы контроля корректности использования страниц
Листание (paging)
Управление памятью в 80386

Страничная организация (paging) в 386
Сегменты в 80386
Селекторы в 80386
Дескрипторы сегментов
Макросы, используемые при установке дескрипторов
A.1. Аннотированная библиография.

Приложение B.
B.1. Загрузка системы.
B.1. Загрузка системы. - 2
В.3 Как ядро рассматривает процесс.
B.4. Создание и удаление процесса.
B.5. Запуск программы.
B.6. Доступные файловые системы.
B.7. Краткий обзор сущности типа файловой системы.

B.8. Пультовый драйвер.
B.8.1. Как файловые операции посылаются пульту.
B.8.2. Передача информации пульту.
B.8.3 Чтение из пульта.
B.8.4 Управление клавиатурой.
B.8.5 Переключение пультов.
B.8.6 Механизм выбора пульта.
B.8.7 Контроль над вводом-выводом устройства (ioctl()).
Содержание раздела