Virtual Address Space:
A sequence or range of virtual addresses available to a user or program or OS is an address space.
Each user or separately running program is represented by an Address Space. Of course, each user gets a limited amount of private storage.
The Virtual Address Space consists of: Common Area, Extended Common Area, Private Area and Extended Private Area.
Common Storage Area:
This contains system control programs and control blocks. The following regions falls under the Common Storage Area.
Nucleus: It is the core of the Operating System and is non-swappable. The Nucleus is always fixed in Central Storage. The Nucleus area consists of Nucleus load modules and extensions to the Nucleus that are initialized during IPL processing. The modules to be added or deleted must reside as members of SYS1.NUCLEUS and these modules should be specified in SYS1.PARMLIB(NUCLSTxx) using INCLUDE and EXCLUDE statements.
Prefixed Storage Area or PSA: It is often referred to as "Low Core". PSA maps the architecturally fixed hardware and software storage locations for the Processor. There is one unique PSA for each Processor that is installed in the system.
System Queue Area or SQA: It contains tables and queues elating to the entire system. This is not pageable and is fixed. SQA resides in Central Storage along with OS and its size cannot be changed until it is freed while the OS is active. So, I would suggest you to mention INITSQA in LOADxx which will let the system to automatically allocate Virtual SQA from the Common Service Area (CSA).
Common Service Area or CSA: CSA often used to contain data frequently accessed by multiple address spaces. It contains pageable and fixed data areas that are addressable by all active Virtual Address spaces.
Link Pack Area or LPA: This contains system level programs like SVC routines, Access methods and other read-only reenterable user programs which can be shared among users of the system. With this capability, each address space does not need to have a copy of these system programs in each user's address space. A single copy of this in the Common Area reduces the demand for the central Storage and program fetch overhead. Except FLPA, other modules(PLPA and MLPA) reside in Virtual Storage.
Private Storage Area:
This contains user program data buffers and control information. The following regions falls under the Private Storage Area:
Local System Queue Area or LSQA: This contains tables and queues associated with user address spaces.
Scheduler Work Area or SWA: This area contains control blocks that exist from task initiation to task termination.
Subpools 229, 230, 249: This area is used for storage blocks that can be obtained only by authorized programs having appropriate storage protect keys.
Dynamic Address Tranlation or DAT:
IIt is the process of converting the Virtual Address to Real Address during Storage preference and then further converted to Absolute Address using "Prefixing".
It involves Region Tables, Segment Tables and Page Tables where a Segment Table is the index of all Segments and a Page table is the index of all Pages.
In 31-bit addressing, the data is fetched using Segment tables and Page Tables whereas in 64-bit addressing, it uses Region1-3 Tables, Segment Tables and Page Tables.
Dataspaces and Hiperspaces:
Both are areas in Virtual Storage and are created by the user upon user's request.
The size of these spaces vary from 4KB to 2GB depending upon user's request.
It contains user's data and programs stored as data.
Program code cannot be directly executed in these spaces. A program references data from a Dataspace whereas it cannot access data program or data from a Hiperspace directly.
Paging vs Swapping:
In Swapping, the whole process is transferred from swap device to main memory for execution. So, the process size MUST be less than the available main memory.
In Paging, only parts of the currently active program and moved in(Page-In) and moved out(Page-Out) of Real Storage. This gives the concept of Virtual Storage as well.
No comments:
Post a Comment