操作系统中有哪些不同的系统调用?


不同的系统调用如下所示:

  • 进程管理系统调用

  • 文件管理系统调用

  • 目录管理系统调用

让我们逐一了解它们。

进程管理系统调用

系统用于创建新进程或称为 fork 的副本进程。副本进程包含文件描述符和通用寄存器中的所有数据。原始进程也称为父进程,副本称为子进程。

fork 调用返回一个值,该值在子进程中为零,而在父进程中等于子进程的 PID(进程标识符)。exit 等系统调用会请求终止进程的服务。程序的加载或使用副本更改原始映像需要执行 exec。Pid 将有助于区分子进程和父进程。

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

  • fork - 用于从父进程创建副本进程。

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

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

  • exit - 终止进程。

文件管理系统调用

使用系统调用 open 打开文件。使用参数指定应打开文件的模式。

参数还包含要打开的文件的名称或要创建的新文件。文件使用 close 系统关闭。每个文件都关联一个指针,该指针指示文件中当前的位置。

在顺序读取或写入时,指向要读取或写入的下一个字节。Lseek 调用更改位置指针的值,以便随后的读取或写入调用可以从文件中的任何位置开始。

Lseek 有三个参数,如下所示:

  • 文件的 文件描述符

  • 文件位置

  • 文件位置相对于文件开头、当前位置或文件结尾。

例如 - 文件管理系统调用

  • open - 用于打开文件以进行读取、写入。

  • close - 关闭已打开的文件。

  • read - 用于将文件中的数据读取到缓冲区中。

  • write - 用于将缓冲区中的数据写入文件。

目录管理系统调用

mkdir 是一个创建空目录的系统调用,而 rmdir 则删除空目录。

link 允许同一个文件在两个或多个名称下出现,通常在不同的目录中,允许同一个编程团队的多个成员共享一个公共文件,并且每个人都可以在自己的目录中看到该文件,可能在不同的名称下。

通过执行 mount 系统调用,USB 文件系统可以附加到根文件系统。mount 调用使得将可移动介质集成到单个集成文件层次结构中成为可能,而无需担心文件位于哪个设备上。

更新于: 2021-11-29

2K+ 阅读量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告