看板 Grad-ProbAsk 關於我們 聯絡資訊
板友好~ 想請教一下page replacement那部分 有個小問題 以下為恐龍敘述 當page fault發生但是無free frame使用的時候 OS必須執行page replacement選出victim page將它swap out回Disk 然後再把missed page swap in到Physical memory 這段過程比起直接有free frame可用會多一次swap out回Disk之I/O運作 所以為了降低此額外之I/O運作 可以在page table中加上modify bit(dirty bit) 到這邊我都還看得懂 可是恐龍後面敘述加上dirty bit確實可以降低額外I/O運作那邊我就看不懂了 恐龍說dirty bit=0的victim page(沒有被修改過的victim page)不用被swap out 如此可以降低額外I/O運作 請問究竟是為什麼呢? 看不大懂為什麼這樣可以降低額外I/O運作@@? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.0.214.44
qqoil:dirty bit=0 表該page未曾被修改過 也就是說該page內容跟 09/03 00:10
qqoil:在disk中的copy一樣 所以就不需寫回disk 直接覆寫即可 09/03 00:12
liataian:意思是說 面對dirty bit=0的victim page 當要從Disk把 09/03 00:17
liataian:missed page載入Physical memory可以直接覆蓋它 不用將它 09/03 00:17
liataian:因為它的內容跟原本它在Disk內的內容還是一樣 所以不用 09/03 00:18
liataian:swap out它也沒關係 是這樣沒錯吧^^? 09/03 00:18
jackbll:如果dirty bit=1資料被更新過,須寫回disk(讀寫各一次,I/O 09/03 19:27
jackbll:突然發現有人回答了XD 09/03 19:28