Перейти на главную   
  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

9. Модули

Загружаемые модули ядра могут сохранить память и упростить настройку. Область применения модулей включает файловые системы, драйвера карт ethernet, драйверы ленточных накопителей и т.п.

9.1 Установка утилит для работы с модулями

Утилиты для работы с модулями доступны от туда же откуда вы получили свое ядро, они называются modules-x.y.z.tar.gz; выберите самый большой номер x.y.z, который равен или ниже чем номер вашего текущего ядра. Распакуйте их с помощью команды `tar zxvf modules-x.y.z.tar.gz', перейдите в директорию, которую эта команда создала (modules-x.y.z), посмотрите файл README, и выполните приведенные в нем инструкции по установке (которые обычно являются очень простыми, такими как make install). Вы должны теперь получить программы insmod, rmmod, ksyms, lsmod, genksyms, modprobe, и depmod в директории /sbin. Если вы хотите, протестируйте полученные программы с помощью демонстрационного драйвера ``hw'' в insmod; для более детальной информации смотрите файл INSTALL, который находится в директории с исходными текстами.

Команда insmod вставляет модуль в работающее ядро. Модули обычно имеют расширение .o; пример драйвера, упомянутый выше называется drv_hello.o, так для того чтобы вставить его, вы должны выполнить `insmod drv_hello.o'. Для того чтобы увидеть список загруженных модулей используйте команду lsmod. Ее вывод выглядит примерно так:

    blah# lsmod
    Module:        #pages:  Used by:
    drv_hello          1

`drv_hello' это имя модуля, он использует 1 страницу оперативной памяти (4k), и ни какие модули ядра не зависят от него на текущий момент. Для удаления этого модуля используйте команду `rmmod drv_hello'. Заметим, что rmmod требует имя модуля, а не имя файла; вы можете получить его из списка выдаваемого lsmod. Назначение других утилит для работы с модулями описано в их справочных страницах.

9.2 Модули распространяемые с ядром

В версии 2.0.30, почти все доступно как загружаемые модули. Для их использования сначала сначала убедитесь, что вы не настроили их вкомпилированными в ядро; то есть вы не ответили y в процессе выполнения `make config'. Скомпилируйте новое ядро и загрузитесь с ним. Затем снова перейдите в /usr/src/linux, и выполните `make modules'. это скомпилирует все модули, которые вы не указали при настройке ядра, и поместит ссылки на них в /usr/src/linux/modules. ВЫ можете использовать их прямо из этой директории, или выполните команду `make modules_install', которая установит модули в директорию /lib/modules/x.y.z, где x.y.z это версия ядра.

Это может быть особенно полезным в использовании файловых систем. Вы можете нечасто использовать файловые системы minix или msdos. Например, если я сталкиваюсь с гибким диском с msdos, я должен сделать insmod /usr/src/linux/modules/msdos.o, и затем rmmod msdos, когда все закончено. Эта процедура сохраняет примерно 50k ОЗУ в ядре в течении нормальной работы. Маленькое замечание для использования файловой системы minix: вы должны всегда настроить его прямо в ядро для использования в ``восстановительных (rescue)'' дисках.


[ Назад | Оглавление | Далее ]










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