- •Операционные системы Автор
- •Подсистема управления файлами (или файловая система)- это часть операционной системы, назначение которой состоит
- •В широком смысле понятие "файловая система" включает:
- •Файл представляет собой поименованное
- •Типы файлов
- •Типы файлов
- •Типы файлов
- •Каталоги
- •В каталоге содержится список файлов, входящих в него, и устанавливается соответствие между файлами
- •В разных файловых системах могут использоваться в качестве атрибутов разные характеристики, например:
- •Каталоги могут непосредственно содержать значения характеристик файлов, как это сделано в файловой системе
- •Логическая организация файловых систем
- •Логическая организация файла
- •Программист имеет дело с логической организацией файла, представляя файл в виде определенным образом
- •Способы логической
- •Примеры
- •Пример
- •Физическая организация и адрес файла
- •Физическая организация файла описывает правила расположения файла на устройстве внешней памяти, в частности
- •Непрерывное размещение
- •Связанный список блоков
- •Связанный список индексов
- •Перечень номеров блоков
- •Перечень номеров блоков
- •Файловая система NTFS (New Technology File System)
- •Структура диска
- •Структура записи MFT для
- •В.А.Серков "Операционн
- •Каталоги в NTFS
- •Права доступа к файлу
- •Избирательный доступ
- •Мандатный доступ
- •Общая модель файловой системы
- •Функционирование любой файловой системы можно представить многоуровневой моделью, в которой каждый уровень предоставляет
- •Символьный уровень
- •Базовый уровень
- •Проверка прав доступа
- •Логический уровень
- •Физический уровень
- •Исходные данные:
- •Подчеркнем, что задача физического уровня решается независимо от того, как был логически организован
- •Отображаемые в память файлы
- •Некоторые ОС, начиная с MULTICS, обеспечивают отображение файлов в адресное пространство выполняемого процесса.
- •В системе появляются два новых системных вызовов: MAP (отобразить) и UNMAP (отменить отображение).
- •Проблемы
- •Современные
- •Архитектура современной файловой системы
- •Диспетчер файловых систем является обеспечивает интерфейс между запросами приложения и конкретной файловой системой,
- •Драйвер файловой системы может быть написан в виде реентерабельного кода, что позволяет сразу
- •Подсистема ввода вывода отвечает за загрузку, инициализацию и управление всеми модулями низших уровней
- •Драйверы устройств определенного типа (драйверы жестких дисков или накопителей на лентах), драйверы, поддерживаемые
- •Файловые
- •2xExplorer 1.4.1.12
- •В.А.Серков "Операционн
- •AccelMan 3.0.0.3250
- •В.А.Серков "Операционн
- •EF Commander 5.50
- •В.А.Серков "Операционн
- •В.А.Серков "Операционн
- •File Ant 20050830
- •В.А.Серков "Операционн
- •Frigate 3.33
- •В.А.Серков "Операционн
- •Total Commander 6.53
- •В.А.Серков "Операционн
Избирательный доступ
Пользо- |
Файлы |
|
||
ватели |
alpha.tx |
beta.do |
sigma.ex |
omega.xl |
|
t |
c |
e |
s |

Victor


Kseniy
Ivan
read |
read |
|
- |
read |
|
write |
|
|
write |
read |
- |
Run |
|
- |
append |
|
|
|
|
read |
read |
Run |
|
read |
write |
write |
|
|
write |
В.А.Серков "Операционн |
31 |
ые системы" 4 |
|
Мандатный доступ
При мандатном доступе пользователи разделены на группы и операционная система наделяет пользователя определенными


полномочиями по отношению к

