成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

linux進(jìn)程切換 不同進(jìn)程間線程的切換與進(jìn)程間的直接切換有什么區(qū)別?

不同進(jìn)程間線程的切換與進(jìn)程間的直接切換有什么區(qū)別?在進(jìn)程之間切換的步驟:1、保存程序、計(jì)數(shù)它和其他寄存器。2. 更新處于“運(yùn)行”狀態(tài)的流程的流程控制塊,將流程狀態(tài)更改為相應(yīng)的狀態(tài),更新其他相關(guān)字段3,

不同進(jìn)程間線程的切換與進(jìn)程間的直接切換有什么區(qū)別?

在進(jìn)程之間切換的步驟:

1、保存程序、計(jì)數(shù)它和其他寄存器。

2. 更新處于“運(yùn)行”狀態(tài)的流程的流程控制塊,將流程狀態(tài)更改為相應(yīng)的狀態(tài),更新其他相關(guān)字段3,將切換流程的流程控制塊移動(dòng)到處于相關(guān)狀態(tài)的隊(duì)列4,選擇另一個(gè)流程開始執(zhí)行,將進(jìn)程的進(jìn)程控制塊狀態(tài)改為“running”狀態(tài)5,并在最后一次操作中還原所選進(jìn)程的處理器切換出運(yùn)行狀態(tài)的上下文,如loader counter和其他處理器的值,并伴有兩個(gè)模式開關(guān)(user kernel、kernel user)。線程之間切換的步驟(在同一進(jìn)程內(nèi)):有兩種線程:用戶級(jí)線程和內(nèi)核級(jí)線程。在用戶級(jí)線程中,所有與線程管理相關(guān)的工作都是由應(yīng)用程序完成的,內(nèi)核并不知道線程的存在。在用戶級(jí)線程之間切換時(shí)(在同一進(jìn)程中),只需要保存用戶寄存器、程序計(jì)數(shù)器和堆棧指針的內(nèi)容,不需要進(jìn)行模式切換。缺點(diǎn):1。當(dāng)進(jìn)程的某個(gè)線程執(zhí)行系統(tǒng)調(diào)用時(shí),不僅該線程被阻塞,而且該線程所在進(jìn)程的所有線程都被阻塞。2不能使用多處理器。在內(nèi)核級(jí)線程中,線程的管理是由內(nèi)核來完成的,應(yīng)用程序部分沒有線程管理權(quán)限,內(nèi)核級(jí)線程之間只使用一個(gè)接口(API)(在同一進(jìn)程中)進(jìn)行切換,也就是說,除了保存上下文外,還需要進(jìn)行模式切換。優(yōu)點(diǎn):1??梢允褂枚嗵幚砥?。2線程阻塞不會(huì)導(dǎo)致進(jìn)程阻塞

進(jìn)程切換比線程切換成本更高,因?yàn)樵谶M(jìn)程切換過程中需要切頁表,而且常常伴隨著頁調(diào)度,因?yàn)檫M(jìn)程的數(shù)據(jù)段和代碼段需要調(diào)出,以便可以交換要執(zhí)行的進(jìn)程的內(nèi)容。進(jìn)程的內(nèi)容是線程的超集。而線程只需要保存線程的上下文(相關(guān)寄存器狀態(tài)和堆棧信息),動(dòng)作非常小