下表列出了各種系統呼叫及其描述。
分類 | 系統呼叫 | 描述 |
---|---|---|
普通 | 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() |
從記憶體中取消對映對映的檔案。 |