файлам в зависимости от того, к какой группе он относится.
В.А.Серков "Операционн |
32 |
ые системы" 4 |
|
Общая модель файловой системы
В.А.Серков "Операционные системы" 4 |
33 |
Функционирование любой файловой системы можно представить многоуровневой моделью, в которой каждый уровень предоставляет некоторый интерфейс 
(набор функций) вышележащему 
уровню, а сам, в свою очередь, для выполнения своей работы использует интерфейс (обращается с набором
запросов) нижележащего уровня.
В.А.Серков "Операционн |
34 |
ые системы" 4 |
|
Символьный уровень |
|
Задачей символьного уровня |
Запрос к файлу |
является определение по символьному |
(операция, имя лог. запись) |
имени файла его уникального имени. |
|
В файловых системах, в которых |
Символьный уровень |
каждый файл может иметь только |
|
одно символьное имя (например, MS- |
|
DOS), этот уровень отсутствует, так |
Базовый уровень |
как символьное имя, присвоенное |
|
файлу пользователем, является |
Проверка прав |
одновременно уникальным и может |
доступа |
быть использовано операционной |
|
системой. |
|
В других файловых системах, в |
Логический уровень |
которых один и тот же файл может |
|
иметь несколько символьных имен, на |
Физический уровень |
данном уровне просматривается |
|
цепочка каталогов для определения |
|
уникального имени файла. |
К подсистеме ввода/вывода |
В.А.Серков "Операционн |
35 |
ые системы" 4 |
|
Базовый уровень |
|
На базовом уровне по |
Запрос к файлу |
уникальному имени файла |
(операция, имя лог. запись) |
определяются его характеристики: |
|
права доступа, адрес, размер и другие. |
Символьный уровень |
Характеристики файла могут |
|
входить в состав каталога или |
|
храниться в отдельных таблицах. При |
Базовый уровень |
открытии файла его характеристики |
|
перемещаются с диска в оперативную |
Проверка прав |
память, чтобы уменьшить среднее |
доступа |
время доступа к файлу. |
|
В некоторых файловых системах |
|
(например, HPFS) при открытии файла |
Логический уровень |
вместе с его характеристиками в |
|
оперативную память перемещаются |
Физический уровень |
несколько первых блоков файла, |
|
содержащих данные. |
К подсистеме ввода/вывода |
|
|
В.А.Серков "Операционн |
36 |
ые системы" 4 |
|
Проверка прав доступа
При проверке прав доступа сравниваются полномочия пользователя или процесса, выдавших запрос, со списком разрешенных видов доступа к данному файлу.









Если запрашиваемый вид
доступа разрешен, то выполнение запроса продолжается, если нет, то выдается сообщение о
нарушении прав доступа.
В.А.Серков "Операционн |
37 |
ые системы" 4 |
|
Логический уровень |
|
На логическом уровне |
Запрос к файлу |
определяются координаты |
(операция, имя лог. запись) |
запрашиваемой логической записи в |
|
файле, то есть требуется определить, |
|
на каком расстоянии (в байтах) от |
Символьный уровень |
начала файла находится требуемая |
|
логическая запись. |
Базовый уровень |
Например, если файл |
|
организован как последовательность |
Проверка прав |
логических записей фиксированной |
доступа |
длины l, то n-ая логическая запись |
|
имеет смещение l((n-1) байт. |
|
Для определения координат |
Логический уровень |
логической записи в файле с индексно- |
|
последовательной организацией |
Физический уровень |
выполняется чтение таблицы индексов |
|
(ключей), в которой непосредственно |
|
указывается адрес логической записи. |
К подсистеме ввода/вывода |
В.А.Серков "Операционн |
38 |
ые системы" 4 |
|
Физический уровень |
|
На физическом уровне |
Запрос к файлу |
файловая система определяет |
(операция, имя лог. запись) |
номер физического блока, |
|
который содержит требуемую |
Символьный уровень |
логическую запись, и смещение |
|
логической записи в |
Базовый уровень |
физическом блоке. Для решения |
|
этой задачи используются |
Проверка прав |
результаты работы логического |
доступа |
уровня - смещение логической |
|
записи в файле, адрес файла на |
Логический уровень |
внешнем устройстве, а также |
|
сведения о физической |
Физический уровень |
организации файла, включая |
|
размер блока. |
К подсистеме ввода/вывода |
В.А.Серков "Операционн |
39 |
ые системы" 4 |
|
Исходные данные:
V - размер блока
N - номер первого блока файла
S - смещение логической записи в файле
Требуется определить на физическом уровне:
записьn - номер блока, содержащего требуемую логическую
s - смещение логической записи в пределах блока n = N + [S/V], где [S/V] - целая часть числа S/V
s = R [S/V] - дробная часть числа S/V
В.А.Серков "Операционн |
40 |
ые системы" 4 |
|
