Unix和Windows系統呼叫
程序與作業系統的介面由系統呼叫提供。通常,系統呼叫以組合語言指令的形式提供。它們也包含在彙編級程式設計師使用的手冊中。
Unix系統呼叫
Unix中的系統呼叫用於檔案系統控制、程序控制、程序間通訊等。只有透過這些系統呼叫才能訪問Unix核心。通常,系統呼叫類似於函式呼叫,唯一的區別是它們移除了使用者程序的控制權。
目前Unix介面中大約有80個系統呼叫。一些重要系統呼叫的詳細資訊如下:
系統呼叫 | 描述 |
---|---|
access() | 檢查呼叫程序是否具有訪問所需檔案的許可權 |
chdir() | chdir命令更改系統的當前目錄 |
chmod() | 可以使用此命令更改檔案的模式 |
chown() | 更改特定檔案的擁有者 |
kill() | 此係統呼叫向一個或多個程序傳送kill訊號 |
link() | 使用link系統呼叫將新的檔名連結到現有檔案。 |
open() | 開啟一個檔案以進行讀取或寫入操作 |
pause() | pause呼叫掛起檔案,直到發生特定訊號。 |
stime() | 此係統呼叫設定正確的時間。 |
times() | 獲取父程序和子程序的時間 |
alarm() | alarm系統呼叫設定程序的鬧鐘 |
fork() | 使用此命令建立一個新程序 |
chroot() | 更改檔案的根目錄。 |
exit() | exit系統呼叫用於退出程序。 |
Windows系統呼叫
Windows中的系統呼叫用於檔案系統控制、程序控制、程序間通訊、主記憶體管理、I/O裝置處理、安全等。程式使用系統呼叫與Windows作業系統互動。由於系統呼叫是訪問核心的唯一方式,因此所有需要資源的程式都必須使用系統呼叫。
一些重要的Windows系統呼叫的詳細資訊如下:
系統呼叫 | 描述 |
---|---|
CreateProcess() | 使用此命令建立一個新程序 |
ExitProcess() | 此係統呼叫用於退出程序。 |
CreateFile() | 使用此係統呼叫建立或開啟檔案。 |
ReadFile() | 使用此係統呼叫從檔案讀取資料。 |
WriteFile() | 使用此係統呼叫將資料寫入檔案。 |
CloseHandle() | 此係統呼叫關閉當前正在使用的檔案。 |
SetTimer() | 此係統呼叫設定程序的鬧鐘或計時器 |
CreatePipe() | 使用此係統呼叫建立管道 |
SetFileSecurity() | 此係統呼叫設定特定程序的安全設定 |
SetConsoleMode() | 分別設定控制檯的輸入模式或輸出模式的 輸入緩衝區或輸出螢幕緩衝區。 |
ReadConsole() | 從控制檯輸入緩衝區讀取字元。 |
WriteConsole() | 將字元寫入控制檯輸出緩衝區。 |
廣告