多任务
调用门权级规则
合法调用门g1定义: 门g1.DPL 贱于或等于 门g1.目标段.DPL
若 代码段p1.CPL 优于或等于 门g1.DPL
则 p1 正常 call g1
TSS
权级规则
权级规则4. p代码段CPL d数据段DPL: 判定p访问d
若 p代码段CPL <= d数据段DPL, 则p能访问d
即
若 p代码段 级别 优于或等于 d数据段 级别, 则p能访问d
级别:0最优、1次优、2中良、3不优
a<b 称为 a优于b 或 a比b优
a>b 称为 a贱于b 或 a比b贱
缩写:: p:program, d:data
权级规则1. p1代码段CPL p2代码段DPL: 判定jmp p2
若 p1代码段CPL <= p2代码段DPL 即 p1优于或等于p2,
则p1中的jmp p2能执行
权级规则2. p1代码段CPL P2代码段DPL依从于主调者: 判定p1 jmp p2
若 p1代码段CPL >= p2代码段DPL (即p1贱于或等于p2)且 p2依从调用者p1 (即p2描述符.TYPE.C==1) ,
则p1中的jmp p2能执行 且p1 jmp进p2后 CPLp2==(此即依从于)CPLp1
权级规则3. p1代码段、调用门p2: p1 jmp进p2后 CPLp2==CPLp1
若有 代码段p1、门p2 ,
则p1中jmp p2 能执行 且 p1 jmp进p2后 CPLp2==CPLp1 (即门p2是依从于调用者p1的)
权级规则总结
权级规则1(目标为 不依从主调者的代码段)
权级规则2(目标为 依从主调者的代码段)
权级规则3(过门:TODO)
权级规则4(目标为 等或更贱数据段)
权级规则5(目标为 等贱栈段)
权级规则6(各部件都最优时, 无规则)