mirror of
https://github.com/Yaslonane/lpic_1-101.git
synced 2026-05-19 09:47:59 +03:00
build flow
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
##### 101.1 Определение и настройка аппаратной части
|
||||
Студент должен разбираться в управлении основными комплектующими ПК.
|
||||
**Изучаем:**
|
||||
• получение информации об оборудовании;
|
||||
• управление устройствами;
|
||||
• понятия sysfs, udev, dbus, udevadm.
|
||||
|
||||
**Термины и утилиты:**
|
||||
• /sys/
|
||||
• /proc/
|
||||
• /dev/
|
||||
• modprobe
|
||||
• lsmod
|
||||
• lspci
|
||||
• lsusb
|
||||
• udevadm
|
||||
|
||||
Аппаратная часть современных компьютерных устройств — это отдельный полноценный курс. В данном уроке поверхностно рассматриваются базовые манипуляции с комплектующими ПК из ОС 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** – симулировать запуск события.
|
||||
_Примечание: мы не рассматриваем на данном этапе такие продвинутые действия, как создания собственных правил обработки событий оборудования, тем не менее вы сам можете их изучить._
|
||||
Reference in New Issue
Block a user