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