Драйверы и ядро
Категория: Драйверы и ядро | Автор: admin | 27-12-2009, 05:02

UNIX-систему можно разбить на три основных уровня:

  • аппаратные средства;
  • ядро операционной системы;
  • пользовательские программы.

 

Ядро скрывает доступ к аппаратным средствам системы благодаря абстрактному высокоуровневому интерфейсу программирования. Оно отвечает за реализацию многих концепций, которые пользователи и программа пользовательского уровня принимают как нечто само собой разумеющееся. Например, на базе аппаратных возможностей низкого уровня ядро реализует следующие элементы операционной системы UNIX:

  • процессы (защита адресных пространств, разделение времени и ресурсов процессора);
  • сигналы и семафоры;
  • виртуальную память (выгрузка,  подкачка, отображение виртуальных адресов в физической памяти);
  • файловую систему (файлы, каталоги, пространство имен);
  • межзадачное взаимодействие (каналы и сетевые соединения).

 

Ядро содержит драйверы устройств, которые управляют отдельными элементами аппаратного уровня; остальная часть ядра в основном не зависит от внешних устройств. Взаимосвязь ядра и драйверов устройств аналогична связи между ядром и процессами пользовательского уровня. Когда процесс просит ядро прочитать первые 64 байта файла /etc/passwd, ядро транслирует эту просьбу в команду драйвера устройства, например "выбрать блок 3348 из устройства 3". Драйвер представляет эту команду в виде последовательности двоичных кодов, которые посылаются в управляющие регистры устройства.

Ядро написано преимущественно на языке С, но для низкоуровневой обработки частично использовался язык ассемблера. Много лет назад объектный код ядра UNIX имел довольно умеренные размеры (обычно гораздо меньше половины мегабайта). За последние годы на уровне ядра были реализованы сетевые и многопотоковые функции, а стоимость микросхем памяти сильно упала, поэтому теперь ядро занимает от 400 Кбайт до более чем 15 Мбайт.

Просмотров: 2938 | | Комментариев: 0
  Конфигурирование ядра Linux
Категория: Драйверы и ядро | Автор: admin | 10-01-2010, 23:21

Процедура конфигурирования ядра Linux совершенствуется уже довольно долгое время, однако она все еще достаточно примитивна в сравнении с другими операционными системами. Весь процесс сосредоточен вокруг файла /usr/src/linux/.config. В этом файле приведена вся информация, касающаяся конфигурирования ядра, но его формат очень труден для понимания. Для упрощения работы в Linux предусмотрено несколько make-сценариев, реализующих различные интерфейсы конфигурирования ядра.

Если в системе установлена оболочка X Windows, то удобнее всего воспользоваться командой make xconfig. Она отображает окно конфигурации, в котором можно выбрать драйверы устройств, добавляемые к ядру (или компилируемые в качестве загружаемых модулей).

В отсутствие графической среды на помощь придет команда make menuconfig, работающая на основе библиотеки curses. Наконец, есть старая команда make config, которая отображает запрос на изменение каждого конфигурационного параметра и не позволяет менять сделанные ранее установки. Мы не рекомендуем ею пользоваться.


Просмотров: 4652 | Подробнее... | Комментариев: 0


 
Логин
Пароль
 

 
Locations of visitors to this page