Re: [問題] hw5

作者: bombom (蹦蹦)   2012-12-11 00:31:35
※ 引述《peer4321 (菇)》之銘言:
: 一、
: 和同學討論時發現了這個問題,且之前的助教並沒有直接回答這個問題
: 也就是在freePage時Page是不是必須要在Buffer內才可以?
: 還是檢查pin count後直接做deallocate?
: 討論過後認為deallocate和在不在buffer內應該無關聯,因此不需檢查
應該是要檢查有沒有在人在用,也就是去檢查pin count
不然要是有人直接free掉那個Page....可是別人還在用的話...
這樣不合乎邏輯吧
: 二、
: 作業在批改時會不會檢查error message是否會正確輸出?
: 是不是做完pdf上所列出的error情況就好?
會檢查error message的部分
pdf上列出的情況都要做,可以多做,但是不能少做
: 三、
: pinPage時,如果read_page回傳error,這時候pinPage所做的事情應該是
: "抓交替"->"flush frame"->"read_page"->"read_page回傳失敗"->"直接回傳pinPage"嗎
: 這塊buffer的description應該保留為flush後前一個page的狀態,
: 還是考慮read_page可能弄爛了buffer要把這塊當成INVALID_PAGE?
我沒有誤會你的意思的話
我自己的理解是應該要把它改成INVALID_PAGE
不過這關係的實作的方法
所以只要最後的bufferPool可以robust的運作 都會算對
: 四、
: buf.C的function是否應該避免tester對page -1做pin、unpin的操作?
: 因為INVALID_PAGE就是-1,tester執行這些操作會造成世界毀滅...
: 補:後來發現問題出在page是負的時候只用一次%會出事
You got it.
: 五、
: Status flushPage(int pageId);
: ^^^
: pdf寫錯了...
Sorry.............
作者: bombom (蹦蹦)   2012-12-11 00:48:00
1000 PO!
作者: peer4321 (菇)   2012-12-11 12:56:00
關於第一點可能是我表達不清楚,的確是必須檢查pin count感謝助教<(_ _)>
作者: nick0702 (言)   2012-12-11 22:15:00
宅~

Links booklink

Contact Us: admin [ a t ] ucptt.com