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