Пулы вспомогательной памяти

We use cookies. Read the Privacy and Cookie Policy

Пулы вспомогательной памяти

В основе System/38 лежала мысль: локализовать все сведения о дисковых устройствах ниже границы MI. Никакой код выше MI, будь то прикладная программа, или ОС, не должны были владеть какой-либо информацией, даже о том, подключены ли к системе диски. Независимость от технологии предполагает, что никакое ПО не должно зависеть от особенностей устройств ввода-вывода. Однако ПО, конечно, необходимо иметь информацию о таких устройствах, как терминалы и принтеры. Так почему диски должны быть исключением?

Дело в том, что некоторые из нас, разработчиков System/38, были тогда, середине 70-х, твердо убеждены, что у дисков нет будущего. В конце концов, сколько еще может продержаться технология, занимающаяся покрытием пластин ржавчиной? Мы полагали, что диски скоро и неизбежно будут вытеснены какими-нибудь новыми полупроводниковыми устройствами: цилиндрическими магнитными доменами, или приборами с зарядовой связью... А может быть, технологии основной памяти станут настолько дешевы, что никакой иной формы хранилища и не потребуется[ 71 ]

Так вот, для того, чтобы эти новые технологии по мере готовности можно было легко встроить в System/38, мы изолировали все сведения о дисках ниже MI. Однако, это «незнание» о дисках, привело к возникновению проблем[ 72 ]. Если диск в System/ 38 выходил из строя, и восстановление было невозможно, то нигде выше MI не сохранялось сведений, что же было на этом диске. После ремонта или замены диска, приходилось заново восстанавливать данные на всей дисковой подсистеме из последней резервной копии — не очень приятное занятие. Поэтому мы решили, что в OS/400 все же нужны некоторые сведения и возможности управления дисками. Так появились пулы вспомогательной памяти (ASP).

ASP — это набор дисковых устройств. Вся дисковая память пула выглядит как одна непрерывная область в памяти. Отдельные устройства невидимы. Минимальный размер ASP — один диск, а вся дисковая память AS/400 может быть разделена максимум

на 16 ASP.

Первый ASP — всегда системный. OS/400 и некоторые типы системных объектов, управляемые ею, должны располагаться в системном ASP. Кроме того, может быть определено до 15 пользовательских ASP. Объект, который не обязан находиться в системном ASP, может быть помещен в любой пользовательский ASP, на котором должен уместиться целиком. Объекты не могут пересекать границу ASP.

Благодаря такому разделению дисковой памяти, любой сбой диска изолирован внутри одного ASP, что позволяет значительно сократить время восстановления, если таковое потребуется. Некоторые типы объектов, например, приемники журналов, также могут быть изолированы от других частей системы. Управлением ASP занимается компонент управления дисками в SLIC.