Re: [理工] [OS] page fault

看板Grad-ProbAsk作者 (傷神客)時間14年前 (2011/06/17 11:56), 編輯推噓5(504)
留言9則, 5人參與, 最新討論串4/4 (看更多)
: 三個小題看起來差不多, 容許我只做第一小題 : 題目說有一個process負責處理矩陣的運算, 座落在mem[0-199], 也就是占用一個frame : 那就剩下三個frame : 假設, 題目是row-major, 而一個int 占用4個bytes, : 那麼每50次存取會產生一次page fault, 而第一小題要對矩陣作5000次存取, 所以會產生 : 100次的page fault, 如果再加上把process load進來的那次就是101次page fault : 這是我的想法, 有錯請大家指正 當我昨天在做這題時,就有個問題: 它給的記憶體的單位和int大小為多少? 關於這問題,因為我們不知道記憶體單位是byte還是 word,而且int的大小 以C99規定,它僅規範了int至少要有多少 byte。所以很明顯的是,我們必須 明確地在答案中給予假設!! 我的假設: 記憶體單位: word(4byte) int 4byte 再來的是一開始 frame0 為code,這沒什麼問題 讀的順序 a[0][0~99] -> frame1 a[1][0~99] -> frame2 a[2][0~99] -> frame3 接下來 呢??? 要讀a[3][0]時,如果按照他說的FIFO,是必須 代替掉frame0(code),讀完後,又要載入code 所以code->frame1 a[4][0] ->frame2 a[5][0] ->frame3 a[6][0] ->frame0 a[7][0] ->frame1 code ->frame2 a[8][0] ->frame3 換言之,次數為: 50/3=16... 16*4-1=63 63+3=66 ans:66 -- c版友的感覺上,是不是忽略了code替代的部份? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.41.195.21

06/17 14:26, , 1F
有一題是洪逸解的類似題 不過並沒有太多的解釋
06/17 14:26, 1F

06/17 14:26, , 2F
我之前有問過 在17987篇
06/17 14:26, 2F

06/17 14:40, , 3F
那題因為是LRU的關係,所以code所在的page一直不會被
06/17 14:40, 3F

06/17 14:41, , 4F
移出。這題是因為FIFO,所以要加入code移出的考量
06/17 14:41, 4F

06/17 20:38, , 5F
我當初在想的時候市直接省略code的部分
06/17 20:38, 5F

06/17 20:39, , 6F
不過我想把code考慮進來是對的
06/17 20:39, 6F

06/17 23:23, , 7F
謝謝!! 不過這樣2,3題比較有變化的該怎麼解呢..
06/17 23:23, 7F

06/19 15:40, , 8F
先考慮進入次數 然後有沒有*量有沒有符合在大小範圍內
06/19 15:40, 8F

06/20 17:42, , 9F
看好幾次終於看懂了~
06/20 17:42, 9F
文章代碼(AID): #1D-j1g1v (Grad-ProbAsk)
文章代碼(AID): #1D-j1g1v (Grad-ProbAsk)