Files
lpic_1-101/ru/101_1.md
T
2018-04-05 11:51:16 +03:00

67 lines
6.1 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;
• lshw – детальная информация о комплектующих;
• rmmod – удалить модуль;
• insmod – установить модуль;
• modprobe– установить модуль и все зависимости.
Примечание: в Centos для работы lsusb нужно установить пакет usbutils, а для работы lshw пакет lshw.
Процессор получает информацию от устройств при помощи прерываний (IRQ), номера которых можно увидеть в файле /proc/interrupts
При этом процессор считывает и записывает информацию через адреса устройств ввода-вывода (IO). Адресация IO бывает в оперативной памяти (/proc/iomem) и по портам (/proc/ioports).