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