-
linux 驅動死循環
(1) for( ;;){ … } (2) while(1) { … }
一般for(;;) { } 性能更優
原因:
for(;;) { } 兩個;; 空語句,編譯器一般會優掉的,直接進入死循環;while(1){} 每循環一次都要判斷常量1是不是等於零,因此 while 比 for 多做了這點事 -
字符設備和塊設備的區別,列舉實例
字符設備:字符設備是個能夠像字節流(類似文件)一樣被訪問的設備,由字符設備驅動程序來實現這種特性。字符設備驅動程序通常至少實現open,close,read和write系統調用。字符終端、串口、鼠標、鍵盤、攝像頭、聲卡和顯卡等就是典型的字符設備。
塊設備:和字符設備類似,塊設備也是通過/dev目錄下的文件系統節點來訪問。塊設備上能夠容納文件系統,如:u盤,SD卡,磁盤等。
在內核中,和字符驅動程序相比,塊驅動程序具有完全不同的接口。 -
自旋鎖和信號量在互斥使用時需要注意哪些?在中斷服務程序裏面的互斥是使用自旋鎖還是信號量?還是兩者都能用?爲什麼?
使用自旋鎖的進程不能睡眠,使用執行時間短的任務,使用信號量的進程可以睡眠,適合於執行時間較長的任務。中斷服務例程中的互斥使用的是自旋鎖,原因是在中斷處理例程中,硬中斷是關閉的,這樣會丟失可能到來的中斷。
Android linux 知識
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.