Основы программирования в ядре операционной системы GNU/Linux
Покупка
Новинка
Тематика:
UNIX, LINUX
Год издания: 2010
Кол-во страниц: 36
Дополнительно
В пособии описаны основы создания программного кода, работающего в режиме ядра операционной системы GNU/Linux. Рассмотрены основы организации ядра Linux, создания подключаемых к ядру модулей, внесения изменений в исходный код ядра, его сборка и установка. Освещены вопросы синхронизации в ядре, выделения памяти и создания динамических структур данных, перехвата событий ядра, приемы отладки кода ядра, а также способы обмена данными между прикладными программами и ядром операционной системы.
Для студентов 3-го курса, специализирующихся по кафедре "Программное обеспечение ЭВМ и информационные технологии" МГТУ им. Н. Э. Баумана.
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 02.03.02: Фундаментальная информатика и информационные технологии
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.03: Прикладная информатика
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Московский государственный технический университет имени Н.Э. Баумана В.А. Крищенко, Н.Ю. Рязанова ОСНОВЫ ПРОГРАММИРОВАНИЯ В ЯДРЕ ОПЕРАЦИОННОЙ СИСТЕМЫ GNU/LINUX Рекомендовано Научно-методическим советом МГТУ им. Н.Э. Баумана в качестве учебного пособия Москва Издательство МГТУ им. Н.Э. Баумана 2010
УДК 681.326(075.8) ББК 22.18 K82 Рецензенты: Г.В. Зеленко, С.Б. Ткачев K82 Крищенко В. А. Основы программирования в ядре операционной системы GNU/Linux : учеб. пособие / В.А. Крищенко, Н.Ю. Рязанова. – М. : Изд-во МГТУ им. Н. Э. Баумана, 2010. – 34, [2] с. : ил. В пособии описаны основы создания программного кода, работающего в режиме ядра операционной системы GNU/Linux. Рассмотрены основы организации ядра Linux, создания подключаемых к ядру модулей, внесения изменений в исходный код ядра, его сборка и установка. Освещены вопросы синхронизации в ядре, выделения памяти и создания динамических структур данных, перехвата событий ядра, приемы отладки кода ядра, а также способы обмена данными между прикладными программами и ядром операционной системы. Для студентов 3-го курса, специализирующихся по кафедре «Программное обеспечение ЭВМ и информационные технологии» МГТУ им. Н.Э. Баумана. УДК 681.326(075.8) ББК 22.18 c ⃝МГТУ им. Н.Э. Баумана, 2010
ВВЕДЕНИЕ Создание программного кода, работающего в ядре любой операционной системы, является специфической задачей. В данном учебном пособии изложены основные сведения, необходимые для программирования в ядре операционной системы GNU/Linux. Предполагается, что читатель знает язык программирования Си [1] и имеет общее представление об интерпретаторе командной строки и основных служебных программах GNU1, компиляторе GNU C и системе сборки GNU Make, знаком с основными понятиями из теории операционных систем [2] и unix-подобными операционными системами [3]. В пособии рассматривается операционная система GNU/Linux в вариантах Debian или Ubuntu. Примеры программ, приведенные в пособии, работоспособны для версии ядра Linux 2.6.26 и версии дистрибутива Debian GNU/Linux 5.0. Для более детального изучения программирования в ядре можно использовать работы [4—8]. Несмотря на разнообразие посвященной ядру Linux литературы, единственным заведомо актуальным источником информации о ядре являются исходные коды используемой версии ядра в силу постоянного изменения внутренних структур данных ядра и заголовков функций. Для ядра Linux практически не существует какой-либо программной документации, отличной от самих исходных кодов ядра с комментариями и содержимого каталога Documentation в архиве ядра. Для удобного поиска как мест определения, так и мест использования различных глобальных символов (функций, макросов, 1Документация по средствам разработки GNU: http://www.gnu.org/manual. 3
типов данных и глобальных переменных) может применяться специализированная поисковая система Cross Reference2 по исходным кодам ядра Linux. Имена команд, файлов и каталогов, функций, а также фрагменты исходного кода выделены в тексте пособия моноширным шрифтом. Команды, вводимые пользователям, начинаются с символа-приглашения: $ make install 2Находится по адресу: http://lxr.linux.no/linux.