Informazioni su uno spazio di indirizzo z/OS

Le aree storage per CICS sono assegnate nella memoria virtuale in uno spazio di indirizzo z/OS . Ma cos' è uno spazio di indirizzi?

Questo argomento fornisce un'introduzione allo spazio di indirizzo per il contesto nell'utilizzo dello storage CICS . Per informazioni dettagliate, consultare la documentazione di z/OS :

L'intervallo di indirizzi virtuali che z/OS assegna a un utente o a un programma è denominato spazio di indirizzo: un'area di indirizzi virtuali contigui disponibili per eseguire istruzioni e memorizzare dati. È come una mappa del programmatore della memoria virtuale disponibile per codice e dati.

Uno spazio di indirizzo include sia il codice di sistema che i dati e il codice utente e i dati. In uno spazio di indirizzo, gli utenti possono avviare più attività, utilizzando i TCB ( task control blocks ).

z/OS utilizza molti spazi di indirizzo univoci. Ad esempio, è presente almeno uno spazio di indirizzo per ciascun lavoro in corso e uno spazio di indirizzo per ciascun utente TSO collegato. Ogni sottosistema principale, come CICS, ha il proprio spazio di indirizzo. Ci sono spazi di indirizzo per le funzioni del sistema operativo, come la comunicazione dell'operatore, l'automazione, la rete, la sicurezza e così via.

In alcuni modi, uno spazio di indirizzi z/OS è come un processo UNIX e l'ASID (address space identifier) è come un PID (process ID). I TCB sono come i thread UNIX in quanto ogni sistema operativo supporta l'elaborazione simultanea di più istanze di lavoro.

Intervalli di indirizzamento in uno spazio di indirizzi di z/OS

Uno spazio di indirizzo z/OS è diviso in tre intervalli di indirizzamento: 24 bit, 31 bit e 64 bit.

La Figura 1 mostra uno schema degli intervalli di memoria disponibili in uno spazio di indirizzo z/OS . Consultare Termini per comprendere lo storage CICS per informazioni sulle aree di separazione denominate linea e barra.

Figura 1. Indirizzamento delle aree nella memoria virtuale di z/OS . (non in scala)
Diagramma che illustra le tre aree di archiviazione
Storage a 64 bit (da 4 GB a 16 exabyte teorici)

Gli indirizzi nell'intervallo da 4 GB a un potenziale di 16 exabyte (EB) sono accessibili tramite l'indirizzamento a 64 bit. Questa area è suddivisa in un'area privata estesa utente compresa tra 4 GB e 2 terabyte (TB), un'area condivisa tra 2 TB e 512 TB e un'area privata utente compresa tra la fine dell'area condivisa e 16 EB. Gli indirizzi in questa area sono accessibili tramite l'indirizzamento a 64 bit e i programmi possono utilizzare questo storage quando vengono eseguiti in AMODE 64.

Il separatore da 2 GB a 4 GB è noto come barra, quindi è possibile trovare lo storage a 64 bit denominato storage sopra la barra.

Storage a 31 bit (da 16 MB a 2 GB)

Gli indirizzi sopra l'indirizzo di 16 MB ma sotto l'indirizzo di 2 GB sono accessibili tramite l'indirizzamento a 31 bit e i programmi possono utilizzare questo storage quando vengono eseguiti in AMODE 31 o superiore. L'indirizzo da 16 MB è noto come linea, quindi è possibile trovare lo storage a 31 - bit denominato storage sopra la riga. È anche possibile trovare lo storage a 31 bit indicato come storage sotto la barra.

Storage a 24 bit (da 0 MB a 16 MB)

Gli indirizzi inferiori a 16 MB sono accessibili tramite l'indirizzamento a 24 bit e i programmi possono utilizzare questo storage quando vengono eseguiti in AMODE 24 o superiore. L'indirizzo da 16 MB è noto come linea, quindi è possibile trovare lo storage a 24 bit denominato storage sotto la riga.

Aree private e comuni in uno spazio di indirizzo di z/OS

