beautypg.com

Intel IA-32 User Manual

Page 84

background image

3-4 Vol. 3A

PROTECTED-MODE MEMORY MANAGEMENT

More complexity can be added to this protected flat model to provide more protection. For
example, for the paging mechanism to provide isolation between user and supervisor code and
data, four segments need to be defined: code and data segments at privilege level 3 for the user,
and code and data segments at privilege level 0 for the supervisor. Usually these segments all
overlay each other and start at address 0 in the linear address space. This flat segmentation
model along with a simple paging structure can protect the operating system from applications,
and by adding a separate paging structure for each task or process, it can also protect applica-
tions from each other. Similar designs are used by several popular multitasking operating
systems.

Figure 3-2. Flat Model

Figure 3-3. Protected Flat Model

Linear Address Space

(or Physical Memory)

Data and

FFFFFFFFH

Segment

Limit

Access

Base Address

Registers

CS

SS

DS

ES

FS

GS

Code

0

Code- and Data-Segment

Descriptors

Stack

Not Present

Linear Address Space

(or Physical Memory)

Data and

FFFFFFFFH

Segment

Limit

Access

Base Address

Registers

CS

ES

SS

DS

FS

GS

Code

0

Segment

Descriptors

Limit

Access

Base Address

Memory I/O

Stack

Not Present