汇编网首页登录博客注册
masmaster的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
文章收藏

[2010-09-29 09:46] 全局和局部描述符表

一个任务会涉及多个段,每个段都需要一个描述符来描述。 为了方便组织管理,80386把描述符组织线性表,由描述符组成的线性表称为描述符表。
    在80386中,有三种类型的描述符表:全局描述符表GDT;局部描述符表LDT和中断描述符表IDT。整个系统中,全局描述符表GDT和中断描述符表IDT只有一张,而局部描述符表可以有若干张。
    每个描述符表本身形成一个特殊的数据段。这样的特殊数据段最多可以含有8096个描述符。
    每个任务的局部描述符表LDT含有该任务自己的代码段、数据段和堆栈段的描述符,也包含该任务所使用的一些门描述符。随着任务的切换,系统当前的局部描述符表LDT也随之切换。
    全局描述符表GDT含有每一个任务都可能或可以访问的段的描述符,通常包含描述操作系统所使用的代码段、数据段和堆栈段的描述符,也包含多种特殊数据段描述符,比如各个用于描述任务LDT的特殊数据段。在任务切换时,并不切换GDT。
    通过LDT可以使各个任务私有的各个段与其他任务项隔离,从而达到受保护的目的。通过GDT可以使各个任务都需要使用的段能够被共享。
    一个任务可使用的整个虚拟地址空间分为相等的两半,一半空间的描述符在全局描述符表中,另一半空间的描述符在局部描述符表中。由于全局和局部描述符表都可以包含多达8192个描述符,而每个描述符所描述的段最大可达4G字节,因此,最大的虚拟地址空间可为:4G*8192*2=64T(字节)
评论次数(0)  |  浏览次数(561)  |  类型(汇编语言笔记) |  收藏此文  | 
 
 请输入验证码  (提示:点击验证码输入框,以获取验证码