2012-08-31 52 views

回答

2

直接回答你的问题:

是什么底层硬件的操作系统的权限级别和特权级别的区别?

必须在代码级别(即特权指令)上强制执行的权限必须在硬件中受支持。许多操作系统安全级别(即访问特定硬件设备的权限)不需要硬件支持来验证该特定功能,但它至少需要硬件支持才能阻止代码访问设备。因此,简而言之,操作系统实现特权级别的能力取决于底层硬件,但两者不必相同。

是否所有的系统调用都会导致内核陷阱?为什么系统调用会导致陷阱?是否因为汇编代码中的特权指令(如IN)?

这基本上是正确的。陷印是非特权代码可以转换到特权级别的自然机制。例如,如果一个用户程序需要访问某个硬件,那么IN和OUT是有特权的,所以它必须“陷入”内核,然后内核将执行所需的操作并返回。

+0

所以看起来系统调用是包含调用特权指令的函数的函数。我对吗? – user1284064

+0

@ user1284064几乎所有的系统调用都是通过软件中断来实现的,例如,用特权指令“调用”函数的客户机程序使用INT指令来告诉内核要做什么。 – Dougvj