Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Технологии доступа к данным.

Поиск

ФАЙЛОВЫЕ СИСТЕМЫ И БАЗЫ ДАННЫХ

В истории вычислительной техники можно проследить две основные области ее применения:

• первая — выполнение численных расчетов, которые слишком трудоемки или которые вообще невозможно про­изводить вручную. Развитие этой области способствовало интенсификации методов численного решения сложных математических задач, развитию языков программирова­ния, становлению обратной связи с разработчиками новых архитектур ЭВМ;

• вторая область использования вычислительной техники — в автоматических или автоматизированных информаци­онных системах возникла несколько позже первой. Это связано с тем, что вначале возможности компьютеров по хранению информации были очень ограниченными.

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

Классическими примерами информационных систем явля­ются банковские системы, системы резервирования авиационных или железнодорожных билетов, мест в гостиницах и т. д.

Файловые системы

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

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

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

Структуры файлов

Прежде всего, практически во всех современных компьюте­рах основными устройствами внешней памяти являются маг­нитные диски с подвижными головками, и именно они служат для хранения файлов [24, 25, 31]. Магнитные диски представляют собой пакеты магнитных пластин (платтеров), между которыми на одном рычаге двигается пакет магнитных головок. Шаг движения пакета головок является дискретным, и каждому положению пакета головок логически соответствует цилиндр магнитного диска. На каждой поверхности цилиндр «высекает» дорожку, так что каждая поверхность содержит число дорожек, равное числу цилиндров. При разметке магнитного диска (специальном действии, предшествующем использованию диска) каждая дорожка размечается на одно и то же количество блоков таким образом, что в каждый блок можно записать по максимуму одно и то же число байтов. Таким образом, для выполнения обмена с магнитным диском на уровне аппаратуры нужно указать номер цилиндра, номер поверхности, номер блока на со­ответствующей дорожке и число байтов, которое нужно записать или прочитать от начала этого блока.

Однако эта возможность обмениваться с магнитными диска­ми порциями меньше объема блока в настоящее время не ис­пользуется в файловых системах. Это связано с двумя обстоя­тельствами:

• аппаратура управления дисками является электронно-меха­нической, и при выполнении обмена с диском выполняются три основных действия: подвод головок к нужному цилинд­ру, поиск на дорожке нужного блока и собственно обмен с этим блоком. Из всех этих действий в среднем наибольшее время занимает первое, механическое действие;

• для того чтобы работать с частями блоков, файловая систе­ма должна обеспечить соответствующий размер буфера оперативной памяти, что существенно усложняет распреде­ление оперативной памяти.

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

В некоторых файловых системах базовый уровень доступен пользователю, но более часто прикрывается некоторым более высоким уровнем, стандартным для пользователей.

Идентификация файлов

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

Известны два базовых варианта:

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

полностью централизованная файловая система. Впервые была реализована в операционной системе Multics. В фай­ловой системе Miltics пользователи представляли всю сово­купность каталогов и файлов как единое дерево. Полное имя файла начиналось с имени корневого каталога, и пользователь не обязан был заботиться об установке на дисковое устройство каких-либо конкретных дисков. Сама система, выполняя поиск файла по его имени, запрашива­ла оператора об установке необходимых дисков.

Централизованные файловые системы во многом удобнее изолированных: система управления файлами принимает на себя больше рутинной работы. Но в таких системах возникают суще­ственные проблемы, если кому-то требуется перенести поддере­во файловой системы на другую вычислительную установку.

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

Защита файлов

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

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



Поделиться:


Последнее изменение этой страницы: 2021-04-05; просмотров: 82; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.216.250.143 (0.009 с.)