Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Posibnik.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
6 Мб
Скачать
☆

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

Хранение данных как информационного ресурса ранее осуществлялось непосредственно в теле программы, что было крайне неэффективно. Следующим шагом развития в области информационных технологий стали традиционные файловые системы (file-based system).

Файловые системы – это набор программ, которые выполняют для пользователей некоторые операции, например, создание отчетов, причем каждая программа определяет свои собственные данные и управляет ими.

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

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

Файловым системам присущи следующие ограничения:

  • Разделение и изоляция данных.

  • Дублирование данных.

  • Зависимость от данных.

  • Несовместимость файлов.

  • Фиксированные запросы/быстрое увеличение количества приложений.

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

Дублирование данных: из-за децентрализованной работы с данными в файловой системе фактически поощряется бесконтрольное дублирование данных. Бесконтрольное дублирование данных нежелательно по следующим двум причинам:

1. Дублирование данных сопровождается неэкономным расходованием ресурсов, поскольку на ввод избыточных данных требуется затрачивать дополнительные время и деньги. Более того, для их хранения необходимо дополнительное место во внешней памяти, что связано с дополнительными накладными расходами. Во многих случаях дублирования данных можно избежать за счет совместного использования файлов.

2. Еще более важен тот факт, что дублирование данных может привести к нарушению их целостности.

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

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

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

Например, увеличение в файле длины поля адреса любого данного с 40 до 41 символа кажется совершенно незначительным изменением его структуры, но для воплощения этого изменения потребуется, как минимум, создать одноразовую программу специального назначения (т.е. программу, которая выполняется только один раз), преобразующую уже существующий файл в новый формат. Она должна выполнять следующие действия:

  • открыть исходный файл для чтения;

  • открыть временный файл с новой структурой записи;

  • считать запись из исходного файла, преобразовать данные в новый формат и записать их во временный файл. Эти действия следует выполнить для всех записей исходного файла;

  • удалить исходный файл;

  • присвоить временному файлу необходимое имя.

Таким образом, выполнение всех этих действий требует больших затрат времени и может явиться причиной появления ошибок.

Такая особенность файловых систем называется зависимостью от программ данных (program-data dependence).

Несовместимость форматов файлов: структура файлов определяется кодом приложений, она также зависит от языка программирования этой прикладной программы.

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

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

В результате события обычно развивались по одному из следующих двух сценариев. Во многих случаях типы создаваемых запросов и отчетов имели фиксированную форму, и не было никаких инструментов создания незапланированных или произвольных (ad hос) запросов, как к самим данным, так и к сведениям о том, какие типы данных доступны.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]