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

首頁 > 學院 > 開發設計 > 正文

linux

2019-11-11 07:10:06
字體:
來源:轉載
供稿:網友

2.6之前不支持內核搶占,支持用戶搶占。用戶態搶占必須等內核代碼運行完畢,返回用戶態前夕。內核搶占是在內核代碼運行期間,內核態里其他代碼間互相搶占。

內核態搶占發生時機:1.中斷調用返回,need_resched == 1,2.內核從不可搶占變為可搶占PReempt_count(這個是持有鎖個數) ==0,也是隱式調用schedule()3.內核任務顯示調用schedule,主動放棄cpu4.內核任務被阻塞,顯示調用schedule

判斷是否可以搶占:1.當前任務不持有鎖。也就是thread_info結構體中的preempt_count==0

內核搶占,在很多地方還是為了保護臨界區資源而需要臨時性的禁用內核搶占不可搶占情況很多,先說幾個內核不可以搶占情況:1.中斷2.當期進程持有鎖3.內核正在調用schedule函數4.內核正在處理每cpu私有數據

任務調度時機:1.當前進程變為非可執行2.搶占:當前任務時間片用完 or 高優先級任務就緒

 

linux 將所有的線程都當作進程來實現。在linux2.6之前,內核并不支持線程的概念,僅通過輕量級進程(lightweight process)模擬線程在linux2.6之后,為了完全兼容posix標準,引入了線程組的概念(仍然用輕量級進程表示線程),有了這個概念就可以將一組線程組織稱為一個進程,如此通過這個改變,linux內核正式支持多線程特性。

系統調用clone創建子進程時, 可以有選擇性地讓子進程共享父進程所引用的資源. 這樣的子進程通常稱為輕量級進程,又叫內核線程。

linux2.6前,用輕量級進程模擬線程,只實現了posix線程5點要求的1點;linux2.6,引入了線程組的概念,真正實現了posix線程所有的5點要求;但還是用輕量級進程模擬線程。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 高邑县| 双柏县| 葵青区| 新河县| 锡林浩特市| 阜城县| 精河县| 闻喜县| 东辽县| 永登县| 常宁市| 南漳县| 合山市| 洛扎县| 特克斯县| 江川县| 津南区| 遵化市| 昌都县| 富源县| 武平县| 北流市| 山东省| 邮箱| 辉县市| 彭阳县| 铜山县| 惠东县| 巴楚县| 裕民县| 碌曲县| 大名县| 阜新市| 繁昌县| 昭觉县| 长泰县| 酒泉市| 佳木斯市| 时尚| 福清市| 新郑市|