В. Столлингс - Операционные системы (1114679), страница 117
Текст из файла (страница 117)
Поэтому для преобразования команд пользователя в конкретные команды управления файлом должен использоваться метод доступа, соответствующий структуре данного файла. В то время как пользователи и приложения оперируют с записями, низкоуровневый ввод-вывод выполняется блоками. Следовательно, записи Файла требуется сблокировать для вывода и разблокировать после ввода.
Для поддержки блочного ввода-вывода Файлов необходимо несколько функций. Сохранение на внешних запоминающих устройствах должно быть управляемым. К Функциям управления относятся распределение файлов по свободным блокам при сохранении на внешних устройствах и управление свободной памятью таким образом, чтобы знать, какие блоки являются доступными для создания новых Файлов и наращивания существующих. Кроме 'Часть б. Операции вжща-вьпюда и Файлы Контроль за доступом пользователя Область ответственности управления Файлами Область ответственности операнионной системы Рис. 12.2.
Элементы упраеленил файлами На рисунке предложено разделение между системой управления файлами и операционной системой; точка пересечения представляет собой обработку записей. Такое разделение достаточно произвольно, поскольку различные системы применяют различные подходы. В оставшейся части этой главы мы остановимся на некоторых вопросах проектирования, предложенных на рис. 12.2. Начнем с описания организации файлов и методов доступа к ним. Хотя эта тема обычно не рассматривается при изучении операционных систем, невозможно перейти к другим вопросам проектирования, связанного с файлами, не разобравшись в файловой организации и предоставлении доступа. далее мы познакомимся с концепцией Файловых каталогов.
Зачастую управление ими осуществляется операционной системой от имени системы управления файлами. Остальные вопросы относятся к физическим аспектам управления файловым вводом-выводом и Рассматриваются как аспекты проектирования операционной системы. Одним из вопросов является способ организации логических записей в Физические блоки. В заключение остановимся на вопросах распределения файлов при сохранении данных на внешних устройствах и вопросах управления сво- бодной вторичной памятью. Глава 12. Упраелеаие Файлами е Быстрота доступа. е Легкость обновления. е Экономность хранения. е Простота обслуживания.
Записи переменной длины Переменный набор полей Хронологический порядок Записи постояннойдлнны Фиксированный набор полей в Фиксированном порядке Последовательный порядок, основанный на клкиеаом по а) Смегванный Файл б) Последовательный Файл Полный Частичный Уровн индекс в) Индексно-последовательный Файл е Смешанный файл. е Последовательный файл.
° Индексно-последовательный файл. г) Индексированный файл Глава 12. Управление файлами В этом разделе используемый нами термин организация Файла относится к логической структуре записей, определяющей способ доступа к ним, Физическая организация файла на устройстве вторичной памяти зависит от стратегий объединения записей в блоки и размещения файла, что будет рассмотрено в этой главе немного позже. При выборе способа организации файла важно учитывать несколько критериев. е Надежность. Относительный уровень приоритета этих критериев зависит от приложений, которые будут работать с файлом. Например, если файл предназначен только для обработки в пакетном режиме, когда одновременно выбираются несколько записей„быстрый доступ для выборки одной записи заинтересует нас менее всего. Файл, сохраненный на СВ-ксОМ.
никогда не будет обновлен, поэтому вопрос легкости в обновлении не имеет смысла. Перечисленные критерии могут конфликтовать между собой. Так, для зкономии при сохранении необходима минимальная избыточность данных. С другой стороны, избыточность является главным фактором увеличения скорости доступа к данным. В качестве примера можно привести использование индексов. Количество разных способов организации файлов, которые уже реализованы на практике или только предложены, слишком велико и их рассмотрение даже в книге, посвященной файловым системам, невозможно. В нашем кратком обзоре в общих чертах описаны пять фундаментальных способов организации. Большинство структур, используемых в реальных системах, либо подпадают под одну из этих категорий, либо могут быть реализованы как комбинация этих способов организации.
Ниже приводятся пять способов организации файла (первые четыре из них изображены на рис. 12.3). е Индексированный файл. ° Файл прямого доступа 1хешированный). Часть 5. Операции ввода-вывода и файлы Х ис 12 З Основные способы организации Фии тон В табл. 12.1 приведены сравнительные аспекты производительности этг пяти способов организации. Таблица 12.1. Производительность различных способов организации Файлов ~Ж1Е0871 Выборка Обновление Пространство Размер записи Равный Больший Атрибуты Пере- Фнкснроменное ванное Одной Подмно- Полная записи жества В В 0 0 0 Е Г В А Е 0 Г В 0 А В Г А Г В Смешанный Последовательный Индокснопоследовательный Индексированный Хешированный В Г С В С С В Г В Г 0 Е А — отлично подходит для этой цели  — хорошо С вЂ” удовлетворительно 0 — требует дополнительных усилий Š— возможно с большими усилиямн à — не подходит для этой цели О(г) О(охг) О (г)они) О (и) О(г хи) О( "') здесь: г — размер результата о — количество переполняющих записей и — количество записей в Файле Часть Ь.
О ии в1нзда-выдода к Файлы Смешанный файл Наименее сложная форма организации файла может быть названа смешамкой. Данные накапливаютсн в порядке своего поступления. Каждая запись состоит из одного пакета данных. Такая Форма упрощает накопление всей массы данных и их хранение. Записи могут иметь как различные поля, так и одинаковые поля, расположенные в различном порядке.
Поэтому каждое поле должно описывать само себя, включая как значение, так и имя. Длина каждого поля должна быть либо указана неявным образом посредством применения разделителя, либо явно включена как подполе (или известна для данного типа Файла заранее). Поскольку смешанный Файл не имеет никакой структуры, то доступ к записи осуществляется путем полного перебора всех записей Файла. Т.е. если необходимо найти запись, содержащую определенное поле с определенным значением, проверяется каждая запись до тех пор, пока не будет найдена искомая или пока весь Файл не будет пересмотрен. Если необходимо найти все записи, содержащие определенное поле, или все записи, содержащие поле с определенным значением, то поиск должен производиться по всему файлу.
Смешанные Файлы встречаются тогда, когда данные накапливаются и сохраняются перед обработкой, или если данные неудобны для организации Файлы этого типа рационально использует дисковое пространство при работе с дан- Ра ~~~~~~~ Раз~ер~ и структуры; он хорошо подходит для п, олного пе бора, но недостаточно прост при обновлении данных. В большинстве д ве других слу чаев этот тип файла непригоден. Последовательный файл Наиболее распространенным видом файловой структуры является посл последоаз тельный Файл. В нем для записей используется Фиксированный Формат. Все запис. имеют одинаковую длину и состоят из одинакового количества полей фиксиро ированно: длины, организованных в определенном порядке.
Поскольку длина и позиция ипия каж дого поля известны, то сохранению подлежат только значения полей а иб 1 утам: Файловой структуры являются имя и длина каждого поля. Одно определенное поле, обычно — первое поле в каждой записи, называет ся ключевым полем, которое идентифицирует запись уникальным образом, та что ключевые значения различных записей всегда различны1. Более того, запис1 сохраняются в "ключевой'" последовательности: в алфавитном порядке для тек стоного ключа и в числовом порядке для числового ключа.
Последовательные файлы часто используются пакетными приложениями ~ обычно являются оптимальным вариантом, если зти приложения выполняют об работку всех записей (например, программы составления счетов или расчет платежных ведомостей). Только файл с последовательной организацией може быть одинаково легко сохранен как на магнитной ленте, так и на диске или дру гом носителе. Для диалоговых приложений, которые работают с запросами и/или выпол няют обновление индивидуальных записей. последовательный файл являетс. малоэффективным.