【译】x86程序员手册13-第5章 内存管理

Chapter 5 Memory Management 内存管理

The 80386 transforms logical addresses (i.e., addresses as viewed by programmers) into physical address (i.e., actual addresses in physical memory) in two steps:

80386通过两步将一个逻辑地址(程序所引用的地址)转移为物理地址(实际的物理内存地址)。

  • Segment translation, in which a logical address (consisting of a segment selector and segment offset) are converted to a linear address.

段转换器,将一个逻辑地址(由段选择子和段偏移组成)被转换成线性地址。

  • Page translation, in which a linear address is converted to a physical address. This step is optional, at the discretion of systems-software designers.

页转换器,将一个线性地址转换为物理地址。这一步是可选的,设系统软件的设计者而定。

These translations are performed in a way that is not visible to applications programmers. Figure 5-1 illustrates the two translations at a high level of abstraction.

在某种程度上,这些转换对于应用程序是不可见的。图5-1解释了两种转换在高层次上的抽象。

Figure 5-1 and the remainder of this chapter present a simplified view of the 80386 addressing mechanism. In reality, the addressing mechanism also includes memory protection features. For the sake of simplicity, however, the subject of protection is taken up in another chapter, Chapter 6.

图5-1和本章剩余部分展示了80386寻址一个简化的视图。实际上,寻址机制也包括内存保护特性。简化起见,保护方面的主题放在另一章,第16章。

时间: 2024-12-21 22:07:10

【译】x86程序员手册13-第5章 内存管理的相关文章

【译】x86程序员手册16-5.3联合使用段与分页转换

5.3 Combining Segment and Page Translation  联合使用段与分页转换 Figure 5-12 combines Figure 5-2 and Figure 5-9 to summarize both phases of the transformation from a logical address to a physical address when paging is enabled. By appropriate choice of options

黑马程序员--Objective-C之--OC中的内存管理

对于面向对象的变成语言,程序需要不断地创建对象. 初始,创建的所有程序通常都有指针指向它,程序可能需要访问这些对象的实例变量或调用这些对象的方法,随着程序的不断执行,程序再次创建了一些新的对象, 而那些老的对象已经不会再被调用,也不再有指针指向他们,如果程序没有回收他们占用的内存,就会出现内存泄露. 如果程序一直泄露内存,那么可用内存就会越来越少,直到没有足够的内存,程序將会崩溃.目前,主要有两种管理内存的技术,一是引用计数,二是垃圾回收. iOS平台目前只支持引用计数,Mac平台支持垃圾回收.

【译】x86程序员手册25-7.1任务状态段

7.1 Task State Segment 任务状态段 All the information the processor needs in order to manage a task is stored in a special type of segment, a task state segment (TSS). Figure 7-1 shows the format of a TSS for executing 80386 tasks. (Another format is used

【译】x86程序员手册26-7.5任务切换

7.5 Task Switching 任务切换 The 80386 switches execution to another task in any of four cases: 80386在以下四种情况下会切换另一个任务去执行: The current task executes a JMP or CALL that refers to a TSS descriptor. 当前任务执行了一个引用了TSS描述符的JMP或CALL. The current task executes a JMP

【译】x86程序员手册29-第8章 输入输出

Chapter 8 Input/Output 输入/输出 This chapter presents the I/O features of the 80386 from the following perspectives: 本章从以下方面来介绍80386的I/O特性: Methods of addressing I/O ports I/O端口的寻址方式 Instructions that cause I/O operations 引起IO操作的指令 Protection as it appl

【译】x86程序员手册30-8.2 I/O指令

8.2 I/O Instructions I/O指令 The I/O instructions of the 80386 provide access to the processor's I/O ports for the transfer of data to and from peripheral devices. These instructions have as one operand the address of a port in the I/O address space. T

【译】x86程序员手册18-6.3.1描述符保存保护参数

6.3 Segment-Level Protection 段级保护 All five aspects of protection apply to segment translation: 段转换时会提供以下5个方面的保护: Type checking 类型检验 Limit checking 限长检验 Restriction of addressable domain 可寻址域的限定 Restriction of procedure entry points 程序入口点的限定 Restricti

【译】x86程序员手册19-6.3.2数据访问的约束

6.3.2 Restricting Access to Data  数据访问的约束 To address operands in memory, an 80386 program must load the selector of a data segment into a data-segment register (DS, ES, FS, GS, SS). The processor automatically evaluates access to a data segment by co

【译】x86程序员手册12-4.2系统指令

4.2 Systems Instructions 系统指令 Systems instructions deal with such functions as: 系统指令具有以下功能: Verification of pointer parameters (refer to Chapter 6): 验证指印参数(参见第6章) ARPL> -- Adjust RPL RPL= request provilege level LAR -- Load Access Rights LSL -- Load