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()將字元寫入控制檯輸出緩衝區。

更新於:2020年6月22日

22K+ 瀏覽量

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告