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

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

linux

2019-11-11 07:38:44
字體:
來源:轉載
供稿:網友

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點要求;但還是用輕量級進程模擬線程。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 区。| 庆云县| 大荔县| 丰镇市| 双柏县| 昌吉市| 论坛| 托克逊县| 静海县| 酒泉市| 拉萨市| 屯留县| 从江县| 永和县| 旬邑县| 吉木乃县| 噶尔县| 甘孜| 安远县| 长寿区| 天峻县| 新昌县| 新河县| 怀柔区| 五华县| 周口市| 游戏| 拜城县| 兴安县| 怀远县| 布拖县| 抚州市| 大渡口区| 红桥区| 大化| 曲水县| 乌审旗| 龙山县| 赤峰市| 富民县| 阿荣旗|