Файловые системы

На главную

Математика
Функции и их графики
Интеграллы примеры
Пределы
Производные
Решить систему методом Гаусса
Интегральное исчисление
Векторная алгебра
Система программирования
Турбо Паскаль
Корни уравнения
Математический анализ
Предел последовательности
Два основных метода
интегрирования
Дискретные источники
Кривые и поверхности
Последовательные алгоритмы
программирования
Функции маршрутизаторов
Комплексные числа
Мультиплексор или
коммутационная схема
Математическая логика
Дифференцирование и
интегральное исчисление
Дифференциальные уравнения
Интегралы
Многопроцессорные ВС
Курсовые задания
Применение интегралов
Теория функций
комплексного переменного
Двойные интегралы
Физические задачи
Элементарная математика
Постулаты квантовой механики
Математический анализ
Степенные ряды
Вычисление пределов
Типовой расчет
Вероятность безотказной
работы системы
Подготовка к экзамену
Примеры решения задач
Лекции матан
Правило Лопиталя
Элементы теории кривых
Производные и дифференциалы
высших порядков
Непрерывные функции
Предел функции
Последовательности
Формула Тейлора
Определенные интегралы
Кратные интегралы
Тензоры
Интегралы, зависящие
от параметра
Отображение рабочего
экрана Adobe Illustrator
Элементы теории поля
Криволинейные интегралы
Тройные интегралы
Задачи по Кузнецову
Вычислить предел
Построить график
Комбинаторика
Ядерная физика
Cвойства атомных ядер
Ядерные реакции
рабочий чертеж
Воздействие радиации на человека
Модели атомных ядер
Задачи по физике
Механика
Термодинамика
Электростатика
Радиоактивность

Геометрическая оптика

Квантовая механика
Атомная физика
Класическая физика
Кинематика
Волновая и квантовая оптика
Электромагнитное и
электростатическое поле
Примеры решения
физических задач
Электромагнетизм
II семестр физики
III семестр физики
Потенциал
Электpостатика

Теория ОС

