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