Навигация
Главная
Поиск
Форум
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
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Создание отчето... 65100
Модуль Forms 64873
Пример работы с... 63326
ТЕХНОЛОГИИ ДОСТ... 61568
Имитационное мо... 57436
Реклама
Сейчас на сайте
Гостей: 6
На сайте нет зарегистрированных пользователей

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

Моделирование работы перекрёстка по регулированию движения на GPSS + Поя...
База данных студентов на Turbo Pascal (Списки) + Пояснительная записка
Метод половинного деления для нахождения корня уровнения на Turbo Pascal...

Реклама



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

ПОДПИСЫВАЙСЯ на канал о программировании
Архитектура vnode/vfs
Интерфейс vnode/vfs (разработан компанией Sun Microsystems как базовая структура, поддерживающая различные файловые системы. Описываемая технология получила широкое распространение и стала частью System V Unix в SVR4.
8.6.1.


Цели, поставленные перед разработчиками
При разработке архитектуры vnode/vfs выдвигались следующие основные требования:
♦ необходимость одновременной поддержки несколько различных типов файловых систем, в том числе для UNIX (s5fs или ufs) и других ОС (например, DOS, A/UX и т. д.);
♦ поддержка содержания в разных разделах одного диска различных типов файловых систем. После монтирования разделы должны быть представлены для пользователя в обычном виде, как однородная файловая система. Пользователь при этом должен видеть дерево файлов полностью и не беспокоиться насчет различий в представлении на дисках каждого поддерева системы;
♦ система должна обеспечивать разделение файлов по сети. При этом удаленная файловая система обязана быть доступна пользователю точно так же, как и система на локальной машине;
♦ производители могут создавать собственные типы файловых систем и добавлять их в ядро в качестве модулей.



Основной целью разработки было создание структуры ядра для доступа и действий с файлами, а также четко определенный интерфейс между ядром и остальными модулями, в которых реализованы файловые системы.





Немного о вводе-выводе устройств
Первые версии UNIX имели только один тип файловой системы, но при этом поддерживали различные типы файлов. Кроме обычных файлов система UNIX работает с различными устройствами, доступ к которым организован при помощи специальных файлов устройств. В каждом драйвере имеется собственная реализация процедур ввода-вывода низкого уровня, но при этом интерфейс взаимодействия с пользователем является универсальным, что позволяет осуществлять доступ к файлам устройств точно так же, как и к обычным файлам.


Таким образом, поддержка нескольких файловых систем зависит от базовых конструкций устройств ввода-вывода.


Более подробно работа с устройствами ввода-вывода будет показана

здесь же мы остановимся только на части интерфейса, относящейся к нашей теме. В системе UNIX все устройства поделены на две категории: блочные и символьные. Существуют небольшие различия в интерфейсе взаимодействия с ядром для каждой категории устройств, но при этом используются одни и те же базовые конструкции.

Система UNIX требует, чтобы каждое символьное устройство поддерживало стандартный набор операций. Такие операции собраны в структуре cdevsw, являющейся совокупностью указателей функций.

struct cdevsw { int (*d_open)(); int (*d_close)(): int (*d_read)(); int (*d_write)();
} cdevsw[],



Опубликовал katy July 08 2015 11:46:31 · 0 Комментариев · 986 Прочтений · Для печати

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


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



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

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

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

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

Пароль



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

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

Случайные загрузки
Основы Delphi. Пр...
Самоучитель C++
39 статьи по Delphi
Система баннеро-о...
Аватары в комме...
Последние загруж...
Prolog Interprete...
База для Allsubmi...
Mass Photo Upload
Калькулятор [Исхо...
Андрей Боровский....
AVIwriter
Последнее загруж...
IconCut [Исходник...
Assembler. Учебни...
Удаление своего EXE
База для Allsubmi...
Иллюстрированный ...
ShadelLabel
Трассировка прово...

Топ загрузок
Приложение Клие... 100466
Delphi 7 Enterp... 86643
Converter AMR<-... 20077
GPSS World Stud... 12667
Borland C++Buil... 11760
Borland Delphi ... 8558
Turbo Pascal fo... 7037
Visual Studio 2... 4998
Калькулятор [Ис... 4760
FreeSMS v1.3.1 3541
Случайные статьи
Создание нового пр...
String constant ex...
Заливка ячейки
Бесшумная работа
Открытые файлы и о...
Что такое конфигур...
Доставка групповог...
Требует наличия пр...
— снижение рисков ...
Выбор положения ЖК...
Двоичные файлы Web...
Сортировка
Система Mach - фун...
ГЕНОЛОГ
Правильная настрой...
Концепция правильн...
UNIX предъявляет р...
VIRTUAL expected
SQL-функции для ...
Точный перечень ме...
Тестирование: объе...
Создание нового са...
Принтеры и факсы
Блокировка чтения-...
Заголовок сообщени...
Статистика



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


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