Операционная система

Автор работы: Пользователь скрыл имя, 01 Декабря 2010 в 20:55, реферат

Краткое описание

Под термином «операционная система» мы будем понимать комплекс программ, функциями которого является контроль за использованием и распределением ресурсов вычислительной системы.

Содержимое работы - 1 файл

информ реф1.docx

— 53.94 Кб (Скачать файл)

Основные свойства файловых систем.

Файловая система  естественно включает в себя все  те свойства, которые были перечислены  для файлов, но добавляет еще некоторые. Эти свойства связаны со структурной  организацией файловой системы.

Давайте рассмотрим некоторое пространства ВЗУ, и рассмотрим, как мы можем организовать размещение файлов в пределах этого пространства.

1. Одноуровневая  организация файлов непрерывными  сегментами. Термин

«одноуровневая» означает, что система обеспечивает работу с файлами уникально именованными. В пределах пространства ВЗУ выделяется некоторая область для хранения данных, которая называется каталог. Каталог имеет следующую структуру:

|имя |начальный блок |конечный блок |

| | | |

| | | |

| | | |

«Начальный блок»  ссылается на некоторый относительный  адрес пространства ВЗУ, с которого начинается файл с заданным именем. «Конечный блок» определяет последний  блок данного файла. Функция открытия файла сводится к нахождению в  каталоге имени файла и определении  его начала и конца (реально данные могут занимать несколько меньше места, об этом будет сказано позже). Это действие очень простое, к  тому же каталог можно хранить  в памяти операционной системы, и  тем самым уменьшить количество обменов.

Если создается  новый файл, то он записывается на свободное  место.

Аналогично каталогу имен может иметься таблица свободных  пространств

(фрагментов).

Чтение/запись происходит почти без дополнительных обменов, так как при открытии мы получаем диапазон размещения данных. Чтение происходит в соответствии с этой блочной  структурой и никакая дополнительная информация не требуется, соответственно обмен происходит очень быстро.

Что будет, когда  нужно записать в такой файл дополнительную информацию, а свободного пространства за этим файлом нет? В этом случае система  может поступить двояко. Первое, она скажет, что нет места и вы должны сделать что-то сами, например, запустить некий процесс, который перенесет этот файл в другое место и добавит нужную информацию. Этот перенос - функция достаточно дорогостоящая. Вторая возможность - в обмене будет отказано. Это означает, что при открытии файла нужно было заранее зарезервировать дополнительное место; при этом файловая система проверяет размер свободного буфера, и если его мало, то ищет свободное место там, где этот файл разместится.

Итак, мы видим, что  эта организация проста, при обменах  эффективна, но в случае нехватки пространства для файла начинается неэффективность. К тому же, при долговременной работе такой файловой системы на диске  случается то же, что у нас случалось  с оперативной памятью - фрагментация. То есть ситуация, когда есть свободные  фрагменты, но среди них нет такого, куда можно было бы разместить файл. Борьба с фрагментацией для такой организации файловой системы - это периодическая компрессия, когда запускается долгий, тяжелый и опасный для содержимого файловой системы процесс, который прижимает все файлы плотно друг к другу. 

Такая организация  может быть пригодна для однопользовательской файловой системы, потому что при  большом количестве пользователей  очень быстро произойдет фрагментация, а постоянный запуск компрессии - смерть для системы. С другой стороны, система  проста и не требует почти никаких  накладных расходов.

2. Файловая система  с блочной организацией файлов. Пространство ВЗУ разделено на  блоки (те самые блоки, которые  эффективны для обмена). В файловой  системе такого типа распределение  информации происходит аналогично  распределению информации процесса  в оперативной памяти со страничной  организацией. В общем случае, с  каждым именем файла связан  набор номеров блоков устройства, в которых размещены данные  этого файла. Причем, номера этих  блоков имеют произвольный порядок,  то есть блоки могут быть  разбросаны по всему устройству  в произвольном порядке. При  такой организации нет фрагментации, хотя могут быть потери кратные  блоку (если файл занял хотя  бы один байт в блоке, то  весь блок считается занятым). Следовательно, нет проблем компрессии, и эта система может использоваться  при многопользовательской организации.

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

Организация таких  файлов может быть через каталог. Структура каталога может быть следующая. Каталог содержит строки; каждая i-тая строка соответствует i-тому блоку файловой системы. В этой строке содержится информация о том, является ли этот блок свободным или занятым. Если он занят, то в этой строке указывается имя файла (либо ссылка на него), имя пользователя, и может находиться какая-то дополнительная информация.

При обмене система  может действовать по-разному. Либо при открытии файла система пробегает  по всему каталогу и строит таблицу  соответствия логических блоков файла, их размещению на диске. Либо при каждом обмене осуществляется поиск этого  соответствия.

Такая организация  файловой системы является одноуровневой  в рамках одного пользователя, то есть все файлы связаны в группы по принадлежности к какому-то пользователю.

