相關系統調用(System V)

下表列出了各種系統調用及其描述。

分類 系統調用 描述
普通 open() 這個系統調用要麼打開一個已經存在的檔,要麼創建並打開一個新檔。
普通 creat() 創建並打開一個新檔。
普通 read() 將檔的內容讀入所需的緩衝區。
普通 write() 將緩衝區的內容寫入檔。
普通 close() 關閉檔描述符。
普通 stat() 提供有關檔的資訊。
管道 pipe() 創建管道進行通信,返回兩個檔描述符進行讀取和寫入。
命名管道或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)的新值。
信號燈 semget() 創建新的信號量或獲取現有信號量的識別字。 信號量用於執行同一對象上工作的各種IPC之間的同步。
信號燈 semop() 對信號量值執行信號量操作。 基本的信號量操作是獲取或釋放信號量的鎖。
信號燈 semctl() 對信號量執行控制操作。 信號量的通用控制操作很少會去除信號量(IPC_RMID),接收信號量資訊(IPC_STAT)和更新現有信號量(IPC_SET)的新值。
信號燈 signal() 設置信號(信號編號)和信號處理程式的配置。 換句話說,註冊該例程,該例程在引發該信號時執行。
信號燈 sigaction() signal()相同,設置信號的配置,即,在接收登記的信號之後按照登記的信號處理器執行特定的動作。 這個系統調用支持更好地控制signal(),例如阻塞某些信號,在調用信號處理程式後將信號動作恢復到默認狀態,提供用戶和系統消耗的時間,發送進程的進程ID等資訊。
記憶體映射 mmap() 將檔映射到記憶體中。 一旦映射到記憶體中,訪問檔就像使用地址訪問數據一樣簡單,並且這樣,調用也不像系統調用那樣昂貴。
記憶體映射 munmap() 從記憶體中取消映射映射的檔。

上一篇: 覆蓋進程映像 下一篇: System V & Posix