国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 操作系統(tǒng) > 正文

關于內(nèi)核態(tài)和用戶態(tài)切換開銷的測試

2024-06-28 13:21:03
字體:
供稿:網(wǎng)友
關于內(nèi)核態(tài)和用戶態(tài)切換開銷的測試

最近開發(fā)用到fuse文件系統(tǒng),這個文件系統(tǒng)的功能實現(xiàn)是在用戶態(tài)下進行的,然而它的文件系統(tǒng)操作接口必須在內(nèi)核態(tài)注冊,所以需要研究一下內(nèi)核態(tài)到用戶態(tài)的開銷到底如何。下面這個例子是在stackoverflow上看到的,基本能反映開銷的差異了:在linux測試這個測試程序,getuid是一個系統(tǒng)調(diào)用,返回當前用戶的id

1 #include <unistd.h>2 3 #define MAX 1000000004 int main() {5   int ii;6   for (ii=0; ii<MAX; ii++) getuid();7   return 0;8 }

結(jié)果顯示循環(huán)1億次用時8秒多real 0m8.438suser 0m3.952ssys 0m4.485s

當使用如下程序測試時,

 1 #include <unistd.h> 2 #define MAX 100000000 3  4 int _getid() 5 { 6         return 1; 7 } 8  9 int main() {10   int ii;11   for (ii=0; ii<MAX; ii++) _getid();12   return 0;13 }

運行結(jié)果如下:

real 0m0.305suser 0m0.304ssys 0m0.000s

這時時間消耗明顯減少了很多。

兩個程序時間的消耗的差異主要在于內(nèi)核態(tài)和用戶態(tài)的切換,每一次循環(huán)都涉及一次用戶態(tài)->內(nèi)核態(tài)->用戶態(tài)的切換,所以消耗的時間就多了很多。

同時也說明我必須要修改fuse的各個文件接口的功能實現(xiàn)來讓它不再反復切換用戶內(nèi)核態(tài)了。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 五指山市| 仁布县| 江西省| 屏山县| 尼勒克县| 安塞县| 宜州市| 桃源县| 景谷| 南澳县| 兖州市| 昌平区| 丹东市| 峡江县| 湘潭县| 金寨县| 白沙| 文昌市| 松桃| 大悟县| 大名县| 汝南县| 克拉玛依市| 布拖县| 许昌县| 余庆县| 正镶白旗| 郸城县| 鸡东县| 咸丰县| 淮阳县| 伊金霍洛旗| 绥宁县| 洪洞县| 南康市| 塔城市| 丰县| 阿城市| 石渠县| 临沂市| 临沂市|