什么是系统调用?


系统调用提供了用户程序和操作系统之间的接口。它表示如下:

当用户想要向操作系统发出指令时,它将通过系统调用来实现。或者,用户程序可以通过系统调用访问操作系统的内核部分。

它是一种程序化方式,计算机程序通过它向操作系统内核请求服务。

程序以两种模式执行,如下所示:

  • 用户模式 - 无法访问任何硬件资源,只能执行用户操作。

  • 内核模式 - 可以访问硬件资源,例如 RAM、打印机。

计算机中的处理器根据处理器上运行的代码类型在两种模式之间切换。

在用户模式下运行的进程无法访问为操作系统保留的虚拟地址。当操作系统运行用户应用程序(例如处理文本编辑器)时,系统处于用户模式。

当应用程序请求操作系统的帮助或发生中断或系统调用时,就会发生从用户模式到内核模式的转换。在用户模式下,模式位设置为 1。当程序需要任何硬件资源时,它需要向内核发出调用。

通过系统调用,程序将切换到内核。它将与内核模式下的硬件资源一起发生。在编译硬件资源的工作完成后,它将再次返回到用户模式。只有当它需要硬件时,它才会进入内核模式。

出于安全原因,用户应用程序无法访问硬件资源,当它们需要执行任何 I/O 或需要一些内存时,它会请求操作系统中的一个。此请求是通过系统调用发出的。

更新于:2021年11月29日

1K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告