Логическая организация файла. Файлы с последовательной структурой.
1-Файлы с последовательной структурой. Файл рассматривается как одномерный массив составных элементов. Элемент – называется записью. Длина логических записей может быть как постоянной, так и переменной. Каждая логическая запись характеризуется своим порядковым номером в составе файла. Доступ к файлу последовательный (то есть, после обработки i-ой записи доступна только следующая i+1 запись). Для организации такого доступа достаточно иметь один указатель на текущую запись.
8) Логическая организация файла. Файлы с индексно-последовательной структурой.
2-Файлы с индексно-последовательной структурой. Существует ряд методов, основанных на идентификации записей файла по некоторому ключу. То есть, индивидуальному отличительному признаку. Структура файла усложняется, но сокращается число обращений к диску. Кроме данных дополнительно вводят служебную учётную информацию. Данная структура строится так, что поиск элемента файла проводится с помощью двух методов. В последовательном и прямом порядке. Все записи упорядочиваются по значению ключей. Выделяют группы записей, ключи которых расположены подряд в файле и могут храниться в пределах одной дорожки на диске. Для более быстрого поиска таких групп, строят специальную структуру (индекс). Например, (индекс дорожки) каждый элемент индекса описывает отдельную группу записей. Индекс может содержать максимальный ключ в группе и ссылку на начальную запись в группе. По индексу находят начало первой записи, требуемой группы, а затем внутри группы последовательным алгоритмом имеют требуемую запись.
Недостаток: Проблема расширения файла во время работы с ним. То есть, логика взаимного распространения записей в файле требует упорядоченности по ключам. Для решения проблемы вводят специальную область переполнения, куда заносят записи, динамически вводимые файлы. А затем, из основной области устанавливают ссылки на требуемые элементы области переполнения.
8) Логическая организация файла. Библиотечная структура файлов.
3- Библиотечная структура файлов. Имеется два уровня:
· Учётный.
· Информационный.
Файл составляется совокупностями последовательных наборов данных, где каждый набор имеет собственное имя в составе данного файла. Такие наборы называют разделами. Расположение разделов не упорядочено и записываются в порядке поступления. Распределение раздела фиксируется в каталоге учётного уровня, а сами элементы каталога расположены в алфавитном порядке.
9) Физическая структура файла. Способы размещения информации. Непрерывное размещение. Достоинства и недостатки.
Расположение информации на конкретном носителе чаще всего значительно отличается от логической упорядоченности. Преобразование логической в физическую структуру осуществляется на основе информации сосредоточенной в каталогах файлах и специальных описателях (дескрипторах). На практике для распределения внешней памяти используются те же алгоритмы, что и в ОП. Отличие лишь в способе реализации. Например, организация свободных участков в упорядоченный список явно не подходит из-за большого количества обращений к диску. Поэтому указатели на элементы списка, как правило, объединяют в таблицу и загружают её в память, а затем отыскивают нужный указатель. Внешняя память разбивается на блоки фиксированного размера. Каждый блок имеет свой уникальный порядковый номер.
Блок – наименьшая единица данных, которая участвует в обмене между УВП (HDD) и ОП. В итоге файл состоит из таких физических блоков.
Способы размещения блоков:
Непрерывное размещение.
Файл состоит из последовательности блоков диска, которые образуют единый, сплошной участок.
Достоинство: адрес файла определяется номером начального блока и простота реализации.
Недостаток: заранее неизвестна длина файла, поэтому требуется время, не эффектное использование дискового пространства из-за большой дефрагментации.
9) Связный список индексов. Достоинства и недостатки.
Связной список блоков.
В начале каждого блока содержится указатель (ссылка) на следующий блок.
Достоинство: адрес файла задаётся номером первого блока, практически отсутствует фрагментация, и файл может изменяться.
Недостаток: сложность реализации доступа к произвольной записи.
Связной список индексов.
С каждым блоком связывается индекс. Индекс располагается в отдельной области диска. Например, в MS-DOS такая область называется таблицей размещения файлов FAT (File Allocation Table). Это позволяет отслеживать состояние различных участков дискового пространства. В WINDOWS 95 32-х битная VFAT (Virtual File Allocation Table) виртуальная таблица размещения файлов. Сохраняются достоинства предыдущего подхода, устраняется недостаток, то есть, чтобы осуществить доступ к произвольному месту не нужно просматривать все блоки.
9) Перечень номеров блоков. Достоинства и недостатки.
Перечень номеров блоков.
Номера блоков, занимаемых файлами, просто перечисляются.
Достоинства: снижаются проблемы динамического размера файла, и практически отсутствует фрагментация.
Недостатки: усложняются алгоритмы распределения, поиска, то есть, увеличивается время доступа к информации. Пример в (UNIX) реализован вариант, который позволяет обеспечить фиксированную длину адреса, независимо от размера файла.
Каждый файл в системе имеет дескриптор, в составе которого хранится список, содержащий 13 номеров блоков на диске. В этой схеме используется как прямая адресация, так и косвенная адресация. Первые 10 элементов списка непосредственно указывают на 10 блоков файла, если блоков не достаточно, то используют следующие 3 элемента списка. 11 элемент для одноуровневой адресации в нём указан номер блока, хранящий список из 128 номеров блоков, которые могут принадлежать файлу. Если требуется объём файла более чем 10+128 блоков, то переходят на следующий уровень. В итоге можно адресоваться к 10+128+128^2+128^3 блоков в составе первого файла.
9) Права доступа к файлу. Основные подходы к определению прав доступа.
Определение права доступа означает определение для пользователя дозволенные операции над файлами. В разных ОС определён свой список операций доступа. Можно выделить следующие операции: создание, уничтожение, открытие, закрытие, поиск, чтение, запись, получение атрибутов, установка атрибутов и др. задаются права в таблице (матрицей прав доступа). В этой таблице указывается следующая информация:
Пользователи могут быть разделены на отдельные категории. При этом подход назначения прав может быть различными для каждой категории, например в UNIX все пользователи подразделяются на три категории:
1-Владелец файла.
2-Член группы.
3-Все остальные.
Выделяют два подхода к определению прав доступа:
· Избирательный доступ (для каждого пользователя и каждого файла сам владелец может определять допустимые операции).
· Мандатный подход (система устанавливает права доступа по отношению к каждому разделу ресурсов в зависимости от того, к какой группе принадлежит пользователь).
9) Механизм кэширования диска.
В некоторых файловых системах при работе с внешними устройствами используется подсистема буферизации, которая работает по принципу кэш-памяти. Запрос к внешнему устройству, в котором адресация осуществляется блоками, может быть перехвачена подсистемой буферизации. Такая система представляет собой буферный пул (однородных динамически распределяемых блоков ОП одинаковой длины). И комплекс программ управляющих этим пулом. Каждый буфер пула имеет размер равный одному блоку файла.
Механизм работы: При поступлении запроса на чтение некоторого блока подсистема буферизации сначала просматривает свой буферный пул, в случае обнаружения нужного блока, копирует его в буфер, запрашивающего процесса без обращения к внешнему устройству. Если нужный блок не обнаружен, то он считывается и одновременно передается процессу и записывается в буфер подсистемы. При отсутствии свободного буфера на диск вытесняется самая редкая используемая информация. В WINDOWS 95 размер кэша диктуется текущей ситуацией. При интенсивной работе сети ОС увеличивается размер кэша. И/или запуске большого числа приложений автоматически уменьшает размер.
10) Требования к ОС. Частотный принцип. Принцип модульности. Виды модулей по характеру использования.
Независимо от назначения и не зависимости от их использования ОС, которые положены в основу их разработки:
1-Частотный принцип. Он основан на выделении действий в алгоритмах программ и данных в обработке массивов по частоте использования. Для действий, которые часто встречаются при работе ОС, обеспечивается условие их быстрого выполнения (такие программные тексты постоянно находятся в ОП и активно поддерживаются специальными средствами, как правило, часто операции стараются сделать более короткими). К данным, которые часто используются, обеспечивают более быстрый доступ. Частотный принцип наиболее важен в случае многоуровневого планирования.
На долгосрочный уровень: -Редкие и длинные операции управления при этом минимальным объектом управления является непосредственно программы без детализации особенностей их исполнения.
На краткосрочный уровень: -Выносится часто используемые и короткие операции отдельных программ.
2-Принцип модульности. ОС должна состоять из законченных функциональных элементов (модулей), которые имеют средства сопряжения с подобными элементами или элементами более высокого уровня данной или другой ОС. Разделение системы на модули определяется использованием методов проектирования ОС (нисходящий, восходящий принцип). Например, модули могут быть отдельно транслируемыми программными единицами. Определённый уровень ОС может иметь свою систему модулей, образуя в результате обобщенный модуль. На более высоком уровне этот обобщенный модуль является одним из базовых модулей. Такое иерархическое упорядочивание модулей упрощает разработку и уменьшает число проектных ошибок.
По характеру использования модули бывают:
· Однократными (могут испортить сами себя и не восстанавливаться в исходное состояние).
· Многократными (они не портят себя и могут восстанавливаться).
Важное значение при построении ОС имеют модули, которые можно параллельно использовать, такие модули называются реентерабельными.
10) Принцип функциональной избирательности. Принцип генерируемости.