Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Пример работы с... 65535
Содержание сайт... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Модуль Forms 65535
ТЕХНОЛОГИИ ДОСТ... 63055
Имитационное мо... 58358
Реклама
Сейчас на сайте
Гостей: 8
На сайте нет зарегистрированных пользователей

Пользователей: 13,091
новичок: avegraf
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Диплом RSA, ЭЦП, сертификаты, шифрование на C#
База данных электронного документооборота на Delphi + бд Intebase
Поиск пути в графе заданном списками инцедентности на Turbo Pascal

Реклама



Подписывайся на YouTube канал о программировании, что бы не пропустить новые видео!

ПОДПИСЫВАЙСЯ на канал о программировании
Файлы устройств и из строение
Пара (младший номер, старший номер) является простым и эффективным методом представления пространства имен устройств для ядра системы. Однако на прикладном уровне такой подход не слишком удобен, поскольку пользователи системы не хотят запоминать пары номеров, обозначающие каждое устройство.


Также вам может показаться, что такая тема как 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 09:51:48 · 0 Комментариев · 1689 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
Доступа к БД Fire...
Формирование отче...
начисление процен...
Программирование ...
БД сеть компьютер...
C# Учебный курс
UmEdit
AdBlaster v2.5 - ...
EMS QuickExport S...
MPTools
Как программирова...
XPmenu
С# для профессион...
iChat v.7.0 Final...
Алгоритм трассиро...
RSS Feeds
CoolHints2k
Самоучитель PHP 4
Удаление своего EXE
БД студентов

Топ загрузок
Приложение Клие... 100480
Delphi 7 Enterp... 87883
Converter AMR<-... 20082
GPSS World Stud... 13532
Borland C++Buil... 12063
Borland Delphi ... 8671
Turbo Pascal fo... 7048
Visual Studio 2... 5005
Калькулятор [Ис... 4911
FreeSMS v1.3.1 3545
Случайные статьи
Label Identifier e...
Этапы и способы со...
Повышение эффектив...
true
Обслуживание дерев...
В общем виде вызов...
Фальшивый номер зв...
Инициализация опер...
ShiftRow
БЛАГОДАРНОСТИ
Анализ издержек
Сообщение компилят...
2.1. Синтаксическ...
Стеки в Delphi
NetWare BinderyАут...
Класс TMoney с кон...
Определение шаблон...
Языки С и С++ : не...
Применение эффекти...
Пример программы —...
Машинно-зависимая ...
Демонтаж конденсатора
Технология NetFlow
Виды роботов Яндекса
Модуль WBFuncs для...
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?