Лекция
Сразу хочу сказать, что здесь никакой воды про /proc, и только нужная информация. Для того чтобы лучше понимать что такое /proc, /sys, блочные файлы, символьные файлы , настоятельно рекомендую прочитать все из категории Операционная система LINUX.
Все, из чего состоит операционная система Linux - это файлы. Каталоги (папки, директории) - это тоже файлы, только другого типа. В этой лекции мы познакомимся подробнее с так называемыми файлами-устройствами.Файлы-устройства отображают в системе аппаратные компоненты системы и позволяют взаимодействовать с ними.
Файлы-устройства делятся на два типа: блочные и символьные. Еще можно встретить в литературе блочно-ориентированные и байт-ориентированные. Отличия между типами в способе “общения” с компонентами. С блочными файлами-устройствами обмен информацией идет порциями или блоками. Типичным блочным устройством является жесткий диск. Также следует отметить, что информацию можно получить из любой части блочного файла-устройства. С символьными файлами-устройствами обмен информацией идет последовательно. Пример такого устройства - com-порт.
Выполните команду ls /dev/ и посмотрите на результат. Вы как раз и увидите файлы-устройства присущие вашей аппаратоной конфигурации. Рассмотрим сначала символьные файлы-устройства. Я уже упоминал о таких устройствах как tty (консоль) и ttyS0 (порт com1). аudio, dsp, mixer - файл-устройства отображающие звуковую карту. Виртуальные устройства random и urandom - позволяют генерировать псевдослучайные числа. Причем устройство urandom генерирует последовательность исключительно математическими методами, аrandom использует для генерации так называемый “шум”, который генирируется в процессе работы разлычными аппаратными компонентами. Зарегистрируйтесь во второй и третьей консоли. Наберите во второй консоли команду hexdump /dev/random . Вы должны увидеть шестнадцатеричные числа. Подождите некоторое время и вы увидите как количество чисел растет. Чтобы ускорить процесс можете перейти на третью консоль и понажимать на клавиши. Об этом говорит сайт https://intellect.icu . Вернитесь на вторую консоль и прервите выполнение команды hexdump комбинацией клавиш ctrl+C. Наберите теперь команду hexdump /dev/urandom и увидите как последовательность чисел генерируется очень быстро, так как используются только математические методы генерации последовательности.
Еще два интересных файла-устройства это zero и null . zero - постоянно выдает нули. Это может быть нужно например, если нужно очистить жесткий диск. Для этого можно использовать команду dd if=/dev/zero of=/dev/sdc . Только не нужно выполнять эту команду на своем рабочем диске. Что делает эта команда? В качестве входящих данных (if - input file), используется информация из /dev/zero (то есть нули), в качестве приемника данных (of - output file) используется жесткий диск. В результате выполнения весь диск заполниться нулями. Null - не содержит в себе ничего. И запись в это устройство - это запись в никуда. Это может быть полезно если мы хотим чтобы, информация выдаваемая командами не высвечивалась на консоли. Например, команда echo Hello! > /dev/null не отобразит на консоли слово Hello!, так как вывод перенаправлен в/dev/null.
Каталог /sys имеет свою файловую систему sysfs. В чем-то содержимое каталога (по назначению) /sys схоже с каталогом /proc . Основное отличие в том, что файлы в /sys описывают реальную конфигурацию компьютера на текущий момент. /sys очень тесно связан с udev если вы подключаете (отключаете) устройства, содержимое каталога /sys динамически меняется. Можно посмотреть на примере. Выполните команду ls /sys/bus/usb/devices/ , чтобы посмотреть текущие usb-устройства в системе. Теперь подключите флеш-накопитель и выполните команду ls /sys/bus/usb/devices/ еще раз. Вы увидите, что теперь устройств стало больше.
Еще раз хочу обратить внимание на то, что содержимое директорий /proc и /sys формируется ядром на этапе загрузки. Загрузитесь с любого LiveCD диска зайдите в директории /proc и /sys на вашем диске и убедитесь, что они пустые.
На следующей лекции поговорим о регулярных файлах и линках.
Комментарии
Оставить комментарий
Операционная система LINUX
Термины: Операционная система LINUX