欢迎来到天天文库
浏览记录
ID:41315377
大小:260.00 KB
页数:8页
时间:2019-08-21
《HW4BufferManager:hw4缓冲区管理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、HW4:BufferManagerInstructors:WinstonHsu,Hao-HuaChuFall2009ArchitectureofaDBMSQueryQueryOptimizationandExecutionDBRelationOperatorsFileandAccessMethodsBufferManagementDiskSpaceManagementBufferManagerSimpleBufferManagerStructurePagesinthebufferpoolisnotorderedinanywayHashtabletofig
2、ureoutwhatframeagivendiskpageoccupiesLove/HatebufferreplacealgorithmOperationsbringadiskpageintothebufferpoolandpinitunpinapageinthebufferpoolallocate/de-allocatepagesondiskflush/flushallbufferpage(s)intothediskpageBufferManagerMemoryStructureFrameDescpageNodirtyFlagpin_countBu
3、fferPageDescriptionnumbufPageBufferPoolBufferHashTableHTSIZEpageNoframeNo*next…………Love/HateReplacementupperleveluserhintsthebuffermanagerthatthepageislovedorhated.Replacehatedpagesfirst,thenlovedpages.MRUlistforthehatedpages,LRUlistforthelovedpages“Loveconquershate“Functions(inbu
4、f.handbuf.C)BufMgrInitializesbuffermanager:createbufferpool,bufferpooldescription,hashtable….etc.Malloc,calloc…..pinPage,unpinPage,newPage,freePage,flushPage,flushAllPagesUseMinibaseAPIYourownfunctions(ifneeded)ForhashtableandreplacementpolicyMinibaseAPIsPageStatusMINIBASE_DB->re
5、ad_page(PageIdpageno,Page*pageptr)StatusMINIBASE_DB->write_page(PageIdpageno,Page*pageptr)StatusMINIBASE_DB->allocate_page(PageId&start_page_num,intrun_size=1)StatusMINIBASE_DB->deallocate_page(PageIdstart_page_num,intrun_size=1)Errorshandlingstatus=MINIBASE_DB->write_page(pageid
6、,&bufPool[i]);if(status!=OK){//status:OKorFAIL//yourownerrormessage}GetStartedReadthePDFfordetaildescription.Groupassignment(atmost2people/group)DownloadBufMgrforsourcecode.ReadREADME.firstbeforeyoustrat.Postyourquestionsonptt.cc/CSIE_DBMS.MinibasehomepageandGoogle
此文档下载收益归作者所有