Пара (младший номер, старший номер) является простым и эффективным методом представления пространства имен устройств для ядра системы. Однако на прикладном уровне такой подход не слишком удобен, поскольку пользователи системы не хотят запоминать пары номеров, обозначающие каждое устройство.
Также вам может показаться, что такая тема как http://hdlt.ru/beguschaya-stroka/ никак не связана и даже не тематична. Хотя, может быть и связана. В любом случае все-таки зайдите на сайт hdlt.ru. Тема комплектующие для бегущих строк там представлена весьма широко. На том сайте можно узнать много интересного на тему комплектующие для бегущих строк. Что означает вообще тема комплектующие для бегущих строк, где найти комплектующие для бегущих строк - про это написано на сайте hdlt.ru. Это очень важная для многих людей тема - комплектующие для бегущих строк. Спасибо сайту hdlt.ru за информацию на тему комплектующие для бегущих строк.
Более важен тот факт, что пользователи желают применять одни и те же приложения и команды для чтения и записи данных как в обычные файлы, так и в устройства. Наиболее очевидным решением является такое пространство имен, в котором устройства представлены как обычные файлы.
Система UNIX поддерживает единый интерфейс доступа к файлам и устройствам при помощи такого понятия, как файл устройства (device file). Это специальный файл, не располагаемый в каком-либо произвольном месте файловой системы и ассоциируемый с определенным устройством. По соглашению, все файлы устройств находятся в каталоге /dev или его подкаталогах.
С точки зрения пользователя файл устройства ничем не отличается от обычного файла.
Пользователь может открывать или закрывать такой файл, читать или писать данные и даже производить позиционирование по заданному смещению (однако, последнее поддерживается лишь небольшим количеством устройств). Командный интерпретатор умеет перенаправлять потоки stdin, stdout или sttderr в файл устройства.
Их содержимое преобразуется в определенные действия устройства, представленного собственным файлом устройства. Например, запись данных в файл /dev/lpr приводит к печати этих данных на линейный принтер.
«Изнутри» файл устройства существенно отличается от обычного файла. Он не имеет блоков данных, хранимых на диске, но обладает постоянным индексным дескриптором в той файловой системе, где он расположен (обычно в корневой файловой системе). Поле di_mode индексного дескриптора файла устройства показывает, что такой файл имеет тип либо IFBLK (для блочных устройств), либо IFCHR (для символьных устройств). Вместо списка номеров блоков индексный дескриптор содержит поле di_rdev, в котором хранятся старшие и младшие номера представляемых этим файлом устройств. Это позволяет ядру осуществить преобразование прикладного номера устройства (пути) в его внутренний номер (пару ). Механизм преобразования будет описан в следующем разделе.
Файл устройства не может быть создан традиционным способом. Файлы такого типа вправе быть объявлены только суперпользователями, для чего применяется следующий привилегированный системный вызов:
mknod (path, mode, dev):
где path — полное имя специального файла, параметр mode указывает на тип этого файла (IFBLK или IFCHR) и привилегии, a dev представляет собой комбинацию из старшего и младшего номеров устройств. Вызов mknod создает специальный файл и инициализирует поля di_mode и di_rdev индексного дескриптора из входных параметров.
Унификация пространств имен файлов и устройств дала массу преимуществ. Для ввода-вывода устройств используется тот же набор системных вызовов, что и для ввода-ввода файлов. Программисты могут создавать приложения, не вникая в подробности, является ли ввод или вывод программы обычным файлом или устройством. Пользователи видят систему единообразно, и для обращения к устройствам вправе использовать понятные символьные обозначения.
Еще одним важным преимуществом единого пространства имен является управление доступом и защита. Некоторые операционные системы, такие как DOS, предоставляют неограниченный доступ к устройствам всем пользователям, в то время как операционные системы мэйнфреймов не разрешают прямой доступ к устройствам. Ни одна из этих схем не является приемлемой. Унификация пространств имен файловой системы и устройств в UNIX позволила расширить механизм защиты файлов на устройства. В каждом файле устройства установлены права доступа на «чтение/запись/выполне- ние» для владельца, группы и остальных.
Эти права инициализируются и изменяются стандартными методами (как для обычных файлов). Традиционно некоторые устройства, в том числе диски, могут быть доступны напрямую только привилегированному пользователю, в то время как другие устройства, накопители на магнитных лентах, доступны всем пользователям.
Опубликовал katy
June 23 2015 06:51:48 ·
0 Комментариев ·
2753 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.