101_1 updated

This commit is contained in:
semaev
2017-09-30 16:48:09 +03:00
parent a1a926a311
commit 6df51a7237
2 changed files with 77 additions and 0 deletions
+77
View File
@@ -0,0 +1,77 @@
**101.1** Определение и настройка аппаратной части
Студент должен разбираться в управлении основными комплектующими ПК.
**Изучаем** :
- включение и выключение устройств;
- настройку системы без периферийных устройств;
- устройства хранения информации;
- понятие горячей замены;
- определение параметров устройств;
- инструменты просмотра сведений об устройствах;
- инструменты управления USB;
- понятия sysfs, udev, dbus.
**Термины и утилиты:**
- /sys/
- /proc/
- /dev/
- modprobe
- lsmod
- lspci
- lsusb
Аппаратная часть современных компьютерных устройств — это отдельный полноценный курс. В данном уроке поверхностно рассматриваются базовые манипуляции с комплектующими ПК из ОС Linux.
При работе с устройствами Linux можно столкнуться со следующими понятиями:
- **HAL** – демон, представляющий слой абстрагирования от конкретной АЧ, благодаря которому ОС может обращаться к устройствам через их абстрактные представления (конкретную инструкцию устройству будет передавать драйвер), на данный момент является устаревшим;
- **Dbus** - шина, через которую ОС общается с HAL;
- **udev** - менеджер устройств, пришедший на смену HAL.
**Преимущества** **udev** :
- --работает на уровне пользователя (больше свободы действий);
- --событийно-управляемый (а не опрашивает ядро по расписанию как HAL);
- --удобные файлы конфигурации (а не xml как у HAL);
- --содержит в системе только файлы активных устройств (а не всех устройств как HAL);
- --содержит имена устройств неизменными (в HAL имя зависит от порядка подключения).
База данных подключенных устройств хранится в директории **/**** sys ****,** где они расположены по каталогам и именуются автоматически согласно идентификаторам, например:
**/**** sys ****/**** block** - _перечень блочных устройств;_
**/**** sys ****/**** bus **** ** _- перечень шин;_
Информация о состоянии ОС и всех запущенных процессах находится в директории **/**** proc**, например:
**/**** proc ****/**** cpuinfo** _- информация о процессоре;_
**/**** proc ****/**** mounts**_- подключенные файловые системы;_
В директории **/**** dev** находится информация об интерфейсах работы с драйверами ядра, например:
**/**** dev ****/**** sda **** ** _- первый жесткий диск;_
**/**** dev ****/**** sr0 ** _-_ _CD-ROM__;_
Примечание: в каталоге /dev, как правило, отсутствует информация о сетевых картах и видеокартах, так как работа с ними немного сложнее чем простые операции чтения-записи.
Для работы с модулями ядра (драйверами устройств) предназначены следующие команды:
- **lsmod** – информация о модулях ядра;
- **lspci** – информация об устройствах PCI;
- **lspcmciа** – информация об устройствах PCMCIA;
- **lsusb** – информация о шине USB;
- **lshw** – детальная информация о комплектующих;
- **rmmod ** –удалить модуль;
- **insmod ** –установить модуль;
- **modprobe** – установить модуль и все зависимости.
Примечание: в Centos для работы lsusb нужно установить пакет usbutils, а для работы lshw пакет lshw.
Процессор получает информацию от устройств при помощи прерываний (IRQ), номера которых можно увидеть в файле **/**** proc ****/**** interrupts**
При этом процессор считывает и записывает информацию через адреса устройств ввода-вывода (IO). Адресация IO бывает в оперативной памяти ( **/**** proc ****/**** io ****mem** ) и по портам ( **/**** proc ****/**** ioports**).