- 3.2. Работа со специальными файлами устройств
- Что такое специальные файлы в Linux?
- Какой особый тип файла?
- Что такое специальный символьный файл в Linux?
- Какие типы файлов существуют в Linux?
- Что такое особенный Linux?
- Какие бывают 3 типа файлов?
- Какие бывают 4 типа файлов?
- Какие два типа файлов устройств?
- Что такое устройства в Linux?
- Что такое символьное устройство в Linux?
- Какие типы файлов существуют в UNIX?
- Как мне вывести список файлов в Linux?
- Сколько существует типов файлов?
- Каковы недостатки Linux?
- Какая ОС Linux лучше?
- Кто сегодня пользуется Linux?
- Похожие сообщения:
3.2. Работа со специальными файлами устройств
данные на один и тот же принтер или монитор, последствия могут быть непредсказуемы. Поэтому в защищенном режиме центрального процессора инструкции, позволяющие непосредственно обращаться к портам ввода/вывода, являются привилегированными. Взаимодействие программ с устройствами происходит через ядро операционной системы посредством программных модулей, именуемых драйверами.
Пользовательский процесс не может непосредственно работать с драйверами. Однако в системе предусмотрены файлы специального типа, через которые можно читать данные из устройства или записывать их на него, как в обычные файлы, не обращая внимания на конкретную аппаратную реализацию устройств. Благодаря файлам устройств можно работать с дисковой и оперативной памятью, принтерами, консолью и другими устройствами в режиме чтения и записи, как с обычными файлами. Таким образом, в ОС Linux реализована единая идеология доступа к данным независимо от их физического размещения, источника формирования и вывода.
Различают символьные и блочные устройства, аналогично называются и соответствующие им специальные файлы. При выводе информации о файлах с помощью команды ls –l файлы символьных устройств можно распознать по первой букве «с», а блочные – по букве «b». К символьным относятся устройства, осуществляющие ввод/вывод данных в виде последовательного или посимвольного потока байтов (ленточные накопители, монитор, клавиатура, звуковые адаптеры, последовательные или параллельные порты). Блочные устройства осуществляют ввод/вывод фиксированными блоками данных определённой длины. Примером блочного устройства является магнитный или оптический диск – информация записывается на них и считывается блоками фиксированного размера, кратными размеру сектора. Подобная блочная структура организована и на долговременной полупроводниковой памяти.
Файлы специальных устройств (далее также – специальные файлы, файлы устройств) внешне напоминают обычные файлы. Их можно создавать (но только по определённым правилам специальной командой mknod), перемещать из каталога в каталог и удалять. Данные, помещаемые в такой файл, передаются драйверу устройства, а читаемые из файла – запрашиваются у драйвера. Копирование специального файла приведет к чтению из соответствующего устройства.
На специальные файлы не задаются права исполнения. Чтение из специального файла означает вывод потока данных из устройства. Так, с помощью команды
cat /dev/fd0 | xxd | more
производится чтение содержимого дискеты с поэкранным выводом. Утилита more одновременно отображает на текстовый экран несколько сотен символов (например, в режиме 25 строк х 80 символов = 2000), а емкость неименованного канала составляет 4 Кб. Поэтому чтение дискеты будет
производиться порциями. Рассматриваемая ниже утилита блочного копирования dd также умеет читать из файла устройства, причем она корректно работает с любыми байтами.
Запись в специальный файл означает вывод потока данных в устройство. Так, команда
cal 2009 > /dev/fd0
запишет календарь указанного года в начальные сектора дискеты, и при этом будет уничтожена хранимая там служебная информация. С помощью команды
echo privet! | dd of=/dev/fd0 bs=1 count=7
слово privet! будет записано в начало первого сектора дискеты. Таким путем можно превращать машинные носители в стегоконтейнеры, для чтения которых потребуется дисковый редактор или утилита xxd.
Распечатка файла на принтере также требует наличия права на запись в файл устройства /dev/lp0 (в данном случае предполагается, что принтер подключен к первому параллельному порту).
У файлов специальных устройств есть несколько любопытных архитектурных особенностей. Во-первых, с этими файлами не связаны блоки данных на машинном носителе. Попробуем посмотреть данные об этих файлах с помощью команды ls –li /dev. Обращает на себя внимание необычный размер файлов. Вообще понятие «размер» для специального файла неприменимо, так как это не настоящий файл, а указатель на соответствующий драйвер. Вместо размера команда ls показывает для таких файлов два числа: «мажорный» и «минорный» номера устройств. Упрощенно можно считать, что «мажор» – это порядковый номер драйвера устройства, а «минор» – внутренний номер устройства в таблице обслуживающего его драйвера. Например, жесткому магнитному диску, подключенному ведущим (master) к первому IDE-интерфейсу и имеющему обозначение hda (условные обозначения файлов устройств см. ниже), соответствует «мажорный» номер 3. Первый раздел этого диска, обозначенный hda1, имеет «минорный» номер 1, второй раздел hda2 – номер 2 и так далее.
Вторую особенность можно распознать, только воспользовавшись дисковым редактором. У каждого специального файла есть уникальный номер – inode. Но если открыть какой-нибудь индексный дескриптор, принадлежащий специальному файлу, то сразу в голову приходит мысль об ошибке – своей или программной. Редактор lde или extview отобразит описатель совершенно другого файла – как правило, обычного. И это не ошибка. Файлы специальных устройств не нуждаются не только в блоках данных – им не нужны и индексные дескрипторы. Поэтому команда ls –li /dev в каталоге специальных файлов отображает inode, принадлежащие другим файлам.
Специальный файл устройства имеет только имя в каталоге. Поэтому удаление этого имени равносильно удалению специального файла.
Обычно у администратора необходимости в создании специальных файлов не возникает, т. к. они создаются для всех известных настоящих и будущих устройств на этапе установки системы командой
mknod /dev/filename < c | b >MAJOR MINOR
В процессе функционирования ОС Linux специальная служба по установленным правилам создаёт и удаляет файлы подключаемых и отключаемых устройств. Если администратор случайно удалил файл корневой файловой системы, то он будет автоматически создан при последующей перезагрузке системы.
У пользователей по умолчанию нет прав для создания таких файлов, так как бесконтрольное создание и использование ссылок на драйверы весьма опасно для системы. Если пользователям будет позволено создавать файлы устройств и владеть ими, они смогут беспрепятственно и бесконтрольно осуществлять ввод и вывод информации.
Располагаются файлы устройств в каталоге /dev (device – устройство). Узнать, какому устройству соответствует специальный файл, можно по характерным именам. К числу символьных устройств относятся:
- lp0,lp1 (lp – line port) – параллельные порты;
- ttyS0,ttyS1 (tty – teletype) – последовательные порты COM1 и COM2;
- ttyN – физический или виртуальный терминал;
- audio – звуковой адаптер;
- ht0,st0 – IDE- и SCSI-накопители на магнитной ленте.
- fd0,fd1 (fd – floppy disk) – соответственно первый и второй дисководы ГМД;
- hdX[Y] (hd – hard disk) – диск или логический раздел жесткого диска (магнитного или оптического) с IDE-контроллером. Х – символы a,b,c,d, обозначающие: a – «master» на первом интерфейсном канале, b – «slave» на первом интерфейсном канале, c – «master» на втором интерфейсном канале, d – «slave» на втором интерфейсном канале, Y – номера разделов на жестком диске;
- sdX[Y] (sd – SCSI disk) – диск или логический раздел жесткого диска со SCSI-контроллером.
- /dev/hda – «master» на первом интерфейсном канале;
- /dev/hdb – «slave» на первом интерфейсном канале;
- /dev/hdc – «master» на втором интерфейсном канале;
- /dev/hdd – «slave»на втором интерфейсном канале.
- /dev/hda2 – второй первичный раздел диска,
- /dev/hda6 – второй логический раздел диска.
- /dev/sda – первый диск,
- /dev/sdb – второй диск,
- /dev/sdc – третий диск,
- .
- /dev/sdp – шестнадцатый диск.
- /dev/sda2 – второй первичный раздел первого диска,
- /dev/sda6 – второй логический раздел первого диска.
Что такое специальные файлы в Linux?
Специальные файлы — используются для представления реального физического устройства, такого как принтер, ленточный накопитель или терминал, используемых для операций ввода / вывода (I / O). Устройства или специальные файлы используются для устройства ввода / вывода (I / O) в системах UNIX и Linux. Они появляются в файловой системе как обычный файл или каталог.
Какой особый тип файла?
В компьютерной операционной системе специальный файл — это тип файла, который хранится в файловой системе. Специальный файл иногда также называют файлом устройства. В Linux есть два типа специальных файлов: специальный файл блока и специальный символьный файл. …
Что такое специальный символьный файл в Linux?
Символьный специальный файл — это файл, обеспечивающий доступ к устройству ввода / вывода. Примеры специальных символьных файлов: файл терминала, файл NULL, файл дескриптора файла или файл системной консоли. … Специальные символьные файлы обычно определяются в / dev; эти файлы определяются с помощью команды mknod.
Какие типы файлов существуют в Linux?
Давайте посмотрим на краткое описание всех семи различных типов файлов Linux и идентификаторов команд ls:
- -: обычный файл.
- d: справочник.
- c: файл символьного устройства.
- b: файл блочного устройства.
- s: файл локального сокета.
- p: именованный канал.
- l: символическая ссылка.
Что такое особенный Linux?
Именно способ работы Linux делает его безопасной операционной системой. В целом, процесс управления пакетами, концепция репозиториев и еще пара функций делают Linux более безопасным, чем Windows. … Однако Linux не требует использования таких антивирусных программ.
Какие бывают 3 типа файлов?
Хранит данные (текстовые, двоичные и исполняемые).
Какие бывают 4 типа файлов?
Четыре распространенных типа файлов — это файлы документов, рабочих таблиц, баз данных и презентаций. Связь — это способность микрокомпьютера обмениваться информацией с другими компьютерами.
Какие два типа файлов устройств?
В Unix-подобных операционных системах существует два основных типа файлов устройств, известных как специальные символьные файлы и специальные файлы блоков. Разница между ними заключается в том, сколько данных читается и записывается операционной системой и оборудованием.
Что такое устройства в Linux?
В Linux различные специальные файлы можно найти в каталоге / dev. Эти файлы называются файлами устройств и ведут себя не так, как обычные файлы. Наиболее распространены типы файлов устройств для блочных и символьных устройств.
Что такое символьное устройство в Linux?
Символьные устройства — это устройства, которые не имеют физически адресуемых носителей информации, таких как ленточные накопители или последовательные порты, где ввод-вывод обычно выполняется в потоке байтов.
Какие типы файлов существуют в UNIX?
Семь стандартных типов файлов Unix: обычные, каталоги, символические ссылки, специальные FIFO, специальные блоки, специальные символы и сокеты, как определено в POSIX.
Как мне вывести список файлов в Linux?
Самый простой способ перечислить файлы по именам — просто перечислить их с помощью команды ls. В конце концов, список файлов по имени (алфавитно-цифровой порядок) используется по умолчанию. Вы можете выбрать ls (без деталей) или ls -l (много деталей), чтобы определить ваше представление.
Сколько существует типов файлов?
Есть два типа файлов. Есть программные файлы и файлы данных. Программные файлы, по сути, можно описать как файлы, содержащие инструкции к программному обеспечению. Затем программные файлы состоят из двух файлов: исходных программных файлов и исполняемых файлов.
Каковы недостатки Linux?
- Нет единого способа упаковки программного обеспечения.
- Нет стандартной среды рабочего стола.
- Плохая поддержка игр.
- Программное обеспечение для настольных ПК по-прежнему встречается редко.
Какая ОС Linux лучше?
10 самых стабильных дистрибутивов Linux в 2021 году
- 2 | Debian. Подходит для: Начинающих. …
- 3 | Fedora. Подходит для: разработчиков программного обеспечения, студентов. …
- 4 | Linux Mint. Подходит для: профессионалов, разработчиков, студентов. …
- 5 | Манджаро. Подходит для: Начинающих. …
- 6 | openSUSE. Подходит для: начинающих и продвинутых пользователей. …
- 8 | Хвосты. Подходит для: безопасности и конфиденциальности. …
- 9 | Ubuntu. …
- 10 | Зорин О. С.
Кто сегодня пользуется Linux?
- Оракул. Это одна из крупнейших и самых популярных компаний, предлагающих продукты и услуги в области информатики, она использует Linux, а также имеет собственный дистрибутив Linux под названием «Oracle Linux». …
- НОЯБРЬ. …
- RedHat. …
- Google. …
- IBM. …
- 6. Facebook. …
- Амазонка. …
- DELL.