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

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

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

Третья проблема заключается в том, что зачастую возникает необходимость в предоставлении одновременного доступа к какой-то информации (или ее части) нескольким процессам. Если интерактивный телефонный справочник будет храниться в пределах адресного пространства только одного процесса, то доступ к нему сможет получить только этот процесс. Эта проблема решается за счет придания информации как таковой независимости от любых процессов.

Таким образом, есть три основных требования к долговременному хранилищу информации:

1. Оно должно предоставлять возможность хранения огромного количества информации.

2. Информация должна пережить прекращение работы использующего ее процесса.

3. К информации должны иметь одновременный доступ несколько процессов.

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

♦ чтение блока к;

♦ запись блока к.

На самом деле этих операций больше, но, в принципе, решить проблему долговременного хранения могут и эти две.

Тем не менее эти операции очень неудобны, особенно на больших системах, используемых многими приложениями и, возможно, несколькими пользователями (например, на сервере). Приведем навскидку лишь часть возникающих вопросов:

♦ Как ведется поиск информации?

♦ Как уберечь данные одного пользователя от чтения их другим пользователем?

♦ Как узнать, которые из блоков свободны?

А ведь таких вопросов значительно больше.

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

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

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

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

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

4.1.

<< | >>
Источник: Э. ТАНЕНБАУМ Х. БОС. СОВРЕМЕННЫЕ ОПЕРАЦИОННЫЕ СИСТЕМ Ы 4-е ИЗДАНИЕ. 2015

Еще по теме Глава 4 Файловые системы:

  1. Глава 4. Система права и система законодательства
  2. Глава 12. Анализ динамики систем
  3. Глава 2. Источники и система конституционного права
  4. Глава 6. Политические партии и партийные системы
  5. Глава 10. Переходные процессы в социальных системах
  6. Глава 4. Система принципов воспитания военнослужащих
  7. Глава 4. Система принципов воспитания военнослужащих
  8. Глава 3 ГРАЖДАНСКОЕ ПРАВО КАК СИСТЕМА ЗАКОНОДАТЕЛЬСТВА
  9. Глава 21. Избирательная система и референдум Российской Федерации
  10. Глава 1 ПРЕДМЕТ, МЕТОД І СИСТЕМА ТРУДОВОГО ПРАВА
  11. Глава 1. Общая характеристика системы гражданских договоров
  12. ГЛАВА 3 ПРЕДМЕТ, МЕТОД И СИСТЕМА ИНФОРМАЦИОННОГО ПРАВА
  13. Глава 2. Судебная власть и система органов, ее осуществляющих
  14. ГЛАВА 2 ГЕНЕЗИС ДИДАКТИЧЕСКИХ СИСТЕМ В РАЗЛИЧНЫЕ ИСТОРИЧЕСКИЕ ПЕРИОДЫ
  15. Глава 4 Система
  16. Глава 1. Предмет, источники и система конституционного права зарубежных стран
  17. Глава 10. Прокурорский надзор и система органов прокуратуры в Российской Федерации
  18. Глава 4. ПРОЕКТИРОВАНИЕ СИСТЕМЫ ПОДГОТОВКИ РАБОТНИКОВ НАЧАЛЬНОЙ ПРОФЕССИОНАЛЬНОЙ КВАЛИФИКАЦИИ
  19. Глава 5. СИСТЕМА ОТЕЧЕСТВЕННОГО ОБРАЗОВАНИЯ: СТРАТЕГИЯ РАЗВИТИЯ
  20. § 39 Классификация договоров в отдельных видах. – Римская классификация. – Система прусского закона, французского и австрийского кодекса. – Система русского свода. – Система настоящего изложения.