Обратите внимание, что группы доступа работают только с физически небольшими объектами и их маленькими сегментами. Все сегменты имеют 16 МБ адресного пространства, но большинство временных сегментов задания занимают лишь несколько страниц физической памяти. Группы доступа очень хороши для таких маленьких временных сегментов. Для постоянных объектов они не используются, так как постоянные объекты обычно имеют больший размер.
Каталоги вспомогательной памяти
Теперь рассмотрим каталоги, которые поддерживаются и используются компонентом управления вспомогательной памятью для контроля за дисковым пространством.
Каталог свободного пространства — это машинный индекс (описанный в главе 6), каждая запись которого показывает расположение на диске одного экстента свободного пространства.
Статический каталог представляет собой список экстентов, выделенных предопределенным постоянным сегментам. Статический каталог используется для поиска виртуальных сегментов, которые необходимы для работы системы, когда использование нормальных (постоянного и временного) каталогов невозможно.
Постоянный каталог — машинный индекс, каждая запись которого показывает расположение на диске от одного до четырех экстентов, выделенных постоянному виртуальному сегменту.
Временный каталог — машинный индекс, каждая запись которого указывает расположение на диске от одного до четырех экстентов, выделенных временному виртуальному сегменту.
Справочный каталог — содержит список экстентов из постоянного и временного каталогов, которые недавно были востребованы. Фактически, справочный каталог — это кэш для постоянного и временного каталога. Он предназначен для того, чтобы избежать относительно долгого поиска в этих каталогах.
Каталог членов группы доступа — машинный индекс, каждая запись которого содержит адрес группы доступа, к которой относится данный член (сегмент) группы доступа.
Таблица содержимого группы доступа (TOC)— как уже говорилось, такую таблицу имеет каждая группа доступа. ТОС представляет собой список, каждый элемент которого задает расположение на диске страницы некоторого члена (сегмента) группы.
Так как каталог свободного пространства и постоянный каталог — это машинные индексы, то в результате сбоя системы они могут быть разрушены. При каждой IPL управление вспомогательной памятью проверяет состояние этих каталогов. Если каталоги разрушены, то запускается процедура восстановления каталогов: сканируется содержимое всех дисков и собирается информация, хранящаяся в заголовках секторов и сегментов. Поскольку временные объекты, включая группы доступа, во время IPL исчезают, то восстановление других каталогов не требуется.
В 1976 году Белл (Bell) и Стрекер (Strecker) опубликовали работу с критикой Digital PDP-11. По их словам: «При проектировании компьютера только одну ошибку трудно исправить — недостаточное количество адресных разрядов» [ 74 ] G. Bell and W.D. Strecker. Computer Structures: What Have We Learned From the PDP-11? / Proc. Third Annual Symposium on Computer Architecture. 1976. January. Pp. 1-14.
. Они описали несколько причин, по которым Digital пришлось отказаться от архитектуры PDP, имевшей лишь 16-разрядный адрес, и перейти на архитектуру VAX с 32-разрядным адресом. В последние годы Digital перешла на 64-разрядную архитектуру Alpha.
Архитекторы System/38 и AS/400 поклялись, что их архитектура никогда не потерпит неудачу из-за недостатка адресных разрядов. Они определили для хранения адресов 128-разрядный указатель и обеспечили достаточно места для расширения. С точки зрения адресации, у AS/400 — большой запас прочности.
В будущем значение большой одноуровневой памяти AS/400 только усилится. Многие производители компьютеров только сейчас открывают для себя важность постоянства объектов. По мере того как все больше ОС становятся объектно-ориентированными, специалисты осознают, что для совместного использования объектов для последних должна быть возможность существовать вне процесса. В объектно-ориентированном мире системы виртуальной памяти, которые разрушают все объекты процесса после его завершения — не самый лучший вариант. Постоянные объекты AS/400 — элегантное решение этой проблемы.
В следующей главе мы рассмотрим процессы AS/400 и увидим, как связаны друг с другом многие из уже обсужденных нами тем.
Читать дальше