X86 使用分页时,DPL和RPL是否重要?

X86 使用分页时,DPL和RPL是否重要?,x86,operating-system,memory-segmentation,X86,Operating System,Memory Segmentation,我可能错了,但根据我读到的内容,除了CPL之外,DPL和RPL还用于防止或允许进程在使用内存分段时访问某些内存区域 但现代操作系统(例如Linux)不使用内存分段,而是使用分页,进程的页表允许您指定某些内存区域只能在CPU处于内核模式时访问(CPU处于用户模式还是内核模式仅由CPL确定) 在使用分页时,DPL和RPL不重要,只有CPL才重要,这一点我说得对吗?这是分段配置的问题。当分段和页面翻译访问检查都通过时(按该顺序),将授予内存访问权限 诚然,如今的分段很少用于它设计的内容,当启用页面翻译

我可能错了,但根据我读到的内容,除了CPL之外,DPL和RPL还用于防止或允许进程在使用内存分段时访问某些内存区域

但现代操作系统(例如Linux)不使用内存分段,而是使用分页,进程的页表允许您指定某些内存区域只能在CPU处于内核模式时访问(CPU处于用户模式还是内核模式仅由CPL确定)


在使用分页时,DPL和RPL不重要,只有CPL才重要,这一点我说得对吗?

这是分段配置的问题。当分段和页面翻译访问检查都通过时(按该顺序),将授予内存访问权限

诚然,如今的分段很少用于它设计的内容,当启用页面翻译时,分段在某种程度上不存在也不是真的。只是页面翻译的效果要好得多,所以片段的设置方式就是让它们不碍事

x86段有几个关键问题:

  • 编译器需要支持远指针,这很混乱(在16位保护模式下更混乱,段需要由应用程序和操作系统管理)
  • 它们不能具有具有不同属性的孔或子区域,许多分段不仅在管理上存在问题,而且在拥有上也存在问题(GDT和LDT分别为最多8191个分段描述符提供空间)

这是一个细分配置的问题。当分段和页面翻译访问检查都通过时(按该顺序),将授予内存访问权限

诚然,如今的分段很少用于它设计的内容,当启用页面翻译时,分段在某种程度上不存在也不是真的。只是页面翻译的效果要好得多,所以片段的设置方式就是让它们不碍事

x86段有几个关键问题:

  • 编译器需要支持远指针,这很混乱(在16位保护模式下更混乱,段需要由应用程序和操作系统管理)
  • 它们不能具有具有不同属性的孔或子区域,许多分段不仅在管理上存在问题,而且在拥有上也存在问题(GDT和LDT分别为最多8191个分段描述符提供空间)

你说的“存在”,是指“不存在”?汤姆正确,修正了。你说的“存在”,是指“不存在”?汤姆正确,修正了。