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

39Аномалия Биледи

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

Пример

Пусть некоторая программа состоит из пяти страниц (с номерами от 0 до 4). Для вытеснения страниц используется стратегия FIFO. Программа обращается к страницам в следующем порядке: 0-1-2-3-0-1-4-0-1-2-3-4.

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

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

    1. Эффективность и применимость виртуальной памяти

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

Пример.

Пусть размер страницы равен 128 слов. Рассмотрим два варианта Pascal-программы, обнуляющей двумерный массив размерностью 128 на 128.

Вариант 1

var A: array [1..128] of array [1..128] of integer;

for j := 1 to 128 do

for i := 1 to 128 do

A[i][j] := 0;

Массив хранится в памяти построчно. И, следовательно, каждая строка размещается в одной странице.

Вариант 2

var A: array [1..128] of array [1..128] of integer;

for i := 1 to 128 do

for j := 1 to 128 do

A[i][j] := 0;

В том случае, если операционная система выделит для хранения массив меньше 128 страничных блоков, выполнение варианта 1 может вызывать 128  128 = 16386 страничных отказов, а в варианте 2 не более 128 .

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

Контрольные вопросы

  1. Интерфейс файловой системы

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

    1. Понятие файла. Атрибуты файла и операции с файлами

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

Информация на носителях информации может храниться только в виде файлов. Однажды созданный файл становится независимым от процесса, пользователя и системы, создавшей его.

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

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

  • Тип. Информация, необходимая для управления файлами.

  • Расположение. Указатель на внешнее устройство и на местонахождения файла на этом внешнем устройстве.

  • Размер. Текущий размер (в байтах, словах или блоках) и, возможно, максимально допустимый размер.

  • Защита. Информация управления доступом, управляющая уровнем доступа (чтение, запись, выполнение и т.д.)

  • Время, дата и идентификатор пользователя. Эта информация может характеризовать: создание, последнюю модификацию, последнее обращение.

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