[转载]使用 task gate 进行任务切换
2015-01-29 17:44
218 查看
指令:
call 0x20:00000000 jmp 0x20:00000000
-----------------------------------
selector 0x20 是个 task gate 的 selector
这里使用 task gate 任务切换与使用 TSS selector 的情形基本一样。
值得注意的是,使用 task gate 在权限的 check 方面与 call gate 不同的是:
(1)call-gate 的权限 check 中:CPL <= DPLg && RPL <= DPLg 并且 CPL >= DPLs(或 CPL == DPLs)
(2)task-gate 的权限 check 中:CPL <= DPLg && RPL <= DPLg,忽略和 DPLs 的校验。
task-gate 的权限 check:
CPL <= DPLg && RPL <= DPLg
call 0x20:00000000 jmp 0x20:00000000
-----------------------------------
selector 0x20 是个 task gate 的 selector
这里使用 task gate 任务切换与使用 TSS selector 的情形基本一样。
值得注意的是,使用 task gate 在权限的 check 方面与 call gate 不同的是:
(1)call-gate 的权限 check 中:CPL <= DPLg && RPL <= DPLg 并且 CPL >= DPLs(或 CPL == DPLs)
(2)task-gate 的权限 check 中:CPL <= DPLg && RPL <= DPLg,忽略和 DPLs 的校验。
task-gate 的权限 check:
CPL <= DPLg && RPL <= DPLg
相关文章推荐
- 使用 task gate 进行任务切换
- 使用Ant进行项目构建之一:环境搭建 (转载)
- 使用PowerDesigner进行代码生成(转载)
- 转载:使用思维导图来进行超强记忆的12项原则
- 使用BackgroundWorker组件进行异步操作编程(转载)
- 转载 使用ActiveReport for .net 进行报表开发
- [转载] 在Eclipse中使用SWT进行界面设计
- 转载:SQL through PowerShell 使用Powershell访问SQL并对数据进行读写增加删除操作
- (转载)在Eclipse中使用JUnit4进行单元测试(中级篇)
- (转载)在Eclipse中使用JUnit4进行单元测试(初级篇)
- [转载]使用BackgroundWorker组件进行异步操作编程
- [转载] 使用CPU时间戳进行高精度计时
- 使用VFS进行SFTP网络传输----转载
- 使用NUnit在.Net编程中进行单元测试【转载】
- 使用NUnit在.Net编程中进行单元测试(转载)
- 使用 JSF 架构进行设计(转载)
- 【转载】使用sql-server进行分布式查询
- 使用JavaBean进行数据库的连接(转载)
- [转载]使用NUnit在.Net编程中进行单元测试
- 在使用ASP.NET时进行页面重定向的3种方法 转载