Re: [理工] [OS] page fault
: 三個小題看起來差不多, 容許我只做第一小題
: 題目說有一個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
06/17 14:26, 2F
→
06/17 14:40, , 3F
06/17 14:40, 3F
→
06/17 14:41, , 4F
06/17 14:41, 4F
推
06/17 20:38, , 5F
06/17 20:38, 5F
→
06/17 20:39, , 6F
06/17 20:39, 6F
推
06/17 23:23, , 7F
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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 4 篇):