操作系统如何管理进程

时间:2018-09-12 18:04:34

标签: process permissions operating-system cpu low-level

操作系统如何管理程序权限?如果您是在不使用任何系统调用的情况下编写低级程序而直接控制处理器,那么如果该程序直接控制处理器,操作系统将如何承担责任?

编辑

看来我的问题不是很清楚,我很抱歉,我的英语说得不好,我使用翻译器。无论如何,我想知道的是操作系统如何管理程序的权限(例如root用户等)。如果程序是在不进行系统调用的情况下写到真正的底层程序,那么它可以完全访问处理器吗?如果您想说它可以完成您想做的所有事情,结果,各种用户/权限对操作系统的重要性就不那么重要了。但是,从我收到的第一个答案中,我读到您不能制作没有系统调用就无法运行的有用程序,因此程序不能与硬件直接交互(例如,我的意思是BIOS与硬件交互)?

2 个答案:

答案 0 :(得分:1)

1)不可能有一个不进行任何系统调用的程序。

2)控制处理器操作的指令必须在内核模式下执行。

3)进入内核模式的唯一方法是通过异常(包括系统调用)。通过控制异常的处理方式,操作系统可以防止恶意访问。

  

如果在不进行系统调用的情况下将程序编写为非常底层的程序,那么它可以完全访问处理器吗?

在现代系统上,这是不可能的。不管您是否喜欢,都会在后台进行系统调用。

答案 1 :(得分:1)

取决于操作系统。像MS-DOS这样的东西,几乎不是一个操作系统,并且不会阻止程序接管整个计算机,这实际上使程序可以使用内核特权运行。

任何具有内存保护功能的OS都试图使单独的进程相互避免,内核不允许用户空间进程直接与I / O硬件通信。

可能允许特权用户空间进程将设备的视频RAM和/或I / O寄存器内存映射到其自己的地址空间,并且基本上像设备驱动程序一样工作。 (例如Linux下的X服务器)。