亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Linux用戶態(tài)切換內(nèi)核態(tài)方式詳解

segmentfault   發(fā)布時(shí)間:2023-11-03 14:15:12   作者:豐木   我要評(píng)論
這篇文章主要介紹了Linux用戶態(tài)切換內(nèi)核態(tài)的方式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

用戶態(tài)切內(nèi)核態(tài)

是用戶程序在運(yùn)行中的狀態(tài)切換;

用戶程序在運(yùn)行中遇到申請(qǐng)外部資源, 比如程序執(zhí)行中需要訪問(wèn): 磁盤(pán)、內(nèi)存分配、網(wǎng)卡聲卡, 甚至主板LED指示燈時(shí), 就會(huì)發(fā)生用戶態(tài)到內(nèi)核態(tài)的切換.

比如讀寫(xiě)文件: open/read/write 就會(huì)從用戶態(tài)切換到內(nèi)核態(tài);

比如申請(qǐng)內(nèi)存: C語(yǔ)言的: malloc/ java語(yǔ)言 new 一個(gè)對(duì)象 都需要申請(qǐng)內(nèi)存空間;

包括select/poll/epoll 都是系統(tǒng)調(diào)用;

切換方式

用戶態(tài)到內(nèi)核態(tài)的切換, 一般有三種方式: 系統(tǒng)調(diào)用、異常、中斷系統(tǒng)調(diào)用 又有 進(jìn)程文件、設(shè)備信息、通信等的調(diào)用;

查看內(nèi)核提供的可用系統(tǒng)調(diào)用可以用: man syscalls可以把syscalls導(dǎo)出來(lái)看下:
man syscalls|col -b >syscalls.txt

系統(tǒng)調(diào)用大體分類(lèi)如下:

進(jìn)程調(diào)用: 終端命令exit fork;

文件調(diào)用: chmod chown;

設(shè)備調(diào)用: read write;

信息讀取: 比如cpu信息 getcpu;

通信: pipe mmap(文件內(nèi)存映射)

以上就是Linux用戶態(tài)切換內(nèi)核態(tài)方式詳解的詳細(xì)內(nèi)容,更多關(guān)于Linux用戶態(tài)切換內(nèi)核態(tài)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論