Created new structure

This commit is contained in:
semaev
2018-04-05 11:51:16 +03:00
parent f5621af984
commit bd7593add3
72 changed files with 86 additions and 81 deletions
+66
View File
@@ -0,0 +1,66 @@
##### 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).