Related System Calls (System V)

优质
小牛编辑
124浏览
2023-12-01

下表列出了各种系统调用及其说明。

类别系统调用描述
General打开()此系统调用将打开现有文件或创建并打开新文件。
Generalcreat()创建并打开一个新文件。
General读()将文件的内容读入所需的缓冲区。
General写()将缓冲区的内容写入文件。
General关 ()关闭文件描述符。
Generalstat()提供有关该文件的信息。
Pipes管()创建用于通信的管道,该管道返回两个用于读写的文件描述符。
命名管道或Fifomknod()创建内存设备文件或特殊文件以创建FIFO
命名管道或Fifomkfifo()创建一个新的FIFO
共享内存shmget()创建新的共享内存段或获取现有段的标识符。
共享内存shmat()附加共享内存段并使该段成为调用进程的虚拟内存的一部分。
共享内存shmdt()分离共享内存段。
共享内存shmctl()执行共享内存的控制操作。 共享存储器的通用控制操作中很少是移除共享存储器段(IPC_RMID),接收共享存储器(IPC_STAT)的信息并更新现有共享存储器(IPC_SET)的新值。
消息队列msgget()创建新的消息队列或访问已存在的消息队列,并获取句柄或标识符以执行有关消息队列的操作,例如将消息发送到队列以及从队列接收消息。
消息队列msgsnd()使用所需的标识号将消息发送到所需的消息队列。
消息队列msgrcv()从消息队列接收消息。 默认情况下,这是无限等待操作,意味着在收到消息之前,呼叫将被阻止。
消息队列msgctl()执行消息队列的控制操作。 消息队列的通用控制操作很少是删除消息队列(IPC_RMID),接收消息队列(IPC_STAT)的信息并更新现有消息队列(IPC_SET)的新值。
Semaphoressemget()创建新的信号量或获取现有信号量的标识符。 信号量用于在处理同一对象的各种IPC之间执行同步。
Semaphoressemop()对信号量值执行信号量操作。 基本信号量操作是获取或释放信号量上的锁。
Semaphoressemctl()执行信号量的控制操作。 信号量的通用控制操作很少是移除信号量(IPC_RMID),接收信号量(IPC_STAT)的信息并更新现有信号量(IPC_SET)的新值。
Signals信号()设置信号(信号编号)和信号处理程序的配置。 换句话说,注册例程,该例程在引发该信号时执行。
Signalssigaction()与signal()相同,设置信号的配置,即在收到注册信号后根据注册信号处理程序执行某些操作。 该系统调用支持更好地控制signal(),例如阻塞某些信号,在调用信号处理程序后将信号动作恢复到默认状态,提供诸如用户和系统的消耗时间,发送过程的进程ID等信息。
内存映射mmap()将文件映射到内存中。 一旦映射到内存中,访问文件就像使用地址访问数据一样简单,并且通过这种方式,调用并不像系统调用那样昂贵。
内存映射munmap()从内存中取消映射映射文件。