看板 Grad-ProbAsk 關於我們 聯絡資訊
念memory這個單元的時候有個小疑問 當cpu丟出virtual address之後 在tlb 和 page table 裡面都找不到對應的位址 就是page fault 所以 virtual page number 要怎麼轉譯成 physical page number阿? 搞不懂他要以什麼為依據去disk裡面找他要的page 煩請大家幫忙解答 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.67.165
SiriusCloud:如果是在OS 裡面 會有PCB 記錄記憶體管理資訊~ 12/30 17:21
SiriusCloud:當page fault發生後,就照處理流程進行磁碟排班 將資 12/30 17:25
SiriusCloud:料讀進來,剛翻了一下算盤 page table 也會記錄磁碟 12/30 17:27
SiriusCloud:資訊,在算盤裡面是swap space 12/30 17:27
SiriusCloud:也就是說page table會記錄在磁碟的哪裡(swap space) 12/30 17:28
SiriusCloud:至於 virtual <-> physical 就是 TLB 跟Page table在 12/30 17:29
SiriusCloud:做的事情不是嗎? 12/30 17:37
SiriusCloud:http://en.wikipedia.org/wiki/Page_table 12/30 17:37
SiriusCloud:這是我的想法@@'' 有錯討論一下 幫忙指正... 12/30 17:38
RoyalCh:非資工系所.. 前面OS的東西看不太懂 12/30 19:18
RoyalCh:我的問題是 page table不是硬碟的快取嗎? 12/30 19:18
RoyalCh:當他在page table裡面找不到資料 要怎麼去硬碟裡面找資 12/30 19:19
RoyalCh:料啊? virtual與physical那邊比較沒疑問 12/30 19:20
SiriusCloud:在白算盤課本裡面有提到 在一個process 產生出來的時 12/30 20:23
SiriusCloud:候,會在磁碟中留一塊空間(swap space)會記錄所有 12/30 20:26
SiriusCloud:page 防在磁碟的位置,然後page table 找不到的話,OS 12/30 20:26
SiriusCloud:自然會去那個swap space去搬出來~ 12/30 20:27
SiriusCloud:不好意思 更正錯字 "放"在磁碟的位置 12/30 20:28
RoyalCh:懂了 謝謝你喔! 12/31 00:09
sneak: 不好意思 更正錯字 " https://daxiv.com 09/11 14:42