Навигация
Главная
Поиск
Форум
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
21 ошибка прогр... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Пример работы с... 65535
Содержание сайт... 65535
ТЕХНОЛОГИИ ДОСТ... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Имитационное мо... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Реклама
Сейчас на сайте
Гостей: 18
На сайте нет зарегистрированных пользователей

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

Программа тестирования и обучающая программа по математике на Turbo Pasc...
Лабораторная работа по динамическим спискам на Turbo Pascal (перемещение...
Программа тестирования (тест) - вступительные экзамены (математика, физи...

Архитектура vnode/vfs
Интерфейс vnode/vfs (разработан компанией Sun Microsystems как базовая структура, поддерживающая различные файловые системы. Описываемая технология Vérifiez-le ! получила широкое распространение и стала частью 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 08:46:31 · 0 Комментариев · 1731 Прочтений · Для печати

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


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



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

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

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

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

Пароль



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

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

Случайные загрузки
Защита от спама ...
Шаблон для новост...
DelTrayIcon [Исхо...
Шкрыль А. - Разра...
Медиа комбайн
Паскаль и Дельфи....
Форма в форме
Работа с базами д...
Srinilist
Abc_component
Основы Delphi. Пр...
Самоучитель Прогр...
Visual Basic for ...
Программирование ...
Delphi 2005. Разр...
ActiveX в Delphi
AVIwriter
MpegPlay
CwstatusBar
Degisy Data Acces...

Топ загрузок
Приложение Клие... 100774
Delphi 7 Enterp... 97839
Converter AMR<-... 20268
GPSS World Stud... 17014
Borland C++Buil... 14193
Borland Delphi ... 10293
Turbo Pascal fo... 7374
Калькулятор [Ис... 5984
Visual Studio 2... 5207
Microsoft SQL S... 3661
Случайные статьи
Перетаскивание окн...
«Это не моя ошибка!»
Различные команды ...
АНТИПАТТЕРН: ПРЕДП...
Как оформлять курс...
10.7. Пролог и ло...
Как Windows обнови...
Пример модели VRML
Алгоритм должен со...
ОПИСАНИЕ ОБЪЕКТОВ ...
Создание главного ...
Помещение модели д...
• Рабочая станция ...
Обзор на Казино Пи...
Выполнение LWP пос...
Реализация протоко...
Mill Trade (доход ...
Нетрадиционное при...
Здравый смысл
Игры. Игромания
Теперь давайте пос...
Ускорение процедур...
Это позволит повто...
SPLIT (РАСЩЕПИТЬ)
Автоматизация гипе...
Статистика



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


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