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?
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.
- 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.
- 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.
- 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.