[理工] 計組 page fault

看板Grad-ProbAsk作者 (不想當小螺絲釘!)時間14年前 (2011/12/29 22:32), 編輯推噓2(2018)
留言20則, 3人參與, 最新討論串1/1
念memory這個單元的時候有個小疑問 當cpu丟出virtual address之後 在tlb 和 page table 裡面都找不到對應的位址 就是page fault 所以 virtual page number 要怎麼轉譯成 physical page number阿? 搞不懂他要以什麼為依據去disk裡面找他要的page 煩請大家幫忙解答 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.67.165

12/30 17:21, , 1F
如果是在OS 裡面 會有PCB 記錄記憶體管理資訊~
12/30 17:21, 1F

12/30 17:25, , 2F
當page fault發生後,就照處理流程進行磁碟排班 將資
12/30 17:25, 2F

12/30 17:27, , 3F
料讀進來,剛翻了一下算盤 page table 也會記錄磁碟
12/30 17:27, 3F

12/30 17:27, , 4F
資訊,在算盤裡面是swap space
12/30 17:27, 4F

12/30 17:28, , 5F
也就是說page table會記錄在磁碟的哪裡(swap space)
12/30 17:28, 5F

12/30 17:29, , 6F
至於 virtual <-> physical 就是 TLB 跟Page table在
12/30 17:29, 6F

12/30 17:37, , 7F
做的事情不是嗎?
12/30 17:37, 7F


12/30 17:38, , 9F
這是我的想法@@'' 有錯討論一下 幫忙指正...
12/30 17:38, 9F

12/30 19:18, , 10F
非資工系所.. 前面OS的東西看不太懂
12/30 19:18, 10F

12/30 19:18, , 11F
我的問題是 page table不是硬碟的快取嗎?
12/30 19:18, 11F

12/30 19:19, , 12F
當他在page table裡面找不到資料 要怎麼去硬碟裡面找資
12/30 19:19, 12F

12/30 19:20, , 13F
料啊? virtual與physical那邊比較沒疑問
12/30 19:20, 13F

12/30 20:23, , 14F
在白算盤課本裡面有提到 在一個process 產生出來的時
12/30 20:23, 14F

12/30 20:26, , 15F
候,會在磁碟中留一塊空間(swap space)會記錄所有
12/30 20:26, 15F

12/30 20:26, , 16F
page 防在磁碟的位置,然後page table 找不到的話,OS
12/30 20:26, 16F

12/30 20:27, , 17F
自然會去那個swap space去搬出來~
12/30 20:27, 17F

12/30 20:28, , 18F
不好意思 更正錯字 "放"在磁碟的位置
12/30 20:28, 18F

12/31 00:09, , 19F
懂了 謝謝你喔!
12/31 00:09, 19F

09/11 14:42, , 20F
不好意思 更正錯字 " https://daxiv.com
09/11 14:42, 20F
文章代碼(AID): #1E_7dhBm (Grad-ProbAsk)