Тема_1 (1122328), страница 2
Текст из файла (страница 2)
Кузнецов. Базы данных.13 Технология БД. ФунИнформационные системы иустройства внешней памяти (11)С появлением магнитных дисков началась история системуправления данными во внешней памяти.До этого каждая прикладная программа, которойтребовалось хранить данные во внешней памяти, самаопределяла расположение каждой порции данных намагнитной ленте или барабане и выполняла обмены междуоперативной и внешней памятью с помощью программноаппаратных средств низкого уровня.Такой режим работы не позволял или очень затруднялподдержание на одном внешнем носителе несколькихархивов долговременно хранимой информации.Кроме того, каждой прикладной программе приходилосьрешать проблемы именования частей данных иструктуризации данных во внешней памяти.03.09.2009С.Д.
Кузнецов. Базы данных.14 Технология БД. ФунФайловые системы (1)Историческим шагом явилось появление систем управленияфайлами.С точки зрения программиста приложений – этоименованная область внешней памяти, в которую можнозаписывать и из которой можно считывать данные.Правила именования файлов, способ доступа к данным,хранящимся в файле, и структура этих данных зависят отконкретной системы управления файлами и, возможно, оттипа файла.Система управления файлами берет на себя распределениевнешней памяти, отображение имен файлов всоответствующие адреса внешней памяти и обеспечениедоступа к данным.03.09.2009С.Д. Кузнецов.
Базы данных.15 Технология БД. ФунФайловые системы (2)Термин файловая система (file system) используется дляобозначения как программной системы, управляющейфайлами, так и архива файлов, хранящегося во внешнейпамяти.Было бы лучше в первом случае использовать терминсистема управления файлами, оставив за терминомфайловая система только второе значение.Однако принятая практика вынуждает использовать терминфайловая система (ФС) в обоих смыслах.Точный смысл термина должен быть понятен из контекста.Аналогичная путаница возникает при некорректномиспользовании терминов база данных и системауправления базами данных.Здесь эти термины строго различаются.03.09.2009С.Д.
Кузнецов. Базы данных.16 Технология БД. ФунФайловые системы (3)Первая развитая ФС была разработана специалистами IBMв середине 60-х гг. для выпускавшейся компанией сериикомпьютеров System/360.В этой системе поддерживались как чистопоследовательные, так и индексно-последовательныефайлы, а реализация во многом опиралась на возможноститолько появившихся к этому времени контроллеровуправления дисковыми устройствами.Контроллеры обеспечивали возможность обмена сдисковыми устройствами порциями данных произвольногоразмера, а также индексный доступ к записям файлов, и этифункции контроллеров активно использовались в файловойсистеме ОS/360.ФС ОS/360 обеспечила будущих разработчиков уникальнымопытом использования дисковых устройств с подвижнымиголовками, который отражается во всех современных ФС.03.09.2009С.Д.
Кузнецов. Базы данных.17 Технология БД. ФунФайловые системы (4)Обсудим историю ФС, их основные черты иобласти разумного применения:структуры файлов;логическая структура файловых систем и именованиефайлов;авторизация доступа к файлам;синхронизация многопользовательского доступа;области разумного применения файлов.Ограничимся описанием основных свойств такназываемых традиционных ФС, не затрагиваяособенности современных систем с повышеннойнадежностью.03.09.2009С.Д.
Кузнецов. Базы данных.18 Технология БД. ФунФайловые системы (5)Структуры файлов (1)Практически во всех современных компьютерах основнымиустройствами внешней памяти являются магнитные диски сподвижными головками, и именно они служат для храненияфайлов.Как отмечалось ранее, аппаратура магнитных дисковдопускает выполнение обмена с дисками порциями данныхпроизвольного размера.Однако возможность обмениваться с магнитными дискамипорциями, размеры которых меньше полного объема блока,в настоящее время в файловых системах не используется.Во-первых, считывание или запись только части блока неприводит к существенному выигрышу в суммарном времениобмена.03.09.2009С.Д. Кузнецов.
Базы данных.19 Технология БД. ФунФайловые системы (6)Структуры файлов (2)Во-вторых, для работы с частями блоков ФС должна обеспечитьбуферы оперативной памяти соответствующего размера, чтосущественно усложняет распределение основной памяти.Алгоритмы распределения памяти порциями произвольногоразмера плохи тем, что любой из них рано или поздно приводит квнешней фрагментации памяти.В памяти образуется большое число мелких свободныхфрагментов.Их совокупный размер может быть больше размера любоготребуемого буфера, но его можно выделить, только еслипроизвести сжатие памяти, т.
е. подвижку всех занятых фрагментовтаким образом, чтобы они располагались вплотную один к другому.Во время выполнения операции сжатия памяти нужноприостановить выполнение обменов, а сама эта операциязанимает много времени.03.09.2009С.Д. Кузнецов. Базы данных.20 Технология БД. ФунФайловые системы (7)Структуры файлов (3)Поэтому во всех современных ФС явно или неявно выделяетсяуровень, обеспечивающий работу с базовыми файлами, которыепредставляют собой наборы блоков, последовательно нумеруемыхв адресном пространстве файла иотображаемых на физическиеблоки диска.Размер логического блока файласовпадает с размером физическогоблока диска или кратен ему;обычно размер логического блокавыбирается равным размеру страницывиртуальной памяти, поддерживаемойаппаратурой компьютера совместно соперационной системой.В некоторых ФС базовый уровень был доступен пользователю, ночаще он прикрывался некоторым более высоким уровнем,стандартным для пользователей.03.09.2009С.Д.
Кузнецов. Базы данных.21 Технология БД. ФунФайловые системы (8)Структуры файлов (4)Исторически существует два основных подхода.При первом подходе, свойственном, например,ФС операционной системы компании HewlettPackard OpenVMS, пользователи представляютфайл как последовательность записей.Каждая запись – это последовательность байтов,имеющая постоянный или переменный размер.Можно читать или писать записипоследовательно либо позиционировать файлна запись с указанным номером.03.09.2009С.Д. Кузнецов. Базы данных.22 Технология БД.
ФунФайловые системы (9)Структуры файлов (5)В некоторых ФС допускается структуризация записей наполя и объявление указываемых полей ключами записи.В таких ФС можно потребовать выборку записи из файла поее заданному ключу.В этом случае ФС поддерживает в том же (или другом,служебном) базовом файле дополнительные, невидимыепользователю, служебные структуры данных.Распространенные способы организации ключевых файловосновываются на технике хэширования и B-деревьев.Существуют и многоключевые способы организации файлов(у одного файла объявляется несколько ключей, и можновыбирать записи по значению каждого ключа).03.09.2009С.Д. Кузнецов. Базы данных.23 Технология БД.
ФунФайловые системы (10)Структуры файлов (6)Второй подход, получивший распространение вместе соперационной системой UNIX, состоит в том, что любой файлпредставляется как непрерывная последовательность байтов.Из файла можно прочитать указанное число байтов, либо начинаяс его начала, либо предварительно выполнив егопозиционирование на байт с указанным номером.Аналогично, можно записать указанное число байтов либо в конецфайла, либо предварительно выполнив позиционирование файла.Тем не менее, скрытым от пользователя, но существующим во всехразновидностях ФС ОС UNIX является базовое блочноепредставление файла.Конечно, в обоих случаях можно обеспечить набор преобразующихфункций, приводящих представление файла к другому виду.Примером тому может служить поддержка стандартной ФС UNIX всреде операционной системы OpenVMS.03.09.2009С.Д.
Кузнецов. Базы данных.24 Технология БД. ФунФайловые системы (11)Логическая структура ФС и именование файлов (1)Во всех современных файловых системахобеспечивается многоуровневоеименование файлов за счет наличияво внешней памяти каталогов –дополнительных файлов соспециальной структурой.Каждый каталог содержит имена каталогови/или файлов, хранящихся в данном каталоге.Таким образом, полное имя файла состоит изсписка имен каталогов плюс имя файла вкаталоге, непосредственно содержащем данный файл.Поддержка многоуровневой схемы именования файлов обеспечиваетнесколько преимуществ, основным из которых является простая и удобнаясхема логической классификации файлов и генерации их имен.Можно сопоставить каталог или цепочку каталогов с пользователем,подразделением, проектом и т. д.
и затем образовывать в этом каталогефайлы или каталоги, не опасаясь коллизий с именами других файлов иликаталогов.03.09.2009С.Д. Кузнецов. Базы данных.25 Технология БД. ФунФайловые системы (12)Логическая структура ФС и именование файлов (2)Разница между способами именования файлов вразных файловых системах состоит в том, с чегоначинается эта цепочка имен.В любом случае первое имя должносоответствовать корневому каталогу файловойсистемы.Вопрос заключается в том, как сопоставитьэтому имени корневой каталог – где его искать?В связи с этим имеются два радикальноразличных подхода.03.09.2009С.Д.
Кузнецов. Базы данных.26 Технология БД. ФунФайловые системы (13)Логическая структура ФС и именование файлов (3)Во многих системах управления файлами требуется, чтобыкаждый архив файлов (полное дерево каталогов) целикомрасполагался на одном дисковом пакете или логическомдиске – разделе физического дискового пакета, логическипредставляемом в виде отдельного диска с помощьюсредств операционной системы.В этом случае полное имя файла начинается с именидискового устройства, на котором установленсоответствующий диск.Такой способ именования использовался в ФС компаний IBMи DEC; очень близки к этому и файловые системы,реализованные в операционных системах семействаWindows компании Microsoft.Можно назвать такую организацию поддержкойизолированных ФС.03.09.2009С.Д. Кузнецов.