微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

每个进程如何拥有自己的一组寄存器?

如何解决每个进程如何拥有自己的一组寄存器?

我读过:

I/O Instructions can run when CPL <= IOPL

但是 IOPL 是否在不同进程之间共享?我读到每个进程/线程都有自己的一组寄存器,所以如果每个进程/线程都有自己的 IOPL 版本,那么上面的引用就没有意义。

解决方法

是的,每个进程都有自己的 IOPL:

来自https://pdos.csail.mit.edu/6.828/2008/readings/i386/s08_03.htm

因为每个任务都有自己独特的标志寄存器副本,所以每个任务可以有不同的 IOPL。主要功能是执行 I/O 的任务(设备驱动程序)可以从 IOPL 为 3 中受益,从而允许任务的所有过程执行 I/O。其他任务通常将 IOPL 设置为 0 或 1,从而保留为最有特权的过程执行 I/O 指令的权利。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。