В. Столлингс - Операционные системы (1114679), страница 116
Текст из файла (страница 116)
База данных состоит из файлов о н д ого или нескольких типов. Обычно существует отдельная система управления базой данных (СУБД), независимая от опе ационной системы, но тем не м В Ф енее, она почти всегда использует некоторые про, независимая от опера- граммы управления Файлами. нео ходимо пользоватеКак правило, при использовании файлов, которое необ лям и приложениям, поддерживаются следующие операции ~ЫУА901.
° Выб ать Все. Вы" р . барка всех записей из Файла. Эта операция необходима тем приложениям, которые обрабатывают всю содержащуюся в фай р целиком. Например, приложение, производящее анализ инфорв ф ле иноперации часто мации в файле, должно выбрать для этого все записи. Этой опе вс о порядке соогветстнует термин последовательная обработка, поскольку доступ ем записям осуществляется в последовательном порядке. ко е Выбрать Од . Выбо ка ну. р только одной записи.
Используется диалоговыми приложениями, ориентированными на выполнение транзакций. ° Выбрать Сле дующую. Выборка записи, которая является "следующей" в некоторой логической п с последовательности по отношению к последней ранее выбранной записи. Эта оп а операция будет необходима, например, приложениям с заполнением 1 м. Форм. Ее могут использовать и приложения, выполняющие поиск. е Выбрать П ед р р дыдущую. Подобна только что рассмотренной операции, однако в этом сл ае выб уч ыбирается запись, являющаяся "предыдущей" по отношению к доступной в данный момент записи. е Вставить О . В т дну.
с авка записи в файл. Может быть необходима, если новая запись поме ает щается в определенную позицию для сохранения логики связей между записями файла. е Удалить О . У ал дну. даление существующей записи. Для сохранения логики связей ме зап жду исями файла может возникнуть необходимость в обновлении некоторых связей или других структур данных. Часть 5. Операции ввода-вывода и файлы ' Глава 12. УпРавление фнйдями Обновить Одну. Выборка записи, обновление одного или более ее полей и перезапись обновленной записи обратно в Файл.
Эта операция также может потребовать выполнения дополнительных действий для сохранения последовательности Файла. Если длина записи претерпела изменения, то процедура обновления становится более сложной. Выбрать Несколько. Выборка некоторого количества записей. Выполняется, например, когда приложению или пользователю необходимо выбрать записи, удовлетворяющие определенному установленному набору критериев. Вид операций, которые чаще всего будут выполняться с файлом, влияет на способ организации файла, что обсуждается в разделе 12.2.
Системы управления файлами Систему управления Файлами составляет программное обеспечение, предоставляющее сервисные Функции при работе пользователей и приложений с Файлами. Обычно единственным способом работы с Файлами является использование системы управления Файлами. Ее применение позволяет избавиться от необходимости разработки специальных программ работы с Файлами для каждого отдельного приложения, а также обеспечивает систему средствами управления ее наиболее важными компонентами. В (ОВОВВ861 перечислены следующие задачи системы управления файлами.
е Соответствие требованиям управления данными и требованиям со стороны пользователей, включающим возможность хранения данных и выполнения рассмотренных ранее операций с ними. ° Гарантирование корректности данных, содержащихся в файле. .'у в Оптимизация производительности, как с точки зрения системы (пропускная способность), так и с точки зрения пользователя (время отклика). в Поддержка ввода-вывода для различных типов устройств хранения информации.
,Ъ Минимизация или исключение возможных потерь или повреждений данных. Обеспечение стандартизированного набора подпрограмм интерфейса ввода- вывода. в Обеспечение поддержки коллективного использования несколькими пользователями многопользовательской системы, Что касается первого пункта — соответствия пользовательским требованиям, — то спектр этих требований зависит от разнообразия приложений и от среды, в которой используется компьютерная система. Ниже приведен минимальный набор требований для диалоговой системы общего назначения.
Каждый пользователь должен иметь следующие возможности. 1. Создавать, удалять, читать и изменять файлы. 2. Иметь контролируемый доступ к файлам других пользователей. 3. Управлять доступом к своим файлам. 4. Реструктуризировать Файлы таким способом, который наиболее подходит для решения стоящих перед ним задач. б. Перемещать данные между Файлами. 6. Резервировать и восстанавливать файлы в случае повреждения. 7. Иметь доступ к файлам по символьным именам.
Мы будем учигывать эти задачи при нашем дальнейшем рассмотрении сис тем управления Файлами. Архитектура файловой системы Чтобы хоть как-то представить себе спектр действий при управлении Фай лами, можно обратиться к рис. 12.1, где представлена типичная схема организации программного обеспечения. Естественно, что различные системы организованы по-разному, однако приведенная организация типична. На нижнем уровне драйверы устройств непосредственно связаны с периферийными устройствами или их контроллерами либо каналами. Драйвер устройства отвечает за начальные операции ввода-вывода устройства и за обработку завершения запроса ввода- вывода.
При Файловых операциях контролируемыми устройствами являются дисковод и накопитель на магнитной ленте. Драйверы устройств обычно рассматриваются как часть операционной системы. Рве. 12.1. Архитектура программкого ооееае гения файловой системы ~СВОБ86~ Следующий уровень называется базовой файловой системой, или уровнем Физического ввода-вывода, Это первичный интерфейс с окружением компьютерной системы. Он оперирует блоками данных, которыми обменивается с дисковой системой, магнитной лентой или другим носителем. Поэтому он связан с размещением и буферизацией блоков в оперативной памяти.
На этом уровне не выполняется работа с содержимым блоков данных или структурой Файлов. Базовая Файловая система часто рассматривается как часть операционной системы, Часть 5. Операции ввода-вывода и Глава 12. Управление Файлами 607 Супервизор базового ввода-вывода отвечает за начало и завершение файлового ввода- вода-вывода. На этом уровне поддерживаются управляющие структуры, связанные с устройством ввода-вывода, планированием и статусом Файлов. Супервизо . ор базового ввода-вывода осуществляет выбор устройства, на котором будет выполняться операция Файлового ввода-вывода, исходя из выбранного Файла. Кроме того, он осуществляет планирование обращения к носителю (лентам, дискУ и Р- и др.) с целью повышения производительности. На этом уровне происходят назначение буферов ввода-вывода и распределение внешней памяти.
Супервизор базового ввода-вывода является частью операционной системы. Логический ввод-вывод предоставляет пользователям и приложениям доступ к записям. Таким образом, базовая Файловая система оперирует блоками данных, а модуль логического ввода-вывода — Файловыми записями. Логический ввод-вывод обеспечивает возможности общего назначения по вводу-выводу записей и поддерживает информацию о Файлах.
Наиболее близкий к пользователю уровень Файловой системы часто называется методом доступа. Он обеспечивает стандартный интерфейс между приложениями и файловыми системами и устройствами, содержащими данные. Различные методы доступа отражают различные структуры Файлов и различные пути доступа и обработки данных. Некоторые из наиболее общих методов доступа представлены на рис. 12.1 и вкратце описаны в разделе 12.2.
того, индивидуальные запросы блочного ввода-вывода должны планиров ся (этот вопрос был рассмотрен в главе 11, "Управление вводом-выводом и дисковое планирование" ). И распределение файлов, и дисковое планировани ванне тесно связаны с оптимизацией производительности системы, Поэтому как следовало ожидать, эти функции необходимо рассматривать вместе. Более того, оптимизация будет зависеть от структуры Файлов и схем доступа.
Со ответственно, разработка оптимальной системы управления Файлами с точки зрения эффективности является чрезвычайно сложной задачей. Физические блоки Физические блоки Записи в буФерм во вторичной оперативной памяти памяти (диск1 й.„,„й т.'в1х~~,'~т Группироввнне планирование Команды пользователя и программы свободным пространством азмещени Файлов Функции управления файлами Еще одно представление о функциях файловой системы дает рис. 12.2. Рассмотрим эту диаграмму слева направо.
Пользователи и прикладные программы взаимодействуют с Файловой системой посредством команд для создания и удаления файлов, а также для выполнения операций над ними. Перед выполнением любой операции Файловая система должна идентифицировать выбранный Файл и определить его местоположение. Это требует использования каталогов определенного типа, которые служат для описания местоположения файлов и их характеристик. Кроме того, большинство систем с совместным использованием включают управление доступом пользователей (только авторизованным пользователям разрешен доступ к определенным Файлам определенными способами). Базовые операции, которые могут быть выполнены пользователем или приложением нвд Файлами, выполняются на уровне записей. С точки зрения пользователя или прикладной программы, файл имеет некоторую последовательную структуру, организующую записи (например, записи о персонале хранятся в алфавитном порядке).