Автор работы: Пользователь скрыл имя, 01 Декабря 2010 в 20:55, реферат
Под термином «операционная система» мы будем понимать комплекс программ, функциями которого является контроль за использованием и распределением ресурсов вычислительной системы.
Основные свойства файловых систем.
Файловая система естественно включает в себя все те свойства, которые были перечислены для файлов, но добавляет еще некоторые. Эти свойства связаны со структурной организацией файловой системы.
Давайте рассмотрим некоторое пространства ВЗУ, и рассмотрим, как мы можем организовать размещение файлов в пределах этого пространства.
1. Одноуровневая
организация файлов
«одноуровневая» означает,
что система обеспечивает работу
с файлами уникально
|имя |начальный блок |конечный блок |
| | | |
| | | |
| | | |
«Начальный блок» ссылается на некоторый относительный адрес пространства ВЗУ, с которого начинается файл с заданным именем. «Конечный блок» определяет последний блок данного файла. Функция открытия файла сводится к нахождению в каталоге имени файла и определении его начала и конца (реально данные могут занимать несколько меньше места, об этом будет сказано позже). Это действие очень простое, к тому же каталог можно хранить в памяти операционной системы, и тем самым уменьшить количество обменов.
Если создается новый файл, то он записывается на свободное место.
Аналогично каталогу
имен может иметься таблица
(фрагментов).
Чтение/запись происходит почти без дополнительных обменов, так как при открытии мы получаем диапазон размещения данных. Чтение происходит в соответствии с этой блочной структурой и никакая дополнительная информация не требуется, соответственно обмен происходит очень быстро.
Что будет, когда нужно записать в такой файл дополнительную информацию, а свободного пространства за этим файлом нет? В этом случае система может поступить двояко. Первое, она скажет, что нет места и вы должны сделать что-то сами, например, запустить некий процесс, который перенесет этот файл в другое место и добавит нужную информацию. Этот перенос - функция достаточно дорогостоящая. Вторая возможность - в обмене будет отказано. Это означает, что при открытии файла нужно было заранее зарезервировать дополнительное место; при этом файловая система проверяет размер свободного буфера, и если его мало, то ищет свободное место там, где этот файл разместится.
Итак, мы видим, что
эта организация проста, при обменах
эффективна, но в случае нехватки пространства
для файла начинается неэффективность.
К тому же, при долговременной работе
такой файловой системы на диске
случается то же, что у нас случалось
с оперативной памятью - фрагментация.
То есть ситуация, когда есть свободные
фрагменты, но среди них нет такого,
куда можно было бы разместить файл.
Борьба с фрагментацией для такой организации
файловой системы - это периодическая
компрессия, когда запускается долгий,
тяжелый и опасный для содержимого файловой
системы процесс, который прижимает все
файлы плотно друг к другу.
Такая организация может быть пригодна для однопользовательской файловой системы, потому что при большом количестве пользователей очень быстро произойдет фрагментация, а постоянный запуск компрессии - смерть для системы. С другой стороны, система проста и не требует почти никаких накладных расходов.
2. Файловая система
с блочной организацией файлов.
Пространство ВЗУ разделено на
блоки (те самые блоки,
В этом случае с каждым
файлом связан набор атрибутов: имя
файла, имя пользователя, по которым
происходит доступ к файлу. Такая
организация позволяет уйти от уникальности
имен, которая требовалась в
Организация таких файлов может быть через каталог. Структура каталога может быть следующая. Каталог содержит строки; каждая i-тая строка соответствует i-тому блоку файловой системы. В этой строке содержится информация о том, является ли этот блок свободным или занятым. Если он занят, то в этой строке указывается имя файла (либо ссылка на него), имя пользователя, и может находиться какая-то дополнительная информация.
При обмене система может действовать по-разному. Либо при открытии файла система пробегает по всему каталогу и строит таблицу соответствия логических блоков файла, их размещению на диске. Либо при каждом обмене осуществляется поиск этого соответствия.
Такая организация файловой системы является одноуровневой в рамках одного пользователя, то есть все файлы связаны в группы по принадлежности к какому-то пользователю.
3. Иерархическая
файловая система. Все файлы
файловой системы построены в
структуру, которая называется
деревом. В корне дерева
Структура этой системы
хороша для организации
4. Персонификация
и защита данных в
Персонификация - это возможность операционной системы идентифицировать конкретного пользователя и в соответствии с этим принимать те или иные действия, в частности, по защите данных.
Если мы с вами посмотрим на любимую нами операционную систему MS-DOS, то там не было понятия пользователя со всеми вытекающими последствиями - она однопользовательская.
Второй уровень
операционных систем - это операционные
системы, которые позволяют
Примером таких операционных систем могут служить некоторые операционные системы фирмы IBM для mainframe-компьютеров. Например, лектор не знает, кто из его слушателей к какой группе относится, но все, сидящие перед ним, пользователи его курса. Это и хорошо, и плохо. С точки зрения прослушивания курса лекций - это хорошо, но для проведения этим лектором какого-то опроса это плохо, потому что за один день он не успеет опросить всех. Ему надо будет всех слушателей как-то поделить, а как - не известно.
Соответственно, при
такой одномерной персонификации обеспечиваются
все те функции, о которых мы с
вами говорили (в частности защита),
но такая организация
А мне удобно, чтобы, предположим, на нашем факультетском сервере моя лаборатория была выделена, и в рамках этой лаборатории можно было бы предоставлять друг другу права доступа к файлам и т.д.
Соответственно, аналогично
файловой системе, появляется иерархическая
организация пользователей. То есть
у нас имеется понятие «все
пользователи» и понятие «
Такая иерархическая организация персонификации влечет за собой следующие моменты. При регистрации какого-то пользователя необходимо сначала привязать его к какой-то группе - это может быть лаборатория, кафедра или учебная группа. Так как пользователи объединены в группы, то появляется возможность разделения прав доступа к ресурсам пользователей. То есть пользователь может, например, заявить, что все его ресурсы доступны для всех пользователей группы. Такая схема может быть многоуровневой (группы делятся на подгруппы и т.д.) с соответственным распределением прав и возможностей. Сейчас появляются операционные системы, в которых права доступа могут определяться не только такой иерархической структурой, но и могут быть более сложными, т. е. права доступа можно добавлять, нарушая эту иерархию.
Лекция №9
Мы говорили, что система может работать с содержимым файла в том и только том случае, если процесс зарегистрировал свое желание работать с этим файлом. Факт такой регистрации называется открытием файла. При открытии файла в пределах процесса каждому имени открываемого файла
(открываться может
уже существующий файл, либо новый)
ставится в соответствие
Значение k - это параметр настройки операционной системы, определяющий, какое количество одновременно открытых файлов может быть у процесса. Здесь следует отметить, что мы говорим о количестве одновременно открытых файлов
(так же написано в любой книжке по UNIX-у), однако, на самом деле, k - это максимальное количество ФД, которые могут быть ассоциированы с одним файлом, потому что один и тот же файл в пределах процесса можно открыть два раза, и образуется два ФД. К чему это приведет, мы рассмотрим несколько позже, но это вполне корректно. После открытия файла, все операции обмена осуществляются через указания файлового дескриптора (т.е. имя более нигде не указывается). С каждым файловым дескриптором ассоциирован ряд параметров
(о них чуть позже).
Давайте посмотрим, как организуется ввод/вывод, а точнее обработка низкоуровнего обмена, с точки зрения операционной системы. Сейчас будет рассказано о логической схеме организации ввода/вывода, ибо реальная схема устроена несколько иначе, но это для нас не так важно.
Все данные, с которыми оперирует система, подразделяются на два класса. Первый тип данных - данные, ассоциированные с операционной системой, то есть общесистемные данные. К этим данным относится ТИДОФ.
Размер таблицы фиксирован и определяется количеством одновременно открытых
ФД. Каждая запись в этой таблице содержит некоторую информацию, среди которой нас будет интересовать следующая:
1) Копия ИД открытого
файла. Для любого открытого
файла, ИД, который характеризует
содержимое этого файла,
ТИДОФ. После этого все манипуляции с файлом (например, изменение адресации файла) происходят с копией ИД, а не с самим ИД на диске.
ТИДОФ размещается в оперативной памяти, т.е. доступ к информации в ней осуществляется быстро.
2) Счетчик открытых в данный момент файлов, связанных с данным ИД. Это означает, что для любого количества открытий файла, связанного с данным ИД, система работает с единственной копией этого ИД.