AT&T 3B2/300 Technical Reference Manual page 575

Table of Contents

Advertisement

Appendix A: VIRTUAL ADDRESS SPACE
Swapping Virtual Address Space
Translation of virtual memory addresses to physical memory addresses is done by the WE 32101
Memory Management Unit (MMU). The WE 32101 MMU divides the virtual address space into four
address subspaces called
sections.
Each
section
is 1 gigabyte in length. Each section is divided into 128
kilobyte segments. The MMU provides for both contiguous and paged segments. A contiguous seg-
ment can be as large as 128 kilobytes. A paged segment can contain up to sixty-four 2-kilobyte pages.
Three virtual address sections are assigned as user address space and one virtual address section is
assigned as system address space. The system address space is common for all processes and is not
changed in a context switch. The operating system is located in the system address space. Therefore,
all operating system functions are shared by all processes and are available to all user processes.
The user address space is separate for each process. However, several processes can access the
same memory pages (controlled sharing). The layout of the user address space is shown in Figure A-1.
The program text begins at address Ox AOOOOOOO and is write protected. Nonshared, writable data
begins at the first segment after the program text. The size of the data segment is extendible by a sys-
tem call. The stack begins at address Ox C0020000 and is grown automatically by the operating system
when the process runs out of stack space. The segment in the user address space at address
Ox COOOOOOO is reserved for storing operating system related information about user processes
(u_block).
A process executing in the user mode has access only to sections 1, 2, and 3 of the virtual address
space. When the operating system is running in the kernel mode for a user process, the process has
access to both the user and kernel address spaces. Figures A-2 through A-5 show the layout of sec-
tions O through 3 of the virtual address space.
SYSTEM VIRTUAL ADDRESS SPACE
SECTION
ADDRESS
DESCRIPTION
0
Ox 00000000-0x 3FFFFFFF
KERNEL INPUT/OUTPUT AND SYSTEM BOARD
I
Ox 40000000-0x 7FFFFFFF
KERNEL TEXT AND DAT A
2
Ox 80000000-0x BFFFFFFF
PROCESS TEXT AND DATA
3
Ox COOOOOOO-Ox FFFFFFFF
PROCESS U_BLOCK AND STACK
Figure A-1:
Virtual Address Space Sections
VIRTUAL ADDRESS SPACE
A-1

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents