Pentium快速系统调用学习

Posted bcbobo21cn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Pentium快速系统调用学习相关的知识,希望对你有一定的参考价值。

快速系统调用
    系统调用是通过软中断指令来实现的。在x86保护模式中,处理INT软中断指令时,CPU首先从中断描述表IDT取出对应的门描述符,判断门描述符的种类,然后检查门描述符的级别DPL和INT指令调用者的级别CPL,当CPL小于等于DPL,也就是说INT调用者级别高于描述符指定级别时,才能成功调用,最后再根据描述符的内容,进行压栈、跳转和权限级别提升。内核代码执行完毕之后,调用IRET指令返回,IRET指令恢复用户栈,并跳转回低级别的代码。这一系列权限检查要消耗不少的CPU周期。
    Intel在Pentium II 处理器中引入了一对新的指令SYSENTER/SYSEXIT,用于实现快速系统调用。SYSENTER用于进入内核态,SYSEXIT用于从内核态返回。这两条指令避免了权限检查,直接将处理器置为预定义的运行级别。同时通过将系统调用所需的执行环境信息保存在一组型号相关的寄存器(MSR)中,避免了访问内存,进一步提高进入内核态的速度。

以上是关于Pentium快速系统调用学习的主要内容,如果未能解决你的问题,请参考以下文章

电脑反应太慢了 xp系统 Pentium(R) Dual-Core CPU E5400 @2.70GHz 。 2.72GHz,1.99 GB 的内存

# 2017-2018-1 20155319 《信息安全系统设计基础》第14周学习总结

Dubbo -- 系统学习 笔记 -- 快速启动

学习:脱壳之VB程序快速寻找OEP

Pentium II paging mechanism

基于 Sandy Bridge 的 Pentium 的正确架构特定选项 (-m) 是啥?