Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 700383.doc
Скачиваний:
15
Добавлен:
01.05.2022
Размер:
4.33 Mб
Скачать

4.4.3. Странично-сегментная организация памяти

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

С точки зрения программиста, логический адрес в этом случае состоит из номера сегмента и смещения в нем. С позиции операционной системы смещение в сегменте следует рассматривать как номер страницы определенного сегмента и смещение в ней (рис. 22).

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

Рис. 22. Схема преобразования адреса при странично-сегментной организации памяти

Сегментация удобна для реализации защиты и совместного использования сегментов разными процессами. Поскольку каждая запись таблицы сегментов включает начальный адрес и значение длины, программа не в состоянии непреднамеренно обратиться к основной памяти за границами сегмента. Для того чтобы отличить разделяемые сегменты от индивидуальных, записи таблицы сегментов содержат 1-битовое поле, имеющее два значения shared (разделяемый) или private (индивидуальный). Для осуществления совместно использования сегмента он помещается в виртуальное адресное пространство нескольких процессов, при этом параметры отображения этого сегмента настраиваются так, чтобы они соответствовали одной и той же области оперативной памяти (делается это указанием одного и того же базового физического адреса сегмента).

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

5.1. Цели и задачи файловой системы

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

1. Устройства должны позволять хранить очень большие объемы данных. К так устройствам относятся жесткие магнитные диски, магнитные ленты, оптически магнитооптические диски.

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

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

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

Обычно единственным способом работы с файлами является использование системы управления файлами или иначе - файловой системы (ФС). Файловая система – это часть операционной системы, включающая:

– совокупность всех файлов на носителе информации (магнитном или оптическом диске, магнитной ленте и др.);

– наборы структур данных, используемых для управления файлами (каталоги и дескрипторы файлов, таблицы распределения свободного и занятого пространства на диске и др.);

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

Задачи, решаемые файловой системой, во многом определяются способом организации вычислительного процесса (наиболее простые – в однопрограммных и однопользовательских ОС, наиболее сложные – в сетевых ОС).

В многозадачных, многопользовательских ОС задачами файловой системы являются:

1) соответствие требованиям управления данными и требованиям со стороны пользователей, включающим возможность хранения данных и выполнения операций с ними;

2) гарантирование корректности данных, содержащихся в файле; оптимизация производительности, как с точки зрения системы (пропускная способность), так и с точки зрения пользователя (время отклика); поддержка ввода-вывода для различных типов устройств хранения информации; минимизация или полное исключение возможных потерь или повреждений данных; защита файлов от несанкционированного доступа;

3) обеспечение поддержки совместного использования файлов несколькими пользователями (в том числе средства блокировки файла и его частей, исключение тупиков, согласование копий и т. п.);

4) обеспечение стандартизированного набора подпрограмм интерфейса ввода-вывода.

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

– создание, удаление, чтение и изменение файлов;

– контролируемый доступ к файлам других пользователей.

– структурирование файлов в соответствии с решаемой задачей;

– перемещение данных между файлами;

– резервирование и восстановление файлов в случае повреждения;

– доступ к файлам по символьным именам.

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

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