Перейти на главную   
  helloworld.ru - документация и книги по программированию  
helloworld.ru - документация и книги по программированию
    главная     хостинг    
Поиск по сайту:  
Смотрите также
Языки программирования
C#
MS Visual C++
Borland C++
C++ Builder
Visual Basic
Quick Basic
Turbo Pascal
Delphi
JavaScript
Java
PHP
Perl
Assembler
AutoLisp
Fortran
Python
1C

Интернет-технологии
HTML
VRML
HTTP
CGI
FTP
Proxy
DNS
протоколы TCP/IP
Apache

Web-дизайн
HTML
Дизайн
VRML
PhotoShop
Cookie
CGI
SSI
CSS
ASP
PHP
Perl

Программирование игр
DirectDraw
DirectSound
Direct3D
OpenGL
3D-графика
Графика под DOS

Алгоритмы
Численные методы
Обработка данных

Сис. программирование
Драйверы

Базы данных
MySQL
SQL

Другое

Хостинг


Друзья
demaker.ru
Реклама

Лучший хостинг. Аренда серверов




helloworld.ru

Ядро ОС Linux. Руководство системного программиста

Введение

  • Сведения об авторских правах

  • Глава 1. " Прежде чем вы начали..."

  • 1.1. Типографские соглашения

  • 1.2. Необходимые знания для изучения книги

  • 1.3. Наставление читателю

  • Глава 2. Драйверы устройств

  • 2.1. Что такое драйвер устройства

  • 2.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. Файловая система /proc

  • 3.1. Каталоги и файлы /proc

  • 3.2. Стpуктуpа файловой системы /proc

  • 3.3. Пpогpамиpование файловой системы /proc

  • Глава 4. Планиpовщик Linux

  • 4.1. Исходный текст

  • Глава 5. Как pаботают системные вызовы

  • 5.1. Что поддеpживет 386 пpоцессоp?

  • 5.2. Как Linux использует пpеpывания и исключения

  • 5.3. Как Linux устанавливает вектора системных вызовов

  • 5.4. Как установить свой собственный системный вызов

  • Глава 6. Управление памятью в Linux

  • 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. Макросы, используемые при установке дескрипторов

    Приложения

  • Приложение А

  •       A.1. Аннотированная библиография
  • Приложение B

  •       B.1. Обзор исходного текста ядра Linux
          B.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())









    helloworld.ru © 2001-2021
    Все права защищены