Поддержка синхронных и асинхронных операций ввода-вывода

· Синхронный режим – программный модуль запросил операцию ввода/вывода – и ждет

· Асинхронный режим – программный модуль продолжает выполняться.

В асинхронном режиме запросы ввода вывода могут осуществляться не только пользовательской программой, но и ядром (для считывания отсутствующей в виртуальной памяти страницы) – это более гибкие решения. На основе асинхронного вызова всегда можно сделать синхронный.

Поддержка нескольких файловых систем.

· Нужно поддерживать все современные популярные файловые системы

· Нужно позволять безболезненно включать новые ФС, без переписывания кода ОС.

· Обычно в ОС есть специальный слой ПО, решающий эту задачу.

 

 

25. Подсистема управления файлами. Задачи ОС по управлению файлами. Логическая организация файловой системы. Физическая организация данных на диске. Физическая организация файла. Файловые операции. Стандартные файлы ввода и вывода, перенаправление ввода-вывода. Файловые системы Unix (s5 и ufs), FAT, NTFS. Контроль доступа к файлам в системах Unix и в Windows NT/2000/XP

Подсистема управления файлами. Задачи ОС по управлению файлами.

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

 

Файл – это именованная область внешней памяти, куда можно записывать данные и откуда можно их считывать. Они хранятся в энергонезависимой ПЗУ.

 

Файловая система – это часть ОС, включающая:

· СОВОКУПНОСТЬ всех файлов на диске

· Все структуры, разработанные для УПРАВЛЕНИЯ файлами:

o Каталоги файлов

o Дескрипторы файлов

o Таблицы распределения свободного и занятого пространства на диске

· Программные средства для осуществления ОПЕРАЦИЙ над файлами:

o Создание

o Уничтожение

o Чтение

o Запись

o Именование

o Поиск и тд

Задачи ОС по управлению файлами:

· Именовать файлы

· Отображать логическую модель файловой системы на физическую

· Обеспечивать АПИ для программ, чтобы им легко было работать в файлами

· Обеспечить устойчивость ФС к сбоям питания, аппаратным и программным ошибкам

Плюс в мультипрограммной среде:

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

Плюс в многопользовательской среде:

· Защита файлов одного пользователя от файлов другого

· Защита от несанкционированного доступа

Логическая организация файловой системы.

Типы файлов

Файловые системы поддерживают разные функциональные типы файлов:

· Обычные файлы

o Создаются пользователем

o ОС не контролирует и не ограничивает их структуру и содержимое

o Содержимое и структура определяются приложением, которое с ними работает

o Любая ОС должна поддерживать как минимум собственные исполняемые файлы

· Файлы-каталоги

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

o Часто сюда могут входить и каталоги – получается древовидная структура

o Каталоги устанавливают соответствия между именами файлов и их характеристиками (тип файла, расположение на диске, права доступа, дата создания, модификации и тд.)

o В остальных отношениях каталоги рассматриваются как обычные файлы

· Специальные файлы

o Фиктивные файлы, ассоциированные с устройствами ввода-вывода

o Используются, чтобы доступ к файлам и внешним устройствам был одинаков по механизму

o Операции ввода-вывода юзер с их помощью может делать путем обычных команд записи/чтения

o Команды обрабатываются сначала ФС, а потом ОС преобразует их в команды управления устройством

· Именованные контейнеры

· Символьные связи

· Отображаемые в память файлы и тд.