当前位置: 首页 > article >正文

【英特尔IA-32架构软件开发者开发手册第3卷:系统编程指南】2001年版翻译,2-3

文件下载与邀请翻译者

学习英特尔开发手册,最好手里这个手册文件。原版是PDF文件。点击下方链接了解下载方法。

讲解下载英特尔开发手册的文章

翻译英特尔开发手册,会是一件耗时费力的工作。如果有愿意和我一起来做这件事的,那么,欢迎你的加入。

另外,我不仅仅是打算翻译这一种手册,以后,可能还需要去翻译许多的英文技术文档,以支持系统底层的教学,培养系统底层程序员。

我有钱了以后,应该是会出私钱来请人翻译一批英文技术文档。当前,暂时没钱,若是有志愿加入的,欢迎啊。

本节翻译

【原文】2.1.2. System Segments, Segment Descriptors, and Gates
Besides the code, data, and stack segments that make up the execution environment of a program or procedure, the system architecture also defines two system segments: the task-state Segment (TSS) and the LDT. (The GDT is not considered a segment because it is not accessed by means of a segment selector and segment descriptor.) Each of these segment types has a Segment descriptor defined for it.
The system architecture also defines a set of special descriptors called gates (the call gate, interrupt gate, trap gate, and task gate) that provide protected gateways to system procedures and handlers that operate at different privilege levels than application programs and procedures. For example, a CALL to a call gate provides access to a procedure in a code segment that is at the same or numerically lower privilege level (more privileged) than the current code segment. To access a procedure through a call gate, the calling
procedure†  must supply the selector of the call gate. The processor than performs an access rights check on the call gate, comparing the CPL with the privilege level of the call gate and the destination code segment pointed to by the call gate. If access to the destination code segment is allowed, the processor gets the Segment selector for the destination code segment and an offset into that code segment from the call gate. If the call requires a change in privilege level, the processor also switches to the stack for that privilege level. (The segment selector for the new stack is obtained from the TSS for the currently running task.) Gates also facilitate transitions between 16-bit and 32-bit code segments, and vice versa.

【原文中,对红字单词的注释】† The word “procedure” is commonly used in this document as a general term for a logical unit or block of code (such as a program, procedure, function, or routine). The term is not restricted to the definition of a procedure in the IA-32 architecture assembly language.

【翻译】2.1.2.   系统段、段描述符和门
除了构成程序或过程执行环境的代码、数据和堆栈段之外,系统体系结构还定义了两个系统段:任务状态段(TSS)和LDT。(GDT不被认为是段,因为它不是通过段选择器和段描述符来访问的。)这些段类型中的每一个都有一个为它定义的段描述符。
系统体系结构还定义了一组称为门的特殊描述符(调用门、中断门、陷阱门和任务门),它们为在不同于应用程序和过程的特权级别上操作的系统过程和处理程序提供受保护的网关。例如,以调用门为目标的【CALL】 指令提供了对代码段中的过程的访问,该代码段与当前代码段具有【数值上相同或更低】的特权级别(更高的特权级别)。要通过调用门访问一个过程,调用过程必须提供调用门的选择器。处理器然后对调用门执行访问权限检查,将CPL与调用门的特权级别和调用门指向的目标代码段的特权级别进行比较。如果允许访问目标代码段,处理器将获得目标代码段的段选择器,并且从调用门获得该代码段的偏移量。如果本次调用需要更改特权级别,处理器也会切换到该特权级别的堆栈。(新堆栈的段选择器是从当前运行任务的TSS中获得的。)门还促进了16位和32位代码段之间的转换,反之亦然。

【对注释的翻译】†在本文档中,“过程”一词通常用作逻辑单元或代码块(如程序、过程、函数或例程)的总称。这个术语并不局限于IA-32体系结构汇编语言中的过程定义。


http://www.kler.cn/news/363689.html

相关文章:

  • Vue弹窗用也可以直接调用Js方法了
  • 保姆级教程来喽!从下载开始的Luatools~小白必看!
  • 富格林:可信操作助力有效追损
  • 自由学习记录(12)
  • 前端技巧第一期
  • React与TypeScript
  • 洛谷 P1186 玛丽卡(最短路,并查集,线段树)
  • 【LeetCode】修炼之路-0006-Zigzag Conversion (Z 字形变换)【python】
  • Python编程指南
  • Oracle T5-2 ILOM配置
  • TH-OCR:强大的光学字符识别工具与车牌识别应用
  • 【大模型实战篇】大模型分词算法BPE(Byte-Pair Encoding tokenization)及代码示例
  • WPF的UpdateSourceTrigger属性
  • 90V转5V4A同步降压芯片WT6037
  • vue前端接包(axios)+ 前端导出excel(xlsx-js-style)
  • 植物端粒到端粒(T2T)基因组研究进展与展望
  • Android 图片相识度比较(pHash)
  • linux-牛刀小试
  • NAND FLASH 与 SPI FLASH
  • Python基于OpenCV的实时疲劳检测
  • AI网关对企业的意义及如何构建 AI 网关
  • [Windows] 很火的开源桌面美化工具 Seelen UI v2.0.2
  • Github 2024-10-18Java开源项目日报Top9
  • 使用 SSH 连接 GitLab 的常见问题及解决方案
  • 摄像机实时接入分析平台LiteAlServer视频智能分析软件抽烟检测算法的应用场景
  • a标签点击页面跳转是-403,回车后正常了