[問題] 請教linux中斷處理程序的概念

看板LinuxDev作者 (lun)時間16年前 (2009/11/08 21:52), 編輯推噓1(105)
留言6則, 2人參與, 最新討論串1/3 (看更多)
各位大大,在下剛接觸Linux,有些問題請教: 1.有鑑於interrupt handler中所做的事越少越好 在下原先構想是中斷中啟動一個Thread,將所要完成的寫在thread services中。 因此中斷結束後便可以將Thread kill,不會花費系統資源為他排程。 但是查了相關資訊,Kernel_thread()似乎不能在中斷中使用@@ 請問中斷時有什麼方式能建立Thread嗎? 2.看書上,Iinterrupt handler中有用tasklet與queue方式,這是較通用的作法嗎? 3.pthread_create()與Kernel_thread的差別是? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.71.109.135

11/08 22:05, , 1F
1. 使用bottom halt機制
11/08 22:05, 1F

11/08 22:06, , 2F
2. tasklet跟work queue都是實現bottom half的方法之一
11/08 22:06, 2F

11/08 22:07, , 3F
此外,也是可以完成你1.需求的常見方法之一
11/08 22:07, 3F

11/08 22:19, , 4F
謝謝koukai與Spig。關於Work queue用法較簡單,但tasklet
11/08 22:19, 4F

11/08 22:20, , 5F
中不能用休眠語法這部分我在斟酌^^,在下有看到很偷懶的寫
11/08 22:20, 5F

11/08 22:21, , 6F
法,就是先起個Thread,中斷中判斷flag,真是無奇不有@@
11/08 22:21, 6F
文章代碼(AID): #1Aziqo1c (LinuxDev)
文章代碼(AID): #1Aziqo1c (LinuxDev)