發(fā)布時間:2021-11-03 17:08:23來源:有考培訓(xùn)網(wǎng)綜合
合肥linux培訓(xùn)機構(gòu)推薦哪個?在Linux中,僅等待CPU時間的進程稱為就緒進程,它們被放置在一個運行隊列中,一個就緒進程的狀 態(tài)標志位為TASK_RUNNING。一旦一個運行中的進程時間片用完, Linux 內(nèi)核的調(diào)度器會剝奪這個進程對CPU的控制權(quán),并且從運行隊列中選擇一個合適的進程投入運行。
合肥linux培訓(xùn)機構(gòu)推薦哪個?
達內(nèi)教育隸屬于加拿大達內(nèi)IT培訓(xùn)集團,于2002年成立 ,是達內(nèi)IT培訓(xùn)集團直屬學(xué)院。學(xué)院成立旨在建立軟件高級人才培養(yǎng)的通道,促進我國信息產(chǎn)業(yè)迅速發(fā)展。依托達內(nèi)集團國內(nèi)持平的課程體系(TTS6.0),雄厚的師資力量,廣闊的就業(yè)平臺,迄今為止已與國內(nèi)上萬家IT企業(yè)進行人才輸送合作,其中緊密合作企業(yè)4000余家、深入合作企業(yè)200余家、訂單輸送聯(lián)盟企業(yè)107家。作為國內(nèi)IT培訓(xùn)的實力品牌,達內(nèi)集團的每一名員工都以"幫助每一個學(xué)員成就夢想"為己任,也正因為達內(nèi)人的執(zhí)著與努力,達內(nèi)堅持為社會輸送合格人才,為中國IT行業(yè)的發(fā)展做出了貢獻。
當然,一個進程也可以主動釋放CPU的控制權(quán)。函數(shù) schedule()是一個調(diào)度函數(shù),它可以被一個進程主動調(diào)用,從而調(diào)度其它進程占用CPU。一旦這個主動放棄CPU的進程被重新調(diào)度占用 CPU,那么它將從上次停止執(zhí)行的位置開始執(zhí)行,也就是說它將從調(diào)用schedule()的下一行代碼處開始執(zhí)行。
有時候,進程需要等待直到某個特定的事件發(fā)生,例如設(shè)備初始化完成、I/O 操作完成或定時器到時等。在這種情況下,進程則必須從運行隊列移出,加入到一個等待隊列中,這個時候進程就進入了睡眠狀態(tài)。
Linux 中的進程睡眠狀態(tài)有兩種:一種是可中斷的睡眠狀態(tài),其狀態(tài)標志位TASK_INTERRUPTIBLE;
另一種是不可中斷 的睡眠狀態(tài),其狀態(tài)標志位為TASK_UNINTERRUPTIBLE??芍袛嗟乃郀顟B(tài)的進程會睡眠直到某個條件變?yōu)檎?,比如說產(chǎn)生一個硬件中斷、釋放 進程正在等待的系統(tǒng)資源或是傳遞一個信號都可以是喚醒進程的條件。不可中斷睡眠狀態(tài)與可中斷睡眠狀態(tài)類似,但是它有一個例外,那就是把信號傳遞到這種睡眠 狀態(tài)的進程不能改變它的狀態(tài),也就是說它不響應(yīng)信號的喚醒。不可中斷睡眠狀態(tài)一般較少用到,但在一些特定情況下這種狀態(tài)還是很有用的,比如說:進程必須等 待,不能被中斷,直到某個特定的事件發(fā)生。