Связанный список. Хранение файла в виде связанного списка дисковых блоков.
Внешняя фрагментация – основная проблема метода выделение непрерывной последовательностью дисковых блоков – может быть устранена за счет представления файла в виде связанного списка блоков диска. Запись в директории содержит указатель на первый и последний блоки файла (иногда в качестве варианта используется специальный знак конца файла – EOF). Каждый блок содержит указатель на следующий блок.
Внешняя фрагментация для данного метода отсутствует. Любой свободный блок может быть использован для удовлетворения запроса. Заметим, что нет необходимости декларировать размер файла в момент создания. Файл может расти неограниченно.
Связанное выделение имеет, однако, несколько существенных недостатков.
Во-первых, при прямом доступе к файлу для поиска i-го блока нужно осуществить несколько обращений к диску, последовательно считывая блоки от 1 до i – 1, т. е. выборка логически смежных записей, которые занимают физически несмежные секторы, может требовать много времени. Здесь мы теряем все преимущества прямого доступа к файлу.
Во-вторых, данный способ не очень надежен. Наличие дефектного блока в списке приводит к потере информации в оставшейся части файла и потенциально к потере дискового пространства, отведенного под этот файл.
Наконец, для указателя на следующий блок внутри блока нужно выделить место, что не всегда удобно. Емкость блока, традиционно являющаяся степенью двойки, таким образом, перестает быть степенью двойки, так как указатель отбирает несколько байтов. Поэтому метод связанного списка обычно в чистом виде не используется.
Таблица отображения файлов (FAT)
Одним из вариантов способа является хранение указателей не в дисковых блоках, а в индексной таблице в памяти, которая называется таблицей размещения файлов (FAT – file allocation table) (Рис 1). Этой схемы придерживаются многие ОС (MS-DOS, OS/2, MS Windows и др.)
Рис 1. Метод связанного списка с использованием таблицы в оперативной памяти
По-прежнему существенно, что запись в директории содержит только ссылку на первый блок. Далее при помощи таблицы FAT можно локализовать блоки файла независимо от его размера. В тех строках таблицы, которые соответствуют последним блокам файлов, обычно записывается некоторое граничное значение, например EOF.
Главное достоинство данного подхода состоит в том, что по таблице отображения можно судить о физическом соседстве блоков, располагающихся на диске, и при выделении нового блока можно легко найти свободный блок диска, находящийся поблизости от других блоков данного файла. Минусом данной схемы может быть необходимость хранения в памяти этой довольно большой таблицы.
-
Содержание
- Связанный список. Хранение файла в виде связанного списка дисковых блоков.
- Индексные узлы.
- Управление свободным и занятым дисковым пространством.
- Структура файловой системы на диске. Примерная структура файловой системы на диске.
- Связывание файлов. Структура файловой системы с возможностью связывания файла с новым именем.
- Кооперация процессов при работе с файлами.
- Примеры разрешения коллизий и тупиковых ситуаций.
- Hадежность файловой системы.
- Целостность файловой системы.
- Порядок выполнения операций.
- Журнализация.
- Производительность файловой системы. Кэширование.
- Современные архитектуры файловых систем.
- Дополнительные возможности современных файловых систем (на примере ntfs ос Windows xp).
- Система управления вводом-выводом
- Физические принципы организации ввода-вывода.
- Общие сведения об архитектуре компьютера.
- Прямой доступ к памяти (Direct Memory Access – dma).
- Структура системы ввода-вывода. Логические принципы организации ввода-вывода.
- Структура подсистемы ввода-вывода. Драйверы.
- Функции подсистемы ввода-вывода.
- Компоненты подсистемы ввода-вывода (структурная схема).
- Диспетчер ввода-вывода.
- Типовая обработка ввода-вывода.
- Установка драйвера.
- Диспетчер электропитания.
- Сетевые и распределенные операционные системы.
- Взаимодействие удаленных процессов как основа работы вычислительных сетей.
- Основные вопросы логической организации передачи информации между удаленными процессами.
- Понятие протокола.
- Многоуровневая модель построения сетевых вычислительных систем. Семиуровневая эталонная модель osi/iso.
- Проблемы адресации в сети. Одноуровневые адреса. Двухуровневые адреса.
- Удаленная адресация и разрешение адресов. Схема разрешения имен с использованием dns-серверов.
- Основные понятия информационной безопасности. Угрозы безопасности
- Формализация подхода к обеспечению информационной безопасности.
- Криптография как одна из базовых технологий безопасности ос.
- Шифрование. Шифрование открытым ключом.
- Шифрование с использованием алгоритма rsa.
- Защитные механизмы ос. Идентификация и аутентификация
- Пароли, уязвимость паролей.
- Шифрование пароля.
- Авторизация. Разграничение доступа к объектам ос.
- Аудит системы защиты.
- Анализ некоторых популярных ос с точки зрения их защищенности: ms-dos; Windows nt/2000/xp; Windows Vista; Windows 7.
- Брандмауэр ос ms Windows.