国产探花免费观看_亚洲丰满少妇自慰呻吟_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點要求;但還是用輕量級進程模擬線程。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 灌南县| 西乌珠穆沁旗| 鸡泽县| 临湘市| 新化县| 定边县| 神农架林区| 耿马| 耒阳市| 安国市| 保德县| 新源县| 武安市| 葫芦岛市| 紫云| 若尔盖县| 汉阴县| 庆云县| 十堰市| 尤溪县| 沈阳市| 乌鲁木齐市| 靖安县| 通化市| 信阳市| 方正县| 宜兰县| 牡丹江市| 黔江区| 都安| 铁岭县| 宕昌县| 玛多县| 隆德县| 商河县| 瑞安市| 疏附县| 宝山区| 惠安县| 陕西省| 泰和县|