Cтраница 2
Запоминающие устройства большого объема находят разнообразные применения. Так в работе [10] описано применение LCS в качестве устройства обмена ( вместо магнитного барабана) в Системе 360 / 67 с разделением времени, принадлежащей Университету им. Применение LCS позволило: 1) увеличить эффективную скорость перемещения страниц памяти в системе; 2) уменьшить время поиска, поскольку в LCS не существует задержки вследствие вращения носителя ( цикличности доступа); 3) сократить объем основной оперативной памяти, необходимой для работы системы. [16]
С другой стороны, небольшой размер страницы означает, что программам будет нужно много страниц, следовательно, огромная таблица страниц. Программа размером 32 Кбайт требует всего четыре страницы по 8 Кбайт и 64 страницы по 512 байт. Как правило, страница за раз переносится на диск и с него, при этом большая часть времени уходит на поиск цилиндра и задержку вращения, так что перемещение маленькой страницы занимает почти столько же времени, сколько и большой. Может потребоваться 64 х 10 мс, чтобы загрузить 64 страницы размером 512 байт, и всего лишь 4 х 12 мс для загрузки четырех страниц по 8 Кбайт. [17]
![]() |
Машина NUMA с двумя уровнями шин. Cm - первый мультипроцессор, в котором использовалась данная разработка. [18] |
Согласованность памяти гарантирована в машине NC-NUMA, поскольку там отсутствует кэш-память. Каждое слово памяти находится только в одном месте, поэтому нет никакой опасности появления копии с устаревшими данными: здесь вообще нет копий. Имеет большое значение, в какой именно памяти находится та или иная страница, поскольку от этого зависит производительность. Машины NC-NUMA используют сложное программное обеспечение для перемещения страниц, чтобы максимально увеличить производительность. [19]
![]() |
Типичная запись в таблице страниц. [20] |
Бит Обращения устанавливается всякий раз, когда происходит обращение к странице для чтения или записи. Его значение помогает операционной системе при выборе страницы для удаления из памяти, когда случается ошибка из-за отсутствия страницы. Страницы, не использующиеся в данный момент, являются лучшими кандидатами, чем находящиеся в работе. Этот бит играет важную роль в нескольких алгоритмах перемещения страниц, которые мы изучим позже в этой главе. [21]
![]() |
Типичная запись в таблице страниц. [22] |
Бит Обращения устанавливается всякий раз, когда происходит обращение к странице для чтения или записи. Его значение помогает операционной системе при выборе страницы для удаления из памяти, когда случается ошибка из-за отсутствия страницы. Страницы, не использующиеся в данный момент, являются лучшими кандидатами, чем находящиеся в работе. Этот бит играет важную роль в нескольких алгоритмах перемещения страниц, которые мы изучим позже в этой главе. [23]
К программным прерываниям относятся также прерывания из-за недоступности слов, адресуемых в командах программы. Слово считается недоступным, если оно размещается вне ОЗУ или если наложен запрет на использование некоторой группы ячеек ОЗУ, в которой хранится адресуемое слово. Прерывание из-за недоступности слова формируется по сигналам из схем, обеспечивающих организацию памяти одного уровня, если в программе происходит обращение к странице ( массиву), отмеченной признаком недоступности. Прерывание обеспечивает переход к супервизору, в котором выполняются действия по перемещению страниц между ЗУ ЦВМ. [24]
Глобальное описание логических данных должно быть реализовано в виде физической структуры на носителе информации. Рабочая группа по базам данных CODASYL определяет предназначенный для этих целей язык как язык управления размещением на внешних носителях. Этот язык должен определять: размещение данных на физических устройствах и носителях информации, управление буферизацией, перемещением страниц и переполнением, способы адресации и поиска, такие, как индексирование и формирование цепочек. В настоящее время системы управления базами данных используют самые разнообразные способы отображения логических данных на физических носителях. [25]
Средства виртуальной памяти в современных вычислительных системах используются для того, чтобы сделать кажущийся объем основной памяти ЭВМ больше, чем он есть на самом деле. Иллюзия увеличения объема основной памяти обеспечивается путем разбиения содержимого памяти на страницы и размещения страниц на внешнем запоминающем устройстве. При обращении программы к странице, отсутствующей в данный момент времени в основной памяти, работа программы временно прерывается, а отсутствующая страница с большой скоростью считывается в основную память. После того как программа модифицирует данные в этой странице, страница возвращается на внешнее запоминающее устройство. Операционная система удовлетворяет потребности программ, используя определенные алгоритмы для перемещения страниц из внешнего запоминающего устройства в основную память и наоборот. Она изымает блоки памяти у одной программы и передает их другой, что внешне похоже на операции с фиктивными чеками. [26]
Иногда объем буферного ЗУ берут в 2 - 4 раза больше, чем требуется для отображения одной страницы текста. Это позволяет принять от ЭВМ сразу большой объем данных. Весь объем буферного ЗУ разбивается на зоны, в каждой из которых хранятся коды знаков, отображаемые на одной строке. В каждом цикле регенерации считывается на отображение столько таких зон, сколько строк текста помещается на экране ЭЛТ. Номер зоны, с которой начинается цикл считывания, по команде оператора может меняться с низкой частотой, увеличиваться или уменьшаться, что создает впечатление перемещения страницы вверх или вниз через рамку экрана. [27]