什么是进程管理系统调用?


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

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

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

系统调用的类型

不同的系统调用如下:

  • 进程管理系统调用

  • 文件管理系统调用

  • 目录管理系统调用

现在让我们讨论进程管理系统调用。

进程管理系统调用

系统用于创建新进程或称为 fork 的重复进程。

重复进程包含文件描述符和公共寄存器中的所有数据。原始进程也称为父进程,重复进程称为子进程。

fork 调用返回一个值,该值在子进程中为零,在父进程中等于子进程的 PID(进程标识符)。像 exit 这样的系统调用将请求终止进程的服务。

加载程序或使用副本更改原始映像需要执行 exec。Pid 将有助于区分子进程和父进程。

示例

Linux 中的进程管理系统调用。

  • fork − 用于从父进程创建重复进程。

  • wait − 进程应该等待其他进程完成其工作。

  • exec − 将选定的程序加载到内存中。

  • exit − 终止进程。

进程管理系统调用的图形表示如下:

fork() − 父进程始终使用 fork 创建新的子进程。子进程通常被称为父进程的副本。fork 执行后,父进程和子进程都在单独的进程中执行相同的程序。

exec() − 此函数用于替换进程执行的程序。子进程有时可能在 fork 后使用 exec,以用新的程序可执行文件替换进程内存空间,从而使子进程执行与父进程不同的程序。

exit() − 此函数用于终止进程。

wait() − 父进程使用 wait 函数暂停执行,直到子进程终止。使用 wait,父进程可以获得已终止子进程的退出状态。

更新于:2021年11月29日

17K+ 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.