P296
context switch是兩個(gè)進(jìn)程之間切換所耗費(fèi)的時(shí)間。這樣的動(dòng)作一般發(fā)生在多任務(wù)處理系統(tǒng)。操作系統(tǒng)必須將等待中進(jìn)程的狀態(tài)載入內(nèi)存。 并保持執(zhí)行中進(jìn)程的狀態(tài)信息。 為了解決此題, 我們需要記錄兩個(gè)交換進(jìn)程執(zhí)行最后一條和第一條指令的時(shí)間點(diǎn)。
如何知道什么時(shí)候進(jìn)程會(huì)交換呢?Also,其他進(jìn)程也可能會(huì)競(jìng)爭(zhēng)CPU, 或者Kernal還要處理interrupt。 用戶控制不了這些不相干的context switch. 如果Kernal在t1,n的 時(shí)刻決定處理某個(gè) interrupt, 那么context switch的時(shí)間會(huì)比預(yù)期的還要長(zhǎng)。
為了克服這些干擾因素,應(yīng)該多測(cè)試幾遍。從里面選擇最短的context switch time作為結(jié)果。