
No AS/400 , toda a memória principal pode ser dividida em atribuições lógicas denominadas conjuntos de memória.
Deste modo, controlam-se os recursos e a quantidade de trabalhos que pode ser realizado num determinado subsistema, dimensionando-se o número e o tamanho dos conjuntos de memória.
Quanto maior for o tamanho de memória de um subsistema, mais trabalhos se podem realizar nesse subsistema.
A existência de vários conjuntos de memória, ajuda a controlar a competição entre trabalhos pelos recursos disponíveis do sistema. Por exemplo, podemos crer que os trabalhos interactivos durante o dia tenham melhor tempo de resposta do que os trabalhos batch, e o contrario durante o período nocturno.
Por defeito, o sistema gere a transferência de dados e programas para o conjuntos de memória. Se os dados já se encontram na memória principal, podem ser consultados, independentemente do conjunto de memória onde estão.
No entanto, se os dados necessários não existirem em nenhum conjunto de memória, serão trazidos para o conjunto de memória do trabalho que os consultou (o que constitui uma falha de pagina).
Quando finalmente os dados são transferidos para o conjunto de memória, outros dados serão deslocados e, caso sejam modificados, automaticamente guardados na memória auxiliar (a este processo chamamos paginação).
O conjunto de memória deve possuir tamanho suficiente para permitir um nível razoável de transferência de dados (paginação), uma vez que a velocidade de transmissão afecta o rendimento.
Existem conjuntos de memória privados, definidos exclusivamente pelos utilizadores que contêm apenas uma determinada quantia de memória principal e que apenas pode ser utilizado por um único subsistema para a execução dos trabalhos.
Como conjuntos de memória partilhados, temos:
*MACHINE – Conjunto de memória de maquina utilizado em programas de maquina e de sistema operativo altamente partilháveis. Disponibiliza memoria para tarefas que o sistema deve executar que não precisem da atenção do utilizador. O seu tamanho está especificado no valor de sistema relativo ao tamanho dos conjuntos de memória (QMCHPOOL) e não existem trabalhos de utilizador executáveis neste conjunto de memória.
*BASE – Conjunto de memória Base, que contem toda a memória principal não atribuída do sistema, ou seja toda a memória principal que não é necessária para qualquer outro conjunto de memória. Este conjunto de memória é utilizada para trabalhos Batch e diversas funções do sistema. O valor de sistema (QBASPOOL) define o tamanho mínimo deste conjunto de memoria.
Existem ainda alguns conjuntos de memória principal, que por poderem ser utilizados por vários subsistemas em simultâneo, se designam por conjuntos de memória partilhada:
*INTERACT é o conjunto de memoria interactivo utilizado para trabalhos intercativos;
*SPOOL é o conjunto de memória utilizado para escritores em Spool (impressão);
*SHRPOOL1 a *SHRPOOL60 são conjuntos de memória que podem ser utilizadas pelo utilizador;
O comando WRKSYSSTS , trabalhar com o estado do sistema, permite-nos trabalhar com informação sobre o estado actual do sistema, apresentando o numero de trabalhos em sistema, a capacidade total do conjunto de memoria auxiliar do sistema, etc.