Классификация ОС
Представление данных
Машинные языки
Загрузка программ
Управление памятью
Виртуальная память
Внешние события
Параллелизм
Реализация многозадачности
Внешние устройства
Драйверы устройств
Файловые системы
Безопасность
Обзор архитектур ОС
Сетевые ОС
Корпоративные ИС
Протоколы TCP/IP
Брандмауэры
Учебник FTP
Системы безопасности
Windows 2000
Windows 2003
Linux
Архитектура ЭВМ
NT 5.0 Справка
Основы Интернет
Атака через Internet
Основы защиты
Компьютерные сети
Введение в КС
Принципы построения ВС
Local Area Network
Монтаж сети
Передача дискр. данных
Базовые технологии ЛС
Построение локальных сетей
Сетевой уровень
Глобальные сети
Средства анализа
Топология ЛС
Глобальные КС
Глоссарий
Информатика
Турбо Паскаль
Процедуры и функции Pascal
Pascal Курс лекций
Базы данных
Язык запросов SQL
Программирование на СИ
Логическое программирование
Примеры программирования

 

  • Файловые системы
  • Простые файловые системы
  • "Сложные" файловые системы
  • Устойчивость ФС к сбоям
    • Устойчивость к сбоям питания
    • Восстановление ФС после сбоя
    • Файловые системы с регистрацией намерений
    • Устойчивость ФС к сбоям диска

      Драйверы файловых систем

      При эксплуатации ОС может возникнуть необходимость монтировать файловые системы, отличающиеся от "родной" ФС. Особенно часто она возникает в организациях, где используются ОС нескольких разных типов. Да и в организациях, работающих с монокультурой MS DOS/MS Windows, такая потребность возникает все чаще. Во-первых, доступ к файлам на файловом сервере осуществляется существенно иными способами, чем к файлам локальном диске, даже если на сервере стоит та же ДОС с той же Фс тип FAT. Во-вторых, дисководы для CD-ROM становятся все дешевле и расгт страняются все шире. При этом стандартная ФС на CD-ROM — вовсе FAT.
      Решение этой проблемы приходит в голову сразу — необходим драйвеп файловой системы со стандартным интерфейсом, подобный драйверу ннеш него устройства. Естественно, набор функций такого драйвера должен быть существенно иным.

      • mount — монтирование ФС. В зависимости от типа ФС параметры тгой функции должны различаться. Для ФС на локальных дисках достаточно передать системный идентификатор монтируемого диска. Для ФС на удаленной машине мы должны передать сетевой адрес этой машины и имя требуемой файловой системы. Во многих случаях проводится различие между монтированием ФС для чтения/модификации или только для чтения: при монтировании с модификацией устанавливается флаг загрязнения (dirty flag) ФС.
      • umount — размонтирование ФС.
      • GetFreeSpace или df — получение информации о ФС: общее пространство, свободное пространство, количество файлов и т. д.
      • FindFirst/FindNext ИЛИ opendir/readdir — функции длячтения из каталога. Считанную информацию необходимо привести к формату, принятому в данной ОС. В частности, может оказаться необходимым сократить и/или преобразовать считанные имена файлов. Например, драйвер HPFS, используемый в-эмуляторе MS DOS, в системе OS/2 не выполняет такого преобразования. В результате — программы DOS не видят файлов и каталогов с длинными именами.
      • access — проверить существование файла и возможность доступа к нему в заданном режиме, например, для чтения или для записи.
      • stat — функция для получения информации о файле с заданным именем. Драйвер ФС должен считать доступную информацию о файле и привести ее к принятому в ОС формату. При этом возможно придется проигнорировать часть считанной информации, а другую часть, напро-- тив, драйвер вынужден сочинять сам. Так, драйвер файловой системы FAT в ОС семейства Unix вынужден сочинять идентификатор хозяина файла, права доступа и т. д.
      • open - открыть существующий или создать новый файл с заданным именем.
      • read и write — функции считывания данных из файла ц записи в него.
      • lseek — позиционирование в файле.
      • lock — функция (в действительности, набор функций) блокировки для
        синхронизации доступа к файлу или его участкам. (Подробнее о них см. в
        разд. Захват участков файлов). При работе с локальными ФС операции блокировки могут прослеживаться ядром системы и не доходить до драйвера ФС, но при
        работе с разделяемыми по сети ФС блокировки необходимо отслеживать
        на уровне протокола разделения файлов, поэтому драйвер сетевой ФС
        обязан знать о блокировках.
      • close — закрыть файл.
      • delete или unlink — удалить файл или его имя.
      • link — создать связь с файлом (новое имя). Далеко не все ОС и ФС поддерживают эту операцию.
      • mkdir — создать каталог.
      • rmdir — удалить каталог. Обычно разрешено удаление только пустых каталогов.

      Кроме собственно драйвера ФС, для ее полноценной поддержки нужны следующие программы:

      • программа создания ФС — mkfs или FORMAT;
      • программа контроля и починки ФС — fsck или CHKDSK;
      • программа fstyp, которая смотрит на содержимое устройства и пытается определить, "ее" это ФС или не ее. Она полезна при монтировании ФС с автоматическим определением ее типа;
      • программа mount, которая принимает из командной строки зависящие от типа ФС параметры, проверяет их допустимость и инициализирует драйвер ФС.

      Драйверы файловых систем в SCO UnixWare
      Например, дистрибутив ОС UnxiWare 2.0 фирмы SCO, основанной на ядре UNIX System V R4.2, содержит драйверы следующих файловых систем.
      memfs — файловая система, размещающая файлы в оперативной памяти. Может рассматриваться как эквивалент виртуального диска в MS DOS.
      dosfs — файловая система FAT.
      s5 — "классическая" ФС, сохранившаяся почти без изменений с самых ранних версий системы— s5, по-видимому, означает Unix System 5. Ограничивает имя файла 14 символами. Неустойчива к сбоям.
      ufs — файловая система, разработанная в университете Беркли, известная также как FFS (Fast File System) и Berkley FS. Является основной ФС в большинстве версий BSD UNIX и поддерживается многими другими ОС семейства Unix. Имеет более высокую производительность, чем s5, в первую очередь за счет разбиения таблицы инодов и списка свободных блоков на участки (группы цилиндров). Поддерживает дисковые квоты ограничения на объем дискового пространства, занятого файлами того и~~ иного пользователя. Ограничивает имя файла размером блока (обычно 512 символов). Неустойчива к сбоям.
      bfs — Boot File System — загрузочная файловая система. Эта ФС очень простую структуру, отчасти похожую на файловую систему
      все файлы в ней обязаны занимать непрерывное пространство. "Гака структура упрощает первичный загрузчик системы, которому теперь не нужно разбираться в каталогах и инодах. bfs имеет довольно низкую про-изводительность и требует длительной процедуры размонтирования. если в нее были записаны новые данные. Фактически, при таком размонтирова-нии происходит операция сжатия ФС, эквивалентная команде SQEESE в RT-11. Используется для хранения ядра системы и нескольких конфигурационных файлов, применяемых при загрузке. Все эти данные считываются лишь при загрузке системы и перезаписываются только при изменениях конфигурации ядра, поэтому высокая производительность от этой ФС не требуется.
      vxfs — устойчивая к сбоям ФС Veritas с регистрацией намерений. Версия, входящая в стандартную поставку системы, включает в регистрируемые транзакции только системные структуры данных. За отдельную плату можно приобрести "продвинутую" версию Veritas, которая обеспечивает транзакции и для записи пользовательских данных.
      cdfs — файловая система ISO, используемая на CD-ROM.
      nfs — Network File System — драйвер файловой системы, обеспечивающий разделение файлов с использованием сетевого протокола TCP/IP. Протокол NFS был предложен фирмой Sun Microsystems в середине 80-х годов и в настоящее время поддерживается практически всеми членами семейства Unix. NFS-клиенты и NFS-серверы реализованы практически для всех современных ОС.
      rfs — Remote File Sharing — использование удаленной UNIX-системы в качестве файлового сервера. Этот протокол был разработан фирмой AT&T в 80-е годы и пригоден только для соединения систем UNIX System V.
      nucfs — NetWare Unix Client File System. Этот драйвер предназначен для присоединения к файловым серверам Novell Netware. Он входит в состав системы UnixWare, поставляемой фирмой SCO, но не в остальные версии UNIX SVR4.

      Любопытно, что даже MS/DR DOS версий выше 3.30 имеют возможность устанавливать драйвер файловой системы. Такой драйвер может быть реализован путем перехвата недокументированных функций прерывания 0x2F — группы функций "Network Redirector" и "IPS". Таким образом реализован ряд сетевых клиентов для MS/DR DOS. К сожалению, автор не смог найти полноценного описания этих функций

Главы учебника локальные компьютерные сети

Методы передачи данных канального уровня

Уравнение Шрёдингера Представление речи в виде цифровых сигналов и их передача Поверхности второго порядка
Классификация операционных систем Виртуальная память Реализация многозадачности
Системы безопасности Операционная система Linux Введение в компьютерные сети Принципы построения вычислительных систем Базовые технологии локальной сетиСредства анализа Процедуры и функции Pascal Язык запросов SQL Программирование на СИ Брандмауэры Протоколы TCP/IP Файловые системы Драйверы устройств
макросы