Реферат: Операционные системы 8
Термин «одноуровневая» означает, что система обеспечивает работу с файлами уникально именованными.В пределах пространства запоминающего устройства выделяется некоторая область для хранения данных, которая называется каталог. Каталог имеет следующую структуру:
имя | начальный блок | конечный блок |
«Начальный блок» ссылается на некоторый относительный адрес пространства запоминающего устройства, с которого начинается файл с заданным именем. «Конечный блок» определяет последний блок данного файла. Функция открытия файла сводится к нахождению в каталоге имени файла и определении его начала и конца (реально данные могут занимать несколько меньше места, об этом будет сказано позже). Это действие очень простое, к тому же каталог можно хранить в памяти операционной системы, и тем самым уменьшить количество обменов. Если создается новый файл, то он записывается на свободное место. Аналогично каталогу имен может иметься таблица свободных пространств (фрагментов).
Чтение/запись происходит почти без дополнительных обменов, так как при открытии мы получаем диапазон размещения данных. Чтение происходит в соответствии с этой блочной структурой и никакая дополнительная информация не требуется, соответственно обмен происходит очень быстро.
Что будет, когда нужно записать в такой файл дополнительную информацию, а свободного пространства за этим файлом нет? В этом случае система может поступить двояко. Первое, она скажет, что нет места и вы должны сделать что-то сами, например, запустить некий процесс, который перенесет этот файл в другое место и добавит нужную информацию. Этот перенос - функция достаточно дорогостоящая по времени и загрузке процессов. Вторая возможность - в обмене будет отказано. Это означает, что при открытии файла нужно было заранее зарезервировать дополнительное место; при этом файловая система проверяет размер свободного буфера, и если его мало, то ищет свободное место там, где этот файл разместится.
Итак, мы видим, что эта организация проста, при обменах эффективна, но в случае нехватки пространства для файла начинается неэффективность. К тому же, при долговременной работе такой файловой системы на диске случается то же, что случается с оперативной памятью - фрагментация. То есть ситуация, когда есть свободные фрагменты, но среди них нет такого, куда можно было бы разместить файл. Борьба с фрагментацией для такой организации файловой системы - это периодическая компрессия, когда запускается долгий, тяжелый и опасный для содержимого файловой системы процесс, который прижимает все файлы плотно друг к другу.
Такая организация может быть пригодна для однопользовательской файловой системы, потому что при большом количестве пользователей очень быстро произойдет фрагментация, а постоянный запуск компрессии - смерть для системы. С другой стороны, система проста и не требует почти никаких накладных расходов.
Файловая система с блочной организацией файлов.
Пространство запоминающего устройства разделено на блоки (те самые блоки, которые эффективны для обмена). В общем случае, с каждым именем файла связан набор номеров блоков устройства, в которых размещены данные этого файла. Причем, номера этих блоков имеют произвольный порядок, то есть блоки могут быть разбросаны по всему устройству в произвольном порядке. При такой организации нет фрагментации, хотя могут быть потери кратные блоку (если файл занял хотя бы один байт в блоке, то весь блок считается занятым). Следовательно, нет проблем компрессии, и эта система может использоваться при многопользовательской организации.
В этом случае с каждым файлом связан набор атрибутов: имя файла, имя пользователя, по которым происходит доступ к файлу. Такая организация позволяет уйти от уникальности имен, которая требовалась в предыдущем случае. В такой системе требуется уникальность имен лишь среди файлов одного пользователя.
Организация таких файлов может быть через каталог. Структура каталога может быть следующая. Каталог содержит строки; каждая i-тая строка соответствует i-тому блоку файловой системы. В этой строке содержится информация о том, является ли этот блок свободным или занятым. Если он занят, то в этой строке указывается имя файла (либо ссылка на него), имя пользователя, и может находиться какая-то дополнительная информация.
При обмене система может действовать по-разному. Либо при открытии файла система пробегает по всему каталогу и строит таблицу соответствия логических блоков файла, их размещению на диске. Либо при каждом обмене осуществляется поиск этого соответствия.
Такая организация файловой системы является одноуровневой в рамках одного пользователя, то есть все файлы связаны в группы по принадлежности к какому-то пользователю.
Иерархическая файловая система.
Все файлы файловой системы построены в структуру, которая называется деревом. В корне дерева находится, так называемый, корень файловой системы. Если узел дерева является листом, то это файл, который может содержать данные пользователя, либо являться файлом-каталогом. Узлы дерева отличные от листа являются файлами-каталогами. Именование в такой иерархической файловой системе может происходить разными способами. Первый тип - именование файла относительно ближайшего каталога, т. е. если мы посмотрим файлы, которые являются ближайшими для каталога F0, - это файл F1, который является также каталогом, и файл F2. Для успешного именования в такой системе на одном уровне не могут повторяться имена. С другой стороны, так как все файлы связаны с помощью дерева, мы можем говорить о, так называемом, полном имени файла, которое составляется из всех имен файлов, которые составляют путь от корня файловой системы к конкретному файлу. Полное имя файла F3 будет обозначаться так: /F0/F1/F3. Такая организация хороша тем, что она позволяет работать как с коротким именем файла (если системно подразумевается, что мы работаем в данном каталоге), так и с полным именем файла. Полные имена файлов есть пути, а в любом дереве от его корня до любого узла существует единственный путь, следовательно, этим решается проблема унификации имен. Первый раз такой подход был использован в операционной системе Multix, которая разрабатывалась в университете Беркли в конце 60-х годов. Это решение применяется в большинстве операционных систем. Согласно этой иерархии, каждому из файлов можно привязывать какие-то атрибуты, связанные с правами доступа. Правами доступа могут обладать как пользовательские файлы, так и каталоги. Структура этой системы хороша для организации многопользовательской работы, за счет отсутствия проблемы именования, и такая система может очень хорошо наращиваться.
Персонификация и защита данных в файловой системе.
Персонификация - это возможность операционной системы идентифицировать конкретного пользователя и в соответствии с этим принимать те или иные действия, в частности, по защите данных.
В операционной системе MS-DOS, не было понятия пользователя со всеми вытекающими последствиями - она однопользовательская.
Второй уровень операционных систем - это операционные системы, которые позволяют регистрировать пользователей, но все пользователи представляются в виде единого набора некоторых субъектов и не связаны друг с другом никак. Примером таких операционных систем могут служить некоторые операционные системы фирмы IBM для mainframe-компьютеров. При такой одномерной персонификации обеспечиваются все функции, о которых говорилось, но такая организация пользователей не предполагает образования групп пользователей.
Соответственно, аналогично файловой системе, появляется иерархическая организация пользователей. То есть существуют отдельные понятия «все пользователи» и «группа пользователей». В группе есть реальные пользователи. Такая иерархическая организация персонификации влечет за собой следующие моменты. При регистрации какого-то пользователя необходимо сначала привязать его к какой-то группе. Так как пользователи объединены в группы, то появляется возможность разделения прав доступа к ресурсам пользователей. То есть пользователь может, например, заявить, что все его ресурсы доступны для всех пользователей группы. Такая схема может быть многоуровневой (группы делятся на подгруппы и т.д.) с соответственным распределением прав и возможностей. Также существуют операционные системы (например современные версии Windows), в которых права доступа могут определяться не только такой иерархической структурой, но и могут быть более сложными, т. е. права доступа можно добавлять, нарушая эту иерархию.
1.4. Конструкция ОС
Практически любая ОС имеет понятие ядра. Ядром ОС обычно является ее резидентная часть, то есть та часть ОС, которая не участвует в процессах подкачки (она всегда присутствует в оперативной памяти) и работает в режиме ОС. В ядро входят базовые средства управления основными сущностями, характерными для данной ОС, а также может входить набор программ, обеспечивающих управление некоторыми физическими устройствами. В функции ядра, в частности, входит обработка прерываний.
Программы, управляющие ресурсами, иногда называют драйверами устройств (физических или логических). К примеру, в ядро ОС должен входить драйвер оперативного запоминающего устройства.
Далее, вокруг ядра наращиваются программы управления ресурсами вычислительной системы. Первый уровень в основном состоит из драйверов физических устройств. Следующий уровень - управление логическими устройствами и так далее. Таких уровней может быть достаточно много. Вовсе не обязательно, что все компоненты работают в режиме ОС. Многие из компонентов, которые логически достаточно удалены от ядра, могут работать в обыкновенном пользовательском режиме. Так же не обязательно, чтобы все эти компоненты ОС работали в резидентном режиме. Обычно, для многих функций это не требуется.
Одной из главных частей ОС является интерфейс — универсальный механизм управления любым приложением ОС, независимо от его назначения и предметной области. Интерфейс является удобная оболочкой, с которой общается пользователь. Именно на неё обращают внимание при выборе ОС, - о ядре же, главной части ОС, вспоминают во вторую очередь. Поэтому нестабильная и ненадёжная с точки зрения ядра ОС, как, например, Windows 95, и пользовалась успехом благодаря красивой обёртке-интерфейсу.
2. Семейство Microsoft Windows
2.1. Первые версии Windows
Первая версия Windows вышла в свет в конце 80-х годов и осталась совершенно незамеченной. Аналогичная участь постигла и следующую версию — лишь версия Windows 3.0 (1992) сумела пробить себе дорогу и стать «продуктом года». А еще через два года были выпущены версии 3.1 и 3.11 (последняя включала такой значительный элемент, как полную поддержку мультимедиа и работу в локальной сети — потому и носила уточняющее название WindowsForWorkgroups), окончательно утвердившие господство Windows.
Хотя вопрос о том, а были ли первые версии Windowsполноценными операционными системами, до сих пор остается открытым. Ведь устанавливалась Windows поверх уже имеющейся на компьютере ОС DOS и лишь расширяла ее возможности. Фактически, она представляла собой лишь графическую оболочку, настройку над установленным на компьютере комплектом MS-DOS. Однако корпорация Microsoft с самого начала предпочитала позиционировать Windows как ОС.
2.2. Поколение 9х
Windows 95. Выход новой ОС, должен было состояться еще в 1994 году — именно тогда появились официальные сообщения о завершении разработки новой ОС, получившей название Chicago. Однако время представления «Чикаго» постоянно откладывалось, корпорация Microsoft делала обнадеживающее заявление за заявлением. В августе 1995 года. Windows 95 все-таки вышла в свет. Причем сделала это с грандиозной, невиданной ранее рекламной.
Windows превратилась из графической надстройки для DOS в полноценную операционную систему. По крайней мере, так заявляли ее разработчики. На самом же деле все было сложнее: в качестве основы в Windows 95 по-прежнему использовалась добрая старая DOS. Чуть модернизированная, конечно, и не заявленная в качестве отдельного продукта. Впрочем, большинство потребителей такой вариант устраивал. Ведь у них оставалась возможность работать в привычном DOS-режиме, не загружая графическую оболочку Windows, — и, следовательно, не расставаться с привычными DOS-программами.
Более того — новая операционная система стала 32-разрядной. Все предыдущие версии DOS и Windows были 16-разрядными и, стало быть, не могли в полной мере использовать возможности даже процессоров семейства 386 и уж тем более — новых процессоров Pentium. Конечно, в этом достоинстве крылись и некоторые неудобства — специально под Windows пользователям пришлось заменять все свои Windows-программы на новые, 32-разрядные версии. Однако на практике переход оказался сравнительно легким — уже в течение года были выпущены новые версии всех популярных программных продуктов. Но и старые 16-разрядные версии могли работать с новой ОС без всяких проблем.