refactor: document shared_file_page
This commit is contained in:
@@ -9,7 +9,6 @@ enum page_type
|
|||||||
{
|
{
|
||||||
PAGE_FILE,
|
PAGE_FILE,
|
||||||
PAGE_MMAP,
|
PAGE_MMAP,
|
||||||
PAGE_EMPTY,
|
|
||||||
PAGE_SHARED
|
PAGE_SHARED
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -35,13 +34,18 @@ struct page_entry
|
|||||||
|
|
||||||
struct shared_file_page
|
struct shared_file_page
|
||||||
{
|
{
|
||||||
struct file *file;
|
struct file *file; /* The shared file page's source file, used for indexing
|
||||||
void *upage;
|
the table. */
|
||||||
void *frame;
|
void *upage; /* The shared page's upage which is the same across all process
|
||||||
size_t swap_slot;
|
using it. Used for indexing the table. */
|
||||||
int ref_count;
|
void *frame; /* Set to the frame address of the page when it is in memory.
|
||||||
|
Set to NULL when the page is in swap. */
|
||||||
|
size_t swap_slot; /* Set to the swap_slot of the shared paged if it is
|
||||||
|
currently in swap. Should not be used when frame is not
|
||||||
|
NULL.*/
|
||||||
|
int ref_count; /* Number of processes that are using this shared page. */
|
||||||
|
|
||||||
struct hash_elem elem;
|
struct hash_elem elem; /* AN elem for the hash table. */
|
||||||
};
|
};
|
||||||
|
|
||||||
bool init_pages (struct hash *pages);
|
bool init_pages (struct hash *pages);
|
||||||
|
|||||||
Reference in New Issue
Block a user