linux進(jìn)程的三種基本狀態(tài) 在linux中進(jìn)程的狀態(tài)都有哪些?在什么情況下發(fā)生轉(zhuǎn)化?
在linux中進(jìn)程的狀態(tài)都有哪些?在什么情況下發(fā)生轉(zhuǎn)化?有五種進(jìn)程狀態(tài):(1)任務(wù)運(yùn)行:進(jìn)程是可執(zhí)行的;它在運(yùn)行隊(duì)列中正在執(zhí)行或等待執(zhí)行。(2) 任務(wù)可中斷(可中斷睡眠):進(jìn)程被阻塞,等待某些條件完成
在linux中進(jìn)程的狀態(tài)都有哪些?在什么情況下發(fā)生轉(zhuǎn)化?
有五種進(jìn)程狀態(tài):(1)任務(wù)運(yùn)行:進(jìn)程是可執(zhí)行的;它在運(yùn)行隊(duì)列中正在執(zhí)行或等待執(zhí)行。(2) 任務(wù)可中斷(可中斷睡眠):進(jìn)程被阻塞,等待某些條件完成。一旦這些條件完成,內(nèi)核就會(huì)將進(jìn)程的狀態(tài)設(shè)置為運(yùn)行。(3) 任務(wù)不可中斷(不可中斷睡眠):進(jìn)程被阻塞,等待某些條件完成。與可中斷睡眠狀態(tài)不同,處于這種狀態(tài)的過程不能被信號(hào)喚醒。(4) TASK_uuzombie:進(jìn)程已結(jié)束,但其父進(jìn)程尚未將其回收。(5) 任務(wù)停止:進(jìn)程停止執(zhí)行。通常,進(jìn)程在接收到sigstop、sigttin、sigttou等信號(hào)時(shí)會(huì)進(jìn)入這種狀態(tài)。
在linu系統(tǒng)中,模式切換和進(jìn)程切換有什么區(qū)別?
進(jìn)程切換是指一個(gè)正在運(yùn)行的進(jìn)程被中斷,操作系統(tǒng)將另一個(gè)進(jìn)程指定為運(yùn)行狀態(tài),并對(duì)該進(jìn)程進(jìn)行控制。當(dāng)操作系統(tǒng)從正在運(yùn)行的進(jìn)程獲得控制時(shí),進(jìn)程切換可以隨時(shí)發(fā)生。由于進(jìn)程之間的狀態(tài)切換不同,各種資源需要重新分配,操作系統(tǒng)需要做更多的工作。
模式切換是用戶模式和內(nèi)涵模式之間的切換。因?yàn)樗鼈兊馁Y源是共享的,所以它們是高效的,并且不會(huì)改變正在運(yùn)行的進(jìn)程的狀態(tài)。