X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=doc%2Fvm.texi;h=bf53bf8ee17ddb977347f488737c5554fdc2bc7f;hb=22e217ef8acdea1775a6f7840c8b8b633b2d41c1;hp=ef2eb80050c77efc5b08cdc5da6f6696e35aed2d;hpb=ee20de69778a97c70e57dd2604dc97e4487635e2;p=pintos-anon diff --git a/doc/vm.texi b/doc/vm.texi index ef2eb80..bf53bf8 100644 --- a/doc/vm.texi +++ b/doc/vm.texi @@ -273,11 +273,6 @@ Some way of translating in software from virtual page frames to physical page frames. Consider using a hash table (@pxref{Hash Table}). -@item -Some way of translating from physical page frames back to virtual page -frames, so that when you evict a physical page from its frame, you can -invalidate its translation(s). - It is possible to do this translation without adding a new data structure, by modifying the code in @file{userprog/pagedir.c}. However, if you do that you'll need to carefully study and understand section 3.7 @@ -288,6 +283,15 @@ data structure. Some way of finding a page on disk if it is not in memory. You won't need this data structure until problem 3-2, but planning ahead is a good idea. + +You can generalize the virtual-to-physical page table, so that it allows +you to locate a page wherever it is in physical memory or on disk, or +you can make this a separate table. + +@item +Some way of translating from physical page frames back to virtual page +frames, so that when you evict a physical page from its frame, you can +invalidate its translation(s). @end itemize The page fault handler, @func{page_fault} in