为什么系统调用需要切换到内核模式?

时间:2009-05-04 19:45:51

标签: operating-system system-calls

我正在为我的操作系统最终学习,并想知道是否有人可以告诉我为什么操作系统需要切换到系统调用的内核模式?

2 个答案:

答案 0 :(得分:3)

系统调用专门用于在内核模式下运行操作,因为出于安全原因,不允许通常的用户代码执行此操作。

例如,如果您想分配内存,操作系统有权执行此操作(因为它知道页表并允许访问其他进程的内存),但不应允许您作为用户程序偷看或破坏其他进程的记忆。 这是一种沙盒方式。因此,您发送一个系统调用,请求操作系统分配内存,这种情况发生在内核级别。

编辑:我现在看到Wikipedia article在这个

上非常有用

答案 1 :(得分:1)

由于这是标记为“家庭作业”,我不会只是给出答案,但会提供一个提示:

内核负责访问计算机的硬件并确保应用程序不会相互踩踏。如果没有内核的合作,任何应用程序可以访问硬件设备(比如硬盘驱动器)会发生什么?