Logo CitForum CITForum на CD Форумы Газета Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

19.03.2010

Google
WWW CITForum.ru

Новости мира IT:

Архив новостей

Пятнадцатая техническая конференция «Корпоративные базы данных-2010»
Москва, 22–23 апреля

Введение.

Эта книга вдохновляет вас, начинающих исследователей ядер, не достаточно знающих UNIX-системы, для изучения ядра Linux, когда она впервые появилась у вас и еще тяжела для полного понимания. Это пособие создано для того, чтобы помочь вам быстрее изучить основные концепции и выделить из внутренней структуры Linux то, что может понадобиться вам, чтобы, не читая полностью исходный текст ядра, определить, что же случилось с какой-либо конкретной переменной. Почему Linux ? Linux - это первая свободно доступная система типа UNIX для 386 компьютеров. Она была полностью переписана в уменьшенном объеме так, не имеет большого количества функций, работающих с режимом реального времени, как в других операционных системах (386BSD), и, следовательно, проста в понимании и доступна для изменений.

UNIX появился около 20 лет назад, но только недавно появились столь мощные микрокомпьютеры, способные поддерживать работу операционных систем с многозадачным, многопользовательским защищенным режимом. Кроме того, описания UNIX труднодоступны, лишь документация о внутренностях ядра распространялась свободно. UNIX, кажущийся в начале простым, со временем увеличивался в размерах и превратился в объемную систему, понятную лишь профессионалу. С Linux, однако, мы можем решить часть описанных выше проблем в связи с тем, что:

  • У Linux довольно простое ядро с хорошо структурированным интерфейсом;
  • Контроль за написанием ядра вел один человек - Linus Torvalds, что не позволило появиться в ядре раздробленным участкам;
  • Исходные тексты ядра свободно распространяются, так что начинающие программисты могут свободно понимать и изучать их, становясь выше в собственных глазах.

Мы надеемся, что эта книга поможет начинающим исследователям ядер разобраться в ядре Linux, поняв его структуру.

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

Авторские права на главу "Распределение памяти в Linux" принадлежат Krichna Balasubramanian. Некоторые изменения запатентованы Майклом К.Джонсоном и Дугласом Р.Джонсоном.

"Как система вызывает процедуру": авторскими правами на оригинал этой статьи обладает Stanley Scalsky.

"Написание драйвера устройства SCSI": авторскими правами обладает Ric Faith.

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

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

  • Выделенный шрифт используется для обозначения определений, предупреждений и ключевых слов в языке.
  • Курсив используется для обозначения вставок и введений для новых статей.
  • Наклонный шрифт используется для обозначения мета-переменных в тексте, особенно в командной строке:
  •                          ls - l [foo]

    где [foo] - имя файла,как /bin/cp. Иногда довольно сложно в тексте заметить наклонный шрифт, и соответствующее выражение берется в [---].

  • Шрифт печатной машинки используется для отображения ответной информации компьютера:
  •                          ls -l /bin/cp
            [-rwxr-xr-x 1 root   wheel 12104 Sep 25 15:53 /bin/cp]

    также он используется для примеров в кодах Си для обозначения системных команд и для описания конфигурационных файлов. Иногда для наглядности эти примеры помещаются в рамку.

  • В <---> скобки берется нажатая клавиша: Для продолжения нажмите .
  • Звездочка на полях выделяет место, требующее особого внимания.

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

Для того, чтобы понять эту книгу, вы должны хотя бы поверхностно знать Си. Это означает, что вы можете читать программы на Си, не уделяя внимания справочникам. Вы должны уметь писать простейшие программы на Си и понимать структуры, указатели и макросы, атак же прототипы ANSI C.

Вы должны также представлять тексты стандартной библиотеки ввода/вывода, так как стандартные библиотеки не доступны в ядре. Некоторые часто используемые функции ввода/вывода были переписаны внутри ядра и они по возможности описываются далее. Также вам нужен хороший текстовый редактор, перекомпилирование ядра Linux и умение выполнять простейшие задачи системного администратора, такие как включение информации в /dev/.

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

В этой части приводятся некоторые полезные при прочтении вещи.

Статические переменные.

Всегда определяйте статические переменные. Масса почти случайных ошибок возникает из - за игнорирования статических переменных. Т.к. ядро на самом деле не является запускаемой программой, сегмент bss не всегда обнуляется в зависимости от метода загрузки.

Невозможность использования libc.

Библиотека libc не доступна в ядре, однако некоторые функции из нее были продублированы. Смотрите разделы книги, в которых эти функции документированы. В основном, это разделы 3 и 9.

/\ Linux - это не UNIX.
\/ Linux - система, написанная не для коммерческого распространения.

Содержание | Вперед

 

Последние комментарии:

Я не верю в iPad (69)
19 марта, 12:17

Подписка на новости CITForum.ru

Новые публикации:

10 марта

  • HadoopDB: архитектурный гибрид технологий MapReduce и СУБД для аналитических рабочих нагрузок

  • Классификация OLAP-систем вида xOLAP

  • BGP. Три внешних канала. Балансировка исходящего и входящего трафиков

    Газета:

  • Что мы знаем об iPhone 4G?

    17 февраля

  • MapReduce и параллельные СУБД: друзья или враги?

  • Объектно-ориентированное программирование в ограничениях: новый подход на основе декларативных языков моделирования данных

  • Системологический подход к декомпозиции в объектно-ориентированном анализе и проектировании программного обеспечения

    Газета:

  • Эволюция Wine

    3 февраля

  • Дом на песке

  • Реальное переосмысление "формальных методов"

  • Интервью с Найджелом Пендзом

    Газета:

  • iPad. Первый взгляд на долгожданный планшет от Apple

  • Я не верю в iPad

    20 января

  • SQL/MapReduce: практический подход к поддержке самоописываемых, полиморфных и параллелизуемых функций, определяемых пользователями

  • Данные на лету: как технология потокового SQL помогает преодолеть кризис

    Обзоры журнала Computer:

    2 декабря

  • Сергей Кузнецов. Год эпохи перемен в технологии баз данных

    18 ноября

  • Генерация тестовых программ для подсистемы управления памятью микропроцессора

  • Сравнительный анализ современных технологий разработки тестов для моделей аппаратного обеспечения

    11 ноября

  • Генерация оптимизированных для ручного выполнения сценариев тестирования приложений с графическим интерфейсом пользователя

  • Применение технологии UniTESK для функционального тестирования инфаструктурного ПО Грид

    28 октября

  • Remoting с сервером на Unmanaged C++ или Вторая жизнь старых приложений

  • Методы обеспечения переносимости ПО

  • Организация сложных тестовых наборов

    22 октября

    Обзоры журнала Computer:

    14 октября

  • МОГучие способности: новые приемы анализа больших данных

  • Учимся регулярно выражаться

    8 октября

  • Записки исследователя NTFS

  • Создание кросс-платформенных графических интерфейсов на wxPerl

    Все публикации >>>


  • IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

    Информация для рекламодателей PR-акции, размещение рекламы — тел. +7 495 6608306, ICQ 232284597 Пресс-релизы — pr@citforum.ru
    Послать комментарий
    Информация для авторов

    Редакция раздаёт котят!

    Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
    Copyright © 1997-2000 CIT, © 2001-2009 CIT Forum
    Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...


    Помогут обеспечить вам превосходное приготовление блюд пароконвектоматы rational