IA-32 Intel手册学习笔记(一)系统架构概述

本文详细介绍了IA-32架构中的系统级操作,包括全局和局部描述符表、任务状态段、中断处理、内存管理和控制寄存器等。在保护模式下,内存访问通过全局和局部描述符表完成,段选择符指向段描述符,结合段基地址和偏移量实现寻址。任务状态段(TSS)和任务门用于任务切换,中断和异常处理通过中断描述符表(IDT)进行。内存管理支持物理和虚拟内存,控制寄存器如CR0、CR3等则影响处理器运行模式和特性。
摘要由CSDN通过智能技术生成

IA-32系统级架构是由寄存器、数据结构、指令组成。用来支持系统级别的操作,比如内存管理,终端和异常处理,任务管理和多处理器控制等。可以看出架构的这些部分和操作系统联系非常紧密,自然而然为操作系统提供了广泛的支持。

下图提供了对IA-32中32位系统寄存器和数据结构的整体概述
这里写图片描述

全局和局部描述符表(Global and Local Descriptor Tables)

传统的实地址模式下的汇编中,利用CS:IP来访问内存,CS左移四位加IP获得物理地址,但是通常不需要关心基地址,只需要偏移地址即可访问内存,因为实地址模式的基地址通常是固定的。但是在保护模式下,为了达到保护内存的目的,就需要让不同程序有不同的基地址(基地址如果固定,那么很容易就被他人直到程序的运行位置,很不安全)。

所以,在保护模式下,内存是一段一段分配的,分配的那一段内存头地址就是基地址,也称段地址。同时,操作系统也需要记录分配出去的每一段内存,实际上,每段内存都使用一个8字节的段描述符记录着,所有的这些段描述符被放在一块连续内存空间中存储着,称为描述符表。

当系统在保护模式下运行时,所有的内存操作都需要通过全局描述符表(GDT)局部描述符表(LDT)来完成。这两个描述符表有好多好多段描述符(segment descriptors),段描述符提供了若干信息,包括

  • 段的基地址
  • 访问权限
  • 类型
  • 用法

每个段描述符都有和它相关联的段选择符(segment selector),段选择符提供了如下信息

  • 索引,提供段描述符在全局/局部描述符表中的偏移量(下标)
  • 全局/局部的标识符,用来标识这个选择符是指向GDT还是LDT
  • 访问权限信息

总结,全局/局部描述符表相当于一个数组&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值