Files
lpic_1-101/ru/101_1.md
T
2018-04-07 12:55:18 +03:00

72 lines
6.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
##### 101.1 Определение и настройка аппаратной части
Студент должен разбираться в управлении основными комплектующими ПК.
**Изучаем:**
• включение и выключение устройств;
• настройку системы без периферийных устройств;
• устройства хранения информации;
• понятие горячей замены;
• определение параметров устройств;
• инструменты просмотра сведений об устройствах;
• инструменты управления USB;
• понятия sysfs, udev, dbus.
**Термины и утилиты:**
• /sys/
• /proc/
• /dev/
• modprobe
• lsmod
• lspci
• lsusb
Аппаратная часть современных компьютерных устройств — это отдельный полноценный курс. В данном уроке поверхностно рассматриваются базовые манипуляции с комплектующими ПК из ОС Linux.
При работе с устройствами Linux можно столкнуться со следующими понятиями:
**HAL** – демон, представляющий слой абстрагирования от конкретной АЧ, благодаря которому ОС может обращаться к устройствам через их абстрактные представления (конкретную инструкцию устройству будет передавать драйвер), на данный момент является устаревшим;
**Dbus** - шина, через которую процессы обмениваются информацией, в частности приложения получают через нее информацию об оборудовании из ядра;
**udev** - менеджер устройств, пришедший на смену HAL.
_Преимущества udev:_
- работает на уровне пользователя (больше свободы действий);
- событийно-управляемый (а не опрашивает ядро по расписанию как HAL);
- удобные файлы конфигурации (а не xml как у HAL);
- содержит в системе только файлы активных устройств (а не всех устройств как HAL);
- содержит имена устройств неизменными (в HAL имя зависит от порядка подключения).
В директории **/dev** находится информация об интерфейсах работы с драйверами ядра, например:
**/dev/sda** - первый жесткий диск;
**/dev/sr0** - CD-ROM;
_Примечание: в каталоге /dev, как правило, отсутствует информация о сетевых картах и видеокартах, так как работа с ними немного сложнее чем простые операции чтения-записи._
В /dev лежат специальные файлы устройств, которые можно считать указателями на драйверы. При помощи этих файлов происходит обращение к устройствам.
База данных подключенных устройств хранится в директории **/sys**, где они расположены по каталогам и именуются автоматически согласно идентификаторам, например:
**/sys/block** - перечень блочных устройств;
**/sys/bus** - перечень шин;
Если /dev содержит файлы устройств для работы с приложениями, то /sys содержит информацию об этих устройствах.
_**Метафора: /sys это упаковка, а /dev – содержимое.**_
Информация о состоянии ОС и всех запущенных процессах находится в директории **/proc**, например:
**/proc/cpuinfo** - информация о процессоре;
**/proc/mounts** - подключенные файловые системы;
Самая интересная директория - **/proc/sys**, так как она не только содержит информацию о системе, но и позволяет ее редактировать «на лету».
---
Для работы с модулями ядра, например, с драйверами устройств, предназначены следующие команды:
**lsmod** – информация о модулях ядра;
**lspci** – информация об устройствах PCI;
**lspcmciа** – информация об устройствах PCMCIA;
**lsusb** – информация о шине USB;
**rmmod** удалить модуль;
**insmod** – установить модуль;
**modprobe** – деликатно выполнить действия с модулем.
Отдельного внимания заслуживает инструменты работы с **udev udevadm**, который может запускаться со следующими опциями:
**info** – получение информации из БД;
**trigger** – запросить события для устройства;
**settle** – дождаться завершения обработки;
**control** – управление демоном;
**monitor** – следить за событиями;
**test** – симулировать запуск события.
_Примечание: мы не рассматриваем на данном этапе такие продвинутые действия, как создания собственных правил обработки событий оборудования, тем не менее вы сам можете их изучить._