- 浏览: 533976 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (231)
- 一个操作系统的实现 (20)
- 汇编(NASM) (12)
- Linux编程 (11)
- 项目管理 (4)
- 计算机网络 (8)
- 设计模式(抽象&封装) (17)
- 数据结构和算法 (32)
- java基础 (6)
- UML细节 (2)
- C/C++ (31)
- Windows (2)
- 乱七八糟 (13)
- MyLaB (6)
- 系统程序员-成长计划 (8)
- POJ部分题目 (10)
- 数学 (6)
- 分布式 & 云计算 (2)
- python (13)
- 面试 (1)
- 链接、装载与库 (11)
- java并行编程 (3)
- 数据库 (0)
- 体系结构 (3)
- C++ template / STL (4)
- Linux环境和脚本 (6)
最新评论
-
chuanwang66:
默默水塘 写道typedef void(*Fun)(void) ...
C++虚函数表(转) -
默默水塘:
typedef void(*Fun)(void);
C++虚函数表(转) -
lishaoqingmn:
写的很好,例子简单明了,将观察者模式都表达了出来。
这里是ja ...
观察者模式——Observer
在实模式下,逻辑地址空间中存储单元的地址由段值和段内偏移两部分组成。在保护模式下,虚拟地址空间(相当于逻辑地址空间)中存储单元的地址由段选择子和段内偏移两部分组成。与实模式相比,段选择子取代了段值。
段选择子长16位。其高13位是描述符索引(Index)。所谓描述符索引是指描述符在描述符表中的序号。段选择子的第2位是引用描述符指示位,标记为TI,TI=0指示从全局描述符表GDT中读取该段的描述符;TI=1指示从局部描述符表LDT中读取该段的描述符。选择子最低两位是请求特权级RPL,用于特权检查。
选择子确定描述符,描述符确定段基地址,段基地址和段内偏移之和就是线性地址。所以,虚拟地址空间中的由段选择子和段内偏移构成的二维虚拟地址,就是这样确定了现行地址空间中的一维线性地址。
例如某个段选择子的值是0030H (0000,0000,0011,0000B),那么:描述符索引Index=6,描述符指示位TI=0(在GDT,而非LDT中),RPL=0,所以它指定全局描述符表中的第6个描述符,请求特权级是0
由于段选择子中的描述符索引字段由13位表示,所以可区分8096个描述符(2^13)。这也就是描述符表最多含有8096个描述符的原因。
由于每个描述符长8个字节,根据段选择格式,屏蔽选择低3位后所得的值就是段选择子所指定的描述符在描述符表中的偏移,这可以认为是安排选择子高13位作为描述符索引的原因。
有一种特殊的选择子称为空选择子(NULL),它的Index=0,TI=0,而RPL任意值。空选择子有特定的用途,当用空选择子进行存储访问时会引起异常。空选择子是特别定义的,它不对应于全局描述符表GDT中的第0个描述符,因此GDT中的第0个描述符总不会被CPU访问,一般把它置全0.但是当TI=1时,Index=0的选择子不是空选择子,它指定了当前任务LDT中的第0个描述符。
**********************************************************************************
举例:第三章、P25代码chapter3/a/pmtest1.asm中:
%include “pm.inc” ... [SECTION .gdt] LABEL_GDT: Descriptor 0, 0, 0 ;空描述符 LABEL_DESC_CODE32: Descriptor 0, SegCode32Len-1, DA_C+DA_32 ;非一致代码段 LABEL_DESC_VIDEO: Descriptor 0B8000h, 0ffffh, DA_DRW ;显存首地址 GdtLen equ $-LABEL_GDT ;Gdt长度 ;GdtPtr等待后面被lgdt [GdtPtr]指令加载 GdtPtr dw GdtLen-1 ;Gdt界限 dd 0 ;Gdt基址 SelectorCode32 equ LABEL_DESC_CODE32 - LABEL_GDT SelectorVideo equ LABEL_DESC_VIDEO - LABEL_GDT
说明:
1、查看宏Descriptor可以发现,这里一个段描述符实际上定义了8个byte的数据
因此,以上两句相当于:
SelectorCode32 equ 0000,0000,0000,1000
SelectorVideo equ 0000,0000,0001,0000
所以,选择子SelectorCode32指示了GDT中的第1个(从下标1开始计)段,特权级为0; 选择子SelectorVideo指示了GDT中的第2个(从下标1开始计)段,特权级为0
2、LABEL_GDT是空描述符,可以对应一个空选择子,但这里没有这么做
**********************************************************************************
发表评论
-
(第三章 8 )特权级——保护模式的特权级检查(DPL,RPL,CPL, 一致代码段,非一致代码段)
2013-03-20 11:14 2317特权级是保护模式下一个重要的概念,CPL,RPL和 ... -
(第6章 1)最简单的进程
2012-10-11 10:56 991第一步——ring0 --> ring1 ... -
(第4章 2)突破512字节的限制
2012-09-15 11:40 2712一、代码 ... -
(第4章 1)软盘结构及其数据读取
2012-09-14 21:59 1899参考资料: http://blog.cs ... -
(第三章 12)中断
2012-09-11 20:20 982一、中断和8259A中断控制器 1. ... -
(第三章 8 )特权级——CPL、DPL、RPL
2012-07-11 10:02 2317很久以后,等我大量翻阅关于“保护模式的特权级检 ... -
(第三章 0)保护模式如何“保护”
2012-03-14 07:59 1051IA32中“保护模式”的“保护”二字理解:(P48) ... -
(第一、二章)nasm的汇编和反汇编
2012-02-27 13:36 4948nasm的汇编和反汇编 步骤: 1. 汇编(bo ... -
(第三章 14)克勤克俭用内存——初始化页目录表、页表,开启分页机制
2011-07-22 11:30 249在启动分页机制SetupPaging之前,先调用了Di ... -
(第三章 13)克勤克俭用内存——查看内存块
2011-07-22 09:25 143[SECTION .data1] ALIGN 32 ... -
(第三章 12)克勤克俭用内存——显示字符串
2011-07-21 16:25 116DispStr调用方法: [SECTION . ... -
(第三章 11)根据自己内存情况 使用分页机制
2011-06-11 15:51 1427一、查看内存分布情况 设置“页目录表”和“页 ... -
参考博客-还有哪些人也在看这本书
2011-06-10 22:46 1328这位很详细: http://www.cnblogs.com/ ... -
(第三章 10)“代码段间跳转” 和 “访问数据段”
2011-06-10 15:40 1340下面说明代码段和数据段的访问: 一、代码段间跳转 ... -
(第三章 9)通过调用门进行有特权级变换的转移(二)
2011-06-08 11:29 191本文展示《(第三章 9)通过调用门进行有特权级变换的转移(一) ... -
(第三章 9)“调用门” 和 “利用调用门在高低特权级的转移”
2011-06-08 10:34 2635在此之前,先要熟悉汇编指令“长/短jmp”、“长/短c ... -
(第三章 7)LDT
2011-06-06 09:49 1477先展示一下效果图: 直接看代码: ... -
(第三章 6)保护模式下,读写大地址内存 & 从32位保护模式跳回16位实模式(二)
2011-06-06 09:15 1448三、关于保护模式和实 ... -
(第三章 5)保护模式下,读写大地址内存 & 从32位保护模式跳回16位实模式(一)
2011-06-05 13:53 2017一、主要功能 ... -
(第三章 3)数据段/代码段描述符
2011-06-05 11:53 2189一、宏定义和属性常量 (代码段/数据段描述符见P32;门描述 ...
相关推荐
《电子测量技术基础》(张永瑞第三版)第2章测量误差和测量误差处理.pdf 内容为PPT课件
数字信号处理 丁玉美 西安电子科技大学 课件 第三章 第3章 离散傅里叶变换(DFT)
适合西安电子科技大学科技英语的学习,第三章
第3章偶极子天线,第3章偶极子天线课件,第3章偶极子天线PPT
国际贸易第3章第2节电子演示文稿.ppt
数据库系统教程(第3版)电子教案(第7章-第12章)
电子测量技术基础(第二版)(张永瑞)(7-10章课件)
《电子测量技术基础》(张永瑞第三版)第9章噪声测量.pdf 内容为PPT课件
电力电子电路分析 第三章整流电路分析 电力电子电路分析 第三章整流电路分析
C++面向对象程序设计第三章 数据存储与流程控制的 电子课件 ,欢迎下载
外国文学史第3章第2节电子教案 本节是文艺复兴文学概述,了解各国文艺复兴文学的发展简况,主要代表作家和作品,掌握人文主义文学的思想内容和艺术特征。悲喜混杂剧和流浪汉小说是文艺复兴的创造,七星诗社和大学...
jQuery 3.1 标准课程第二章 选择器子元素选择器(三)
编译原理电子教案第3章,Adode Acrobat Reader阅读,采用国防科大陈火旺程序设计语言编译原理第3版作为教材
编译原理电子课件 第三章 有穷自动机.ppt 编译原理电子课件 第九章 运行时的存储组织与管理.ppt 编译原理电子课件 第二章 形式语言概论.ppt 编译原理电子课件 第五章 自上而下语法分析.ppt 编译原理电子课件 第八章 ...
(完整版)图论及其应用1-3章习题答案(电子科大).pdf
第三章 晶体中的电子状态.pdf
信息存储与检索\第三章\3 超星电子图书.ppt
第3章常用电工电子测量仪器、仪表,第3章常用电工电子测量仪器、仪表课件,第3章常用电工电子测量仪器、仪表PPT
《电子测量技术基础》(张永瑞第三版)第3章信号发生器.pdf 内容为PPT课件
现代通信原理(第三版)[宋祖顺][电子教案]第2章 随机信号分析(09年)