版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、系統(tǒng)調(diào)用手冊(國嵌)Linux內(nèi)核系統(tǒng)調(diào)用(systemcall) 所有的操作系統(tǒng)在其內(nèi)核里都有一些內(nèi)建的函數(shù),這些函數(shù)可以用來完成一些系統(tǒng)級別的功能。Linux系統(tǒng)使用的這樣的函數(shù)叫做“系統(tǒng)調(diào)用”,英文是systemcall。這些函數(shù)代表了從用戶空間島內(nèi)和空間的一種轉(zhuǎn)換,例如在用戶空間調(diào)用open函數(shù),則會(huì)在內(nèi)核空間調(diào)用sys_open。一個(gè)已經(jīng)安裝的系統(tǒng)的支持的所有的系統(tǒng)調(diào)用可以在/usr/include/bits/syscall.h文件里面看到。下面是我系統(tǒng)的該文件的開頭幾行: hwanglangchao hwang$ head /usr/include/bits/syscall.h /
2、* Generated at libc build time from kernel syscall list. */ #ifndef _SYSCALL_H # error Never use directly; include instead. #endif #define SYS_stime _NR_stime #define SYS_getresuid _NR_getresuid #define SYS_rt_sigqueueinfo _NR_rt_sigqueueinfo #define SYS_mmap2 _NR_mmap2 每個(gè)系統(tǒng)調(diào)用都有一個(gè)定義好的數(shù)字,這些數(shù)字是用來構(gòu)造這些系
3、統(tǒng)調(diào)用的。內(nèi)核通過0x80中斷來管理這些系統(tǒng)調(diào)用。這些系統(tǒng)調(diào)用的對應(yīng)的數(shù)字和一些參數(shù)都在調(diào)用的時(shí)候送到某些寄存器里面。 系統(tǒng)調(diào)用的數(shù)字實(shí)際上是一個(gè)序列號,表示其在系統(tǒng)的一個(gè)數(shù)組sys_call_table中的位置。文章轉(zhuǎn)載自網(wǎng)管之家:/plus/view.php?aid=7582一、進(jìn)程控制fork 創(chuàng)建一個(gè)新進(jìn)程clone 按指定條件創(chuàng)建子進(jìn)程execve 運(yùn)行可執(zhí)行文件exit 中止進(jìn)程_exit 立即中止當(dāng)前進(jìn)程getdtablesize 進(jìn)程所能打開的最大文件數(shù)getpgid 獲取指定進(jìn)程組標(biāo)識號setpgid 設(shè)置指定進(jìn)程組標(biāo)志號getpgrp
4、 獲取當(dāng)前進(jìn)程組標(biāo)識號setpgrp 設(shè)置當(dāng)前進(jìn)程組標(biāo)志號getpid 獲取進(jìn)程標(biāo)識號getppid 獲取父進(jìn)程標(biāo)識號getpriority 獲取調(diào)度優(yōu)先級setpriority 設(shè)置調(diào)度優(yōu)先級modify_ldt 讀寫進(jìn)程的本地描述表nanosleep 使進(jìn)程睡眠指定的時(shí)間nice 改變分時(shí)進(jìn)程的優(yōu)先級pause 掛起進(jìn)程,等待信號personality 設(shè)置進(jìn)程運(yùn)行域prctl 對進(jìn)程進(jìn)行特定操作ptrace 進(jìn)程跟蹤sched_get_priority_max 取得靜態(tài)優(yōu)先級的上限sched_get_priority_min 取得靜態(tài)優(yōu)先級的下限sched_getparam 取得進(jìn)程的調(diào)
5、度參數(shù)sched_getscheduler 取得指定進(jìn)程的調(diào)度策略sched_rr_get_interval 取得按RR算法調(diào)度的實(shí)時(shí)進(jìn)程的時(shí)間片長度sched_setparam 設(shè)置進(jìn)程的調(diào)度參數(shù)sched_setscheduler 設(shè)置指定進(jìn)程的調(diào)度策略和參數(shù)sched_yield 進(jìn)程主動(dòng)讓出處理器,并將自己等候調(diào)度隊(duì)列隊(duì)尾vfork 創(chuàng)建一個(gè)子進(jìn)程,以供執(zhí)行新程序,常與execve等同時(shí)使用wait 等待子進(jìn)程終止wait3 參見waitwaitpid 等待指定子進(jìn)程終止wait4 參見waitpidcapget 獲取進(jìn)程權(quán)限capset 設(shè)置進(jìn)程權(quán)限getsid 獲取會(huì)晤標(biāo)識號set
6、sid 設(shè)置會(huì)晤標(biāo)識號二、文件系統(tǒng)控制1、文件讀寫操作fcntl 文件控制open 打開文件creat 創(chuàng)建新文件close 關(guān)閉文件描述字read 讀文件write 寫文件readv 從文件讀入數(shù)據(jù)到緩沖數(shù)組中writev 將緩沖數(shù)組里的數(shù)據(jù)寫入文件pread 對文件隨機(jī)讀pwrite 對文件隨機(jī)寫lseek 移動(dòng)文件指針_llseek 在64位地址空間里移動(dòng)文件指針dup 復(fù)制已打開的文件描述字dup2 按指定條件復(fù)制文件描述字flock 文件加/解鎖poll I/O多路轉(zhuǎn)換truncate 截?cái)辔募truncate 參見truncateumask 設(shè)置文件權(quán)限掩碼fsync 把文件在內(nèi)
7、存中的部分寫回磁盤2、文件系統(tǒng)操作access 確定文件的可存取性chdir 改變當(dāng)前工作目錄fchdir 參見chdirchmod 改變文件方式fchmod 參見chmodchown 改變文件的屬主或用戶組fchown 參見chownlchown 參見chownchroot 改變根目錄stat 取文件狀態(tài)信息lstat 參見statfstat 參見statstatfs 取文件系統(tǒng)信息fstatfs 參見statfsreaddir 讀取目錄項(xiàng)getdents 讀取目錄項(xiàng)mkdir 創(chuàng)建目錄mknod 創(chuàng)建索引節(jié)點(diǎn)rmdir 刪除目錄rename 文件改名link 創(chuàng)建鏈接symlink 創(chuàng)建符
8、號鏈接unlink 刪除鏈接readlink 讀符號鏈接的值mount 安裝文件系統(tǒng)umount 卸下文件系統(tǒng)ustat 取文件系統(tǒng)信息utime 改變文件的訪問修改時(shí)間utimes 參見utimequotactl 控制磁盤配額三、系統(tǒng)控制ioctl I/O總控制函數(shù)_sysctl 讀/寫系統(tǒng)參數(shù)acct 啟用或禁止進(jìn)程記賬getrlimit 獲取系統(tǒng)資源上限setrlimit 設(shè)置系統(tǒng)資源上限getrusage 獲取系統(tǒng)資源使用情況uselib 選擇要使用的二進(jìn)制函數(shù)庫ioperm 設(shè)置端口I/O權(quán)限iopl 改變進(jìn)程I/O權(quán)限級別outb 低級端口操作reboot 重新啟動(dòng)swapon 打
9、開交換文件和設(shè)備swapoff 關(guān)閉交換文件和設(shè)備bdflush 控制bdflush守護(hù)進(jìn)程sysfs 取核心支持的文件系統(tǒng)類型sysinfo 取得系統(tǒng)信息adjtimex 調(diào)整系統(tǒng)時(shí)鐘alarm 設(shè)置進(jìn)程的鬧鐘getitimer 獲取計(jì)時(shí)器值setitimer 設(shè)置計(jì)時(shí)器值gettimeofday 取時(shí)間和時(shí)區(qū)settimeofday 設(shè)置時(shí)間和時(shí)區(qū)stime 設(shè)置系統(tǒng)日期和時(shí)間time 取得系統(tǒng)時(shí)間times 取進(jìn)程運(yùn)行時(shí)間uname 獲取當(dāng)前UNIX系統(tǒng)的名稱、版本和主機(jī)等信息vhangup 掛起當(dāng)前終端nfsservctl 對NFS守護(hù)進(jìn)程進(jìn)行控制vm86 進(jìn)入模擬8086模式crea
10、te_module 創(chuàng)建可裝載的模塊項(xiàng)delete_module 刪除可裝載的模塊項(xiàng)init_module 初始化模塊query_module 查詢模塊信息*get_kernel_syms 取得核心符號,已被query_module代替四、內(nèi)存管理brk 改變數(shù)據(jù)段空間的分配sbrk 參見brkmlock 內(nèi)存頁面加鎖munlock 內(nèi)存頁面解鎖mlockall 調(diào)用進(jìn)程所有內(nèi)存頁面加鎖munlockall 調(diào)用進(jìn)程所有內(nèi)存頁面解鎖mmap 映射虛擬內(nèi)存頁munmap 去除內(nèi)存頁映射mremap 重新映射虛擬內(nèi)存地址msync 將映射內(nèi)存中的數(shù)據(jù)寫回磁盤mprotect 設(shè)置內(nèi)存映像保護(hù)get
11、pagesize 獲取頁面大小sync 將內(nèi)存緩沖區(qū)數(shù)據(jù)寫回硬盤cacheflush 將指定緩沖區(qū)中的內(nèi)容寫回磁盤五、網(wǎng)絡(luò)管理getdomainname 取域名setdomainname 設(shè)置域名gethostid 獲取主機(jī)標(biāo)識號sethostid 設(shè)置主機(jī)標(biāo)識號gethostname 獲取本主機(jī)名稱sethostname 設(shè)置主機(jī)名稱六、socket控制socketcall socket系統(tǒng)調(diào)用socket 建立socketbind 綁定socket到端口connect 連接遠(yuǎn)程主機(jī)accept 響應(yīng)socket連接請求send 通過socket發(fā)送信息sendto 發(fā)送UDP信息sendm
12、sg 參見sendrecv 通過socket接收信息recvfrom 接收UDP信息recvmsg 參見recvlisten 監(jiān)聽socket端口select 對多路同步I/O進(jìn)行輪詢shutdown 關(guān)閉socket上的連接getsockname 取得本地socket名字getpeername 獲取通信對方的socket名字getsockopt 取端口設(shè)置setsockopt 設(shè)置端口參數(shù)sendfile 在文件或端口間傳輸數(shù)據(jù)socketpair 創(chuàng)建一對已聯(lián)接的無名socket七、用戶管理getuid 獲取用戶標(biāo)識號setuid 設(shè)置用戶標(biāo)志號getgid 獲取組標(biāo)識號setgid 設(shè)置
13、組標(biāo)志號getegid 獲取有效組標(biāo)識號setegid 設(shè)置有效組標(biāo)識號geteuid 獲取有效用戶標(biāo)識號seteuid 設(shè)置有效用戶標(biāo)識號setregid 分別設(shè)置真實(shí)和有效的的組標(biāo)識號setreuid 分別設(shè)置真實(shí)和有效的用戶標(biāo)識號getresgid 分別獲取真實(shí)的,有效的和保存過的組標(biāo)識號setresgid 分別設(shè)置真實(shí)的,有效的和保存過的組標(biāo)識號getresuid 分別獲取真實(shí)的,有效的和保存過的用戶標(biāo)識號setresuid 分別設(shè)置真實(shí)的,有效的和保存過的用戶標(biāo)識號setfsgid 設(shè)置文件系統(tǒng)檢查時(shí)使用的組標(biāo)識號setfsuid 設(shè)置文件系統(tǒng)檢查時(shí)使用的用戶標(biāo)識號getgroups
14、 獲取后補(bǔ)組標(biāo)志清單setgroups 設(shè)置后補(bǔ)組標(biāo)志清單八、進(jìn)程間通信ipc 進(jìn)程間通信總控制調(diào)用1、信號sigaction 設(shè)置對指定信號的處理方法sigprocmask 根據(jù)參數(shù)對信號集中的信號執(zhí)行阻塞/解除阻塞等操作sigpending 為指定的被阻塞信號設(shè)置隊(duì)列sigsuspend 掛起進(jìn)程等待特定信號signal 參見signalkill 向進(jìn)程或進(jìn)程組發(fā)信號*sigblock 向被阻塞信號掩碼中添加信號,已被sigprocmask代替*siggetmask 取得現(xiàn)有阻塞信號掩碼,已被sigprocmask代替*sigsetmask 用給定信號掩碼替換現(xiàn)有阻塞信號掩碼,已被sigprocmask代替*sigmask 將給定的信號轉(zhuǎn)化為掩碼,已被sigprocmask代替*sigpause 作用同sigsuspend,已被sigsuspend代替sigvec 為
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年大學(xué)生物學(xué)(遺傳學(xué))試題及答案
- 2025年大學(xué)水利環(huán)境化學(xué)(水利工程環(huán)保)試題及答案
- 2025年高職水產(chǎn)養(yǎng)殖學(xué)(水產(chǎn)動(dòng)物營養(yǎng))試題及答案
- 2025年大學(xué)(農(nóng)學(xué))植物生理學(xué)代謝階段測試題及解析
- 2025年中職歷史(世界近現(xiàn)代史)試題及答案
- 2025年高職秘書學(xué)(商務(wù)秘書實(shí)務(wù))試題及答案
- 2025年大學(xué)消防工程(消防設(shè)計(jì))試題及答案
- 2025年中職飛機(jī)機(jī)電設(shè)備維修(航電系統(tǒng)故障排除)試題及答案
- 2025年大學(xué)(機(jī)械電子工程)液壓與氣動(dòng)技術(shù)模擬試題及解析
- 2025年高職(云計(jì)算技術(shù)應(yīng)用)云遷移技術(shù)試題及解析
- 學(xué)生夜間管理突發(fā)事件應(yīng)急預(yù)案
- (高清版)DB5103∕T 12-2019 自貢彩燈 工藝燈通 用規(guī)范
- JJF(冀) 3029-2023 醫(yī)用(硬性)內(nèi)窺鏡校準(zhǔn)規(guī)范
- 2025年黨支部學(xué)習(xí)計(jì)劃范文
- GB/T 18916.66-2024工業(yè)用水定額第66部分:石材
- 合伙人屠宰場合作協(xié)議書范文
- 《農(nóng)業(yè)信息技術(shù)》課件-第二章 農(nóng)業(yè)信息感知與管理
- DL∕T 1987-2019 六氟化硫氣體泄漏在線監(jiān)測報(bào)警裝置技術(shù)條件
- 地貌學(xué)與第四紀(jì)地質(zhì)學(xué)智慧樹知到期末考試答案章節(jié)答案2024年長安大學(xué)
- 服裝店鋪運(yùn)營規(guī)劃
- 船用導(dǎo)航雷達(dá)研究預(yù)測報(bào)告-船用導(dǎo)航雷達(dá)市場發(fā)展前景分析及供需格局研究預(yù)測報(bào)告(2024-2028年)
評論
0/150
提交評論