底层硬件的操作系统权限级别和权限级别有什么区别?是否所有系统调用都会导致内核陷阱?为什么系统调用导致陷阱?是因为在汇编代码中有诸如IN之类的特权指令吗?
答案 0 :(得分:2)
直接回答您的问题:
底层硬件的操作系统权限级别和权限级别有什么区别?
必须在硬件中支持必须在代码级别强制执行的权限(即特权指令)。许多操作系统安全级别(即访问特定硬件设备的权限)不需要硬件支持来验证该特定功能,但它至少要求有硬件支持来阻止代码访问设备。因此,简而言之,操作系统实现权限级别的能力取决于底层硬件,但两者不必相同。
是否所有系统调用都会导致内核陷阱?为什么系统调用导致陷阱?是因为在汇编代码中有诸如IN之类的特权指令吗?
这基本上是正确的。陷阱是非特权代码可以转换到特权级别的自然机制。例如,如果用户程序需要访问某些硬件,则IN和OUT具有特权,因此它必须“陷阱”到内核,然后内核将执行所需的操作并返回。