All'interno dei suoi tre intervalli di indirizzamento, ogni spazio di indirizzo z/OS contiene aree private e aree comuni.

Aree private
Queste aree sono univoche per tale spazio di indirizzo e vengono utilizzate per l'esecuzione di dati e moduli dell'applicazione. Le aree private di uno spazio di indirizzi sono isolate dalle aree private in altri spazi di indirizzo.
Aree comuni
Queste aree sono accessibili a tutti gli spazi di indirizzo. Possono essere utilizzati per eseguire i moduli e i dati dell'applicazione, ma contengono anche dati e programmi di controllo del sistema operativo.

Le diverse aree aiutano a mantenere la distinzione tra programmi e dati che appartengono all'utente e programmi e dati che appartengono al sistema operativo. I meccanismi di protezione della memoria in z/OS consentono di proteggere gli utenti in spazi di indirizzo differenti e di proteggere lo stesso z/OS .

La Figura 2 mostra il layout della memoria virtuale per uno spazio di indirizzi z/OS .

Le aree mostrate nel diagramma sono introdotte in Aree comuni e Aree private. Consultare Termini per comprendere lo storage CICS per informazioni sulle aree di separazione denominate linea e barra.

Figura 2. Mappa di memoria virtuale che visualizza aree comuni e aree private. (non in scala)
Il diagramma mostra le aree di archiviazione. L'area comune fino a 8 KB contiene PSA. L'area privata da 8 KB contiene una region di sistema fino a 24 KB, quindi la region utente (privata bassa), LSQA, SWA e AUK (privata alta). L'area comune fino a 16 MB contiene RUCSA (Restricted Use CSA), CSA, PLPA, FLPA, MLPA, SQA e Nucleus. Sopra la linea, l'area comune estesa contiene Extended Nucleus, Extended SQA, Extended PLPA, FLPA, MLPA, Extended CSA e Extended Restricted Use CSA. L'area successiva, che si estende fino alla barra, è un'area privata estesa contenente l'area utente estesa (privata bassa estesa) e l'area estesa LSQA, SWA e AUK (privata alta estesa). Sopra la barra, c'è un'area privata utente inferiore che contiene un'area di riferimenti compressi a 64 GB, un'area di sistema locale a 320 GB e un'area utente virtuale bassa. Un'area condivisa ad alto livello virtuale (da 2 TB a 512 TB) e un'area privata ad alto livello virtuale che contiene un'area utente ad alto livello virtuale porta l'archiviazione fino al limite teorico di 16 exabyte.
Le aree di memoria virtuale a 24 bit e a 31 bit vengono gestite in base al concetto di pool secondari, in cui ogni pool secondario ha caratteristiche specifiche, quali i requisiti di autorizzazione, la memoria fissa o paginabile, comune (disponibile per tutti gli spazi di indirizzo) o l'area di memoria privata, un sistema o un'area del programma applicativo e così via.
  • Per ogni area inferiore a 16 MB, c'è un'area equivalente superiore a 16 MB. Ad esempio, l'area comune inferiore a 16 MB ha l'area comune estesa equivalente superiore a 16 MB.
  • I servizi z/OS come GETMAIN, STORAGE GET, CPOOL vengono utilizzati per allocare, deallocare e modificare la memoria in queste aree su base byte.
  • L'indirizzabilità alla memoria virtuale a 24 bit e a 31 bit può essere limitata creando spazi secondari nello spazio di indirizzi.
Le aree di storage virtuale a 64 bit al di sopra della barra sono gestite in base al concetto di oggetto memoria. Gli oggetti di memoria vengono assegnati in incrementi di megabyte e hanno attributi specifici.
  • I servizi z/OS come IARV64 e IARCP64 vengono utilizzati per assegnare, deallocare e modificare la memoria in queste aree.
  • Gli oggetti di memoria possono essere allocati dall'area privata a 64 bit, possono essere comuni a tutti gli spazi di indirizzo o possono essere condivisi da spazi di indirizzo idonei.