在学习Operating System Concepts, 9th Edition,
我陷入了练习#1.6。
1.6以下哪些指示应享有特权?
一个。设定定时器的值。
湾读时钟。
℃。清除记忆。
d。发出陷阱指令。
即关闭中断。
F。修改设备状态表中的条目。
克。从用户切换到内核模式。
小时。访问I / O设备。
答案:
以下操作需要具有特权:设置计时器的值,清除 内存,关闭中断,修改设备状态表中的条目,访问 I / O设备。其余的可以在用户模式下执行。
为什么要"访问I / O设备"是特权指导?
答案 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