浅谈一致码段,非一致码段
“一致”的意思是这样的,当转移目标是一个特权级更高的一致代码段,当前的特权级会被延续下去,而向特权级更高的非一致代码段转移会引起常规保护错误,除非使用调用门或者任务门。
如果系统代码不访问受保护的资源和某些类型的异常处理,它可以放在一致代码段中。
为避免低特权级的程序访问而被保护起来的系统代码则应放到非一致代码段中。
要注意的是,如果目标代码的特权级低的话,无论它是不是一致代码段,都不能通过call或者jmp转移进去,尝试这样的转移会导致常规保护错误。
所有的数据段都是非一致的,这意味着不可能被低特权级的代码访问到。然而,与代码段不同的是,数据段可以被更高特权级的代码访问到,而不需要使用特定的门,
记住这么多应该够用了吧