3. Иерархическая  файловая система. Все файлы  файловой системы построены в  структуру, которая называется  деревом. В корне дерева находится,  так называемый, корень файловой  системы. Если узел дерева является  листом, то это файл, который может  содержать данные пользователя, либо являться файлом-каталогом.  Узлы дерева отличные от листа  являются файлами-каталогами. Именование  в такой иерархической файловой  системе может происходить разными  способами. Первый тип - именование  файла относительно ближайшего  каталога, т. е. если мы посмотрим  файлы, которые являются ближайшими  для каталога F0, - это файл F1, который  является также каталогом, и  файл F2. Для успешного именования  в такой системе на одном  уровне не могут повторяться  имена. С другой стороны, так  как все файлы связаны с  помощью дерева, мы можем говорить  о, так называемом, полном имени  файла, которое составляется из  всех имен файлов, которые составляют  путь от корня файловой системы  к конкретному файлу. Полное  имя файла F3 будет обозначаться  так: /F0/F1/F3. Такая организация хороша  тем, что она позволяет работать  как с коротким именем файла  (если системно подразумевается,  что мы работаем в данном  каталоге), так и с полным именем файла. Полные имена файлов есть пути, а в любом дереве от его корня до любого узла существует единственный путь, следовательно, этим решается проблема унификации имен. Первый раз такой подход был использован в операционной системе Multix, которая разрабатывалась в университете Беркли в конце 60-х годов. Это красивое решение стало появляться впоследствии во многих операционных системах. Согласно этой иерархии, каждому из файлов можно привязывать какие-то атрибуты, связанные с правами доступа. Правами доступа могут обладать как пользовательские файлы, так и каталоги.

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

4. Персонификация  и защита данных в операционной  системе. Этот нюанс, который  мы сейчас рассмотрим, и простой,  и сложный. Простой - потому  что мы скажем о нем буквально  несколько фраз, а сложный, потому  что существуют проблемы, о которых  можно говорить долго.

Персонификация - это  возможность операционной системы  идентифицировать конкретного пользователя и в соответствии с этим принимать  те или иные действия, в частности, по защите данных.

Если мы с вами посмотрим на любимую нами операционную систему MS-DOS, то там не было понятия  пользователя со всеми вытекающими  последствиями - она однопользовательская.

Второй уровень  операционных систем - это операционные системы, которые позволяют регистрировать пользователей, но все пользователи представляются в виде единого набора некоторых субъектов и не связаны  друг с другом никак.

Примером таких  операционных систем могут служить  некоторые операционные системы  фирмы IBM для mainframe-компьютеров. Например, лектор не знает, кто из его слушателей к какой группе относится, но все, сидящие перед ним, пользователи его курса. Это и хорошо, и плохо. С точки зрения прослушивания  курса лекций - это хорошо, но для  проведения этим лектором какого-то опроса это плохо, потому что за один день он не успеет опросить всех. Ему надо будет всех слушателей как-то поделить, а как - не известно.

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

А мне удобно, чтобы, предположим, на нашем факультетском  сервере моя лаборатория была выделена, и в рамках этой лаборатории  можно было бы предоставлять друг другу права доступа к файлам и т.д.

Соответственно, аналогично файловой системе, появляется иерархическая  организация пользователей. То есть у нас имеется понятие «все пользователи» и понятие «группа  пользователей». В группе есть реальные пользователи.

Такая иерархическая  организация персонификации влечет за собой следующие моменты. При  регистрации какого-то пользователя необходимо сначала привязать его  к какой-то группе - это может быть лаборатория, кафедра или учебная  группа. Так как пользователи объединены в группы, то появляется возможность  разделения прав доступа к ресурсам пользователей. То есть пользователь может, например, заявить, что все его  ресурсы доступны для всех пользователей  группы. Такая схема может быть многоуровневой (группы делятся на подгруппы и т.д.) с соответственным распределением прав и возможностей. Сейчас появляются операционные системы, в которых права доступа могут определяться не только такой иерархической структурой, но и могут быть более сложными, т. е. права доступа можно добавлять, нарушая эту иерархию.

Лекция №9

Мы говорили, что  система может работать с содержимым файла в том и только том  случае, если процесс зарегистрировал  свое желание работать с этим файлом. Факт такой регистрации называется открытием файла. При открытии файла  в пределах процесса каждому имени  открываемого файла

(открываться может  уже существующий файл, либо новый)  ставится в соответствие уникальное  целое число, которое называется  файловым дескриптором (ФД). В пределах  процесса ФД имеют нумерацию  от 0 до k-1.

Значение k - это параметр настройки операционной системы, определяющий, какое количество одновременно открытых файлов может быть у процесса. Здесь следует отметить, что мы говорим о количестве одновременно открытых файлов

(так же написано  в любой книжке по UNIX-у), однако, на самом деле, k - это максимальное количество ФД, которые могут быть ассоциированы с одним файлом, потому что один и тот же файл в пределах процесса можно открыть два раза, и образуется два ФД. К чему это приведет, мы рассмотрим несколько позже, но это вполне корректно. После открытия файла, все операции обмена осуществляются через указания файлового дескриптора (т.е. имя более нигде не указывается). С каждым файловым дескриптором ассоциирован ряд параметров

(о них чуть  позже).

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

Все данные, с которыми оперирует система, подразделяются на два класса. Первый тип данных - данные, ассоциированные с операционной системой, то есть общесистемные данные. К этим данным относится ТИДОФ.

Размер таблицы  фиксирован и определяется количеством  одновременно открытых

ФД. Каждая запись в  этой таблице содержит некоторую  информацию, среди которой нас  будет интересовать следующая:

1) Копия ИД открытого  файла. Для любого открытого  файла, ИД, который характеризует  содержимое этого файла, копируется  и размещается в

ТИДОФ. После этого  все манипуляции с файлом (например, изменение адресации файла) происходят с копией ИД, а не с самим ИД на диске.

ТИДОФ размещается  в оперативной памяти, т.е. доступ к информации в ней осуществляется быстро.

2) Счетчик открытых  в данный момент файлов, связанных  с данным ИД. Это означает, что для любого количества открытий файла, связанного с данным ИД, система работает с единственной копией этого ИД.

Информация о работе Операционная система