推 A4P8T6X9:response time = 3-1 12/12 22:30
推 DEKLINE:1. non-blocking I/O可以選擇不等I/O 12/13 00:39
→ DEKLINE:2.這是電機丙出過的題目 12/13 00:42
→ DEKLINE:恐龍說 thread完成服務回到pool的意思是 12/13 00:43
→ DEKLINE:從pool挑出thread去serve一個user thread 12/13 00:43
→ DEKLINE:當服務完成 雙方thread終止 此時OS會在創一個thread到pool 12/13 00:44
→ DEKLINE:(因pool有空位,以上過程恐龍描述為thread服務完回來pool) 12/13 00:45
推 banjmin:response time這樣問很怪 你那樣是wating time 12/13 00:45
→ DEKLINE:3.爭奪CPU是process的事 CPU為一種resource 12/13 00:47
→ DEKLINE:而process拿到CPU,其中CPU time的分配才是thread的事情 12/13 00:47
推 banjmin:cpu排班algo只看turnaround 和wating time 12/13 00:47
→ DEKLINE:4. many-many是節省system overhead的作法 12/13 00:49
推 banjmin:response time是指送出到第一個回應出現的時間 12/13 00:50
→ DEKLINE:OS把user thread所需的service map到特定kernelthread 12/13 00:50
→ DEKLINE:此model中你想成kernel thread為一群特定的service即可 12/13 00:53
→ DEKLINE:最後一題 答案為6-1=5 原因為 搶到CPU 才有做事情 12/13 00:55
→ DEKLINE:有做事情 資料才會有更改 直到第一次context switch出去時 12/13 00:56
→ DEKLINE:就會有第一次write back的動作 代表user接收到了回應之意 12/13 00:56
推 DEKLINE:下一process拿到cpu 會把上一個process的cache block換下 12/13 01:14
→ DEKLINE:來 此時data第一次寫回M.M 12/13 01:14
感謝各位回應!!!
所以當thread pool中可用的thread皆在使用中
也就是沒有available的thread 此時有人request a thread
則會等待(或許放入一個Queue中) 直到有thread終止
然後就會create a new thread給等待的使用
也就是說會維持thread pool中thread的數量是個定值
請問上面這段敘述是否正確呢?
另外關於Response time
process正在被執行且不是在做context switch的時候
也可能因為cache miss而需要把cache block換下去寫回memory不是嗎?
我覺得或許process執行到中途就有response
所以由題目給的資訊或是看Gantt chart等應該不能知道Response time才對
※ 編輯: jack0602 來自: 140.113.67.81 (12/13 16:17)
推 DEKLINE:基本上這樣講沒什麼問題,有關於response time其實我們求 12/13 19:01
→ DEKLINE:的都是一個average time,任何人都無法保證data什麼時候會 12/13 19:01
→ DEKLINE:寫回M.M 這也是少考的原因 12/13 19:01