page.h

来自「是关于页面替换算法的代码模拟」· C头文件 代码 · 共 36 行

H
36
字号
/*
 * page.h	
 * Copyright (c) Inst. of Machine Intelligence at Nankai University
 */

#ifndef _PAGE_H
#define _PAGE_H

#include "types.h"
#include "mmu.h"

#define	PAGE_NUM (MEMSIZE / PGSIZE)
/*
 * 页结构。如果需要扩展,请自行添加
 * 如果不喜欢链表管理,使用位图也行。
 */
struct Page {
	int ref;
	int page_number;
	int hit_num;        //该页命中的次数
	struct Page* next;
};

struct page_list {
	struct Page* head;
	struct Page* tail;
};


int page_init();
struct Page* page_alloc();
int page_insert(viraddr_t va, struct Page* pp);
int page_remove(viraddr_t va);
struct Page* pa2page(phyaddr_t pa);
phyaddr_t page2pa(struct Page* pp);
#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?