为什么要#34;访问I / O设备"是特权指导?

时间:2014-03-13 11:49:55

标签: operating-system

在学习Operating System Concepts, 9th Edition,

我陷入了练习#1.6。

1.6以下哪些指示应享有特权?

一个。设定定时器的值。

湾读时钟。

℃。清除记忆。

d。发出陷阱指令。

即关闭中断。

F。修改设备状态表中的条目。

克。从用户切换到内核模式。

小时。访问I / O设备。

答案:

以下操作需要具有特权:设置计时器的值,清除 内存,关闭中断,修改设备状态表中的条目,访问 I / O设备。其余的可以在用户模式下执行。

为什么要"访问I / O设备"是特权指导?

4 个答案:

答案 0 :(得分:2)

现代操作系统提供最少两种操作模式:用户模式和监控模式。这可以通过一些硬件支持(例如硬件中的特殊模式位来指示两种可能的模式之一)。特权指令(在恶意进程执行时可能会损害系统)只能在监控模式下执行。 I / O指令属于此类别,并委托给OS。这些只能使用系统调用来调用。每当用户进程需要任何I / O操作时,它就会调用适当的系统调用。每当执行系统调用时,它首先将模式位设置为0(监控模式),然后执行调用。在退出I / O系统调用之前,它将该位设置为1(用户模式)并将控制权转移回用户进程。这个想法不是为任何用户进程提供监督控制。

如果I / O指令委托给用户,他们可能会滥用它们(例如,重写FAT条目或破坏重要的磁盘数据)。现在,I / O指令具有特权,因此操作系统可以在执行I / O之前检查您是否有权执行该I / O操作。

答案 1 :(得分:1)

读取/写入设备会干扰其他进程(在键入密码时,请考虑从键盘读取一些流氓进程...)。

答案 2 :(得分:0)

磁盘读/写操作全部由I / O指令执行;如果没有特权,用户程序就可以写入磁盘,从而破坏所有磁盘驻留操作系统,其他应用程序等。

答案 3 :(得分:0)

<块引用>

在某些系统中,这种想法被推向了极端,传统上被认为是操作系统的部分(例如文件系统)在用户空间中运行。在这样的系统中,很难划出清晰的界限。

现代操作系统第 4 版--Andrew Tanenbaum