請問context switch |
答題得分者是:seaturn99
|
arney
一般會員 發表:1 回覆:3 積分:0 註冊:2004-07-11 發送簡訊給我 |
|
seaturn99
版主 發表:69 回覆:427 積分:214 註冊:2003-08-25 發送簡訊給我 |
引言: 看到有一個問題問 what kinds of hareware support are needed in a multiprogramming env? :案答中有一項寫context switch 請問context switch是由硬体完成的嗎? 不知道來這裡問對不對 thanksarney 您好 : 如果是指 context switch 時由 Memory swap out 到 Hard Disk 內動作的話,算是由硬體完成的,但我覺得題目問得有點怪就是了,哪樣不是由硬體完成的?? 指令,及變數存取都由 memory 與 cpu 執行, bus 上資料傳輸也都是硬體... PS.這個問題放在這個版好像怪怪的 ... 要看版主裁決了... ---- 我只會兩件事,這也不會,那也不會 眼見不一定為真 ---- |
arney
一般會員 發表:1 回覆:3 積分:0 註冊:2004-07-11 發送簡訊給我 |
|
seaturn99
版主 發表:69 回覆:427 積分:214 註冊:2003-08-25 發送簡訊給我 |
引言: 題目全文是這樣的 what kinds of hareware are needed in a multiprogramming environment? ans: 由於主記憶体一次同時存在多個工作元(process),因此必須防止工作元存取位置不會相互干擾,需要兩個界限暫存器指出個工作元的合法存取位置的上下限,此外還需context switching硬体完成將中央處理器交給另一個工作元時所需處理之運作。從別的地方抄來的,希望對您了解有幫助 : (界限暫存器應該是指 Register , context switching硬体是獨立 ChipSet 嗎??這個我不懂,所以不敢造次) Context Switching 處理器利用硬體的計時器來決定某條 thread 所用的 timeslice 是否該結束了。當硬體計時器提出中斷的訊號時,處理器儲存將當時所有的暫存器(register)內容存到堆疊(stack)上。接著處理器將這些相同的暫存器值再從堆疊移到稱為 Context 的資料結構內。當處理器希望切換回先前執行的 thread 時,它反向執行這些動作從 Context structure 回存與該 thread 相關的暫存器值。這些動作稱為 Context Switching。 ---- 我只會兩件事,這也不會,那也不會 眼見不一定為真 ---- |
arney
一般會員 發表:1 回覆:3 積分:0 註冊:2004-07-11 發送簡訊給我 |
|
seaturn99
版主 發表:69 回覆:427 積分:214 註冊:2003-08-25 發送簡訊給我 |
引言: thanks 可否再請教 non-preemptive的排程方式是不是不會出現在一般的常見的os之上? 也就是說現在的os(win,linux)都必是preemptive的排程?arney 您好 : 應該說,這是演化的結果,因為在 Multi-task 的需求下,preemptive 比較符合現實的狀況,但是實作上比較複雜,相對的 non-preemptive 系統比較容易實作,但就不太能滿足 Multi-task 的需求.. ---- 我只會兩件事,這也不會,那也不會 眼見不一定為真 ---- |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |