- •Операционные системы Автор
- •Подсистема управления файлами (или файловая система)- это часть операционной системы, назначение которой состоит
- •В широком смысле понятие "файловая система" включает:
- •Файл представляет собой поименованное
- •Типы файлов
- •Типы файлов
- •Типы файлов
- •Каталоги
- •В каталоге содержится список файлов, входящих в него, и устанавливается соответствие между файлами
- •В разных файловых системах могут использоваться в качестве атрибутов разные характеристики, например:
- •Каталоги могут непосредственно содержать значения характеристик файлов, как это сделано в файловой системе
- •Логическая организация файловых систем
- •Логическая организация файла
- •Программист имеет дело с логической организацией файла, представляя файл в виде определенным образом
- •Способы логической
- •Примеры
- •Пример
- •Физическая организация и адрес файла
- •Физическая организация файла описывает правила расположения файла на устройстве внешней памяти, в частности
- •Непрерывное размещение
- •Связанный список блоков
- •Связанный список индексов
- •Перечень номеров блоков
- •Перечень номеров блоков
- •Файловая система 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
- •В.А.Серков "Операционн
Подчеркнем, что задача физического уровня решается независимо от того, как был логически организован файл.
После определения номера физического блока, файловая система обращается к системе ввода-вывода для выполнения операции обмена с внешним



устройством.
В ответ на этот запрос в буфер
файловой системы будет передан нужный блок, в котором на основании полученного при работе физического уровня смещения
выбирается требуемая логическая запись.
В.А.Серков "Операционн |
41 |
ые системы" 4 |
|
Отображаемые в память файлы
В.А.Серков "Операционные системы" 4 |
42 |
Некоторые ОС, начиная с MULTICS, обеспечивают отображение файлов в адресное пространство выполняемого процесса. Отмеченное


можно
рассматривать
как появление дополнительного сегмента процесса.
Сегмент кода |
программы |
Сегмент данных |
Сегмент стека |
Дополнительный |
сегмент |
Сегмент файла |
В.А.Серков "Операционн |
43 |
ые системы" 4 |
|
В системе появляются два новых системных вызовов: MAP (отобразить) и UNMAP (отменить отображение).
Первый вызов передает операционной системе в качестве параметров имя файла и


виртуальный
адрес, и
операционная система отображает указанный файл в виртуальное адресное
пространство по указанному адресу.
ОС |
Сегмент кода |
процесса |
Сегмент данных пр. |
Сегмент файла |
процесса |
Сегмент стека |
Доп. сегмент |
В.А.Серков "Операционн |
44 |
ые системы" 4 |
|
Проблемы
1. Системе сложно определить размеры выходного файла.
2. Поддержание согласованности данных файла для двух и более процессов. Допустим, один процесс отображает файл для записи, а другой процесс открывает его для обычного файлового доступа. Если первый процесс изменяет страницу, то это



изменение
не будет отражено в файле на
диске
до тех пор, пока страница не будет вытеснена на диск.
4. Файл может быть больше, чем сегмент, и даже больше, чем все
виртуальное адресное пространство.
В.А.Серков "Операционн |
45 |
ые системы" 4 |
|
Современные
архитектуры 













файловых систем
В.А.Серков "Операционные системы" 4 |
46 |
Архитектура современной файловой системы
В.А.Серков "Операционн |
47 |
ые системы" 4 |
|
Диспетчер файловых систем является обеспечивает интерфейс между запросами приложения и конкретной файловой системой, к которой обращается это приложение.
Он преобразует запросы в формат, воспринимаемый следующим
уровнем
- уровнем файловых
систем и является
единственным модулем, который может обращаться к драйверу файловой системы.
Приложение не может обращаться к драйверам ФС напрямую.
Диспетчер файловых систем |
||
Драйвер |
Драйвер |
Драйвер |
файловой |
файловой |
файловой |
системы 1 |
системы 2 |
системы N |
Подсистема ввода/вывода |
||
Иерархия драйверов устройств |
||
|
Аппаратные средства |
|
В.А.Серков "Операционн |
48 |
ые системы" 4 |
|
Драйвер файловой системы может быть написан в виде реентерабельного кода, что позволяет сразу нескольким приложениям выполнять операции с файлами.
Каждый драйвер файловой системы в
процессе собственной
инициализации


регистрируется у
диспетчера, передавая ему
таблицу
точек входа,
которые будут использоваться при
последующих обращениях к
файловой системе.
Диспетчер файловых систем |
||
Драйвер |
Драйвер |
Драйвер |
файловой |
файловой |
файловой |
системы 1 |
системы 2 |
системы N |
Подсистема ввода/вывода |
||
Иерархия драйверов устройств |
||
|
Аппаратные средства |
|
В.А.Серков "Операционн |
49 |
ые системы" 4 |
|
Подсистема ввода вывода отвечает за загрузку, инициализацию и управление всеми модулями низших уровней файловой системы.
Эти модули представляют собой драйверы портов, которые непосредственно занимаются работой с аппаратными средствами.








Кроме этого подсистема
ввода-вывода обеспечивает
некоторый сервис драйверам файловой системы, что позволяет им осуществлять запросы к конкретным
устройствам, должна постоянно присутствовать в памяти.
Диспетчер файловых систем |
||
Драйвер |
Драйвер |
Драйвер |
файловой |
файловой |
файловой |
системы 1 |
системы 2 |
системы N |
Подсистема ввода/вывода |
||
Иерархия драйверов устройств |
||
|
Аппаратные средства |
|
В.А.Серков "Операционн |
50 |
ые системы" 4 |
|
