📄 memorymanager.cc
字号:
#include "system.h"#include <strings.h>MemoryManager::MemoryManager(){ memorymap=new BitMap(NumPhysPages);}MemoryManager::~MemoryManager(){ int i; for(i=0;i<NumPhysPages;i++) memorymap->Clear(i); delete memorymap;}boolMemoryManager::Assign(int page,TranslationEntry *pageTable){ int i,j=0,k; if(page>(k = memorymap->NumClear())) return false; for(i=0;i<page;i++){ j=memorymap->Find(); pageTable[i].virtualPage=i; pageTable[i].physicalPage=j; pageTable[i].valid=TRUE; pageTable[i].use=FALSE; pageTable[i].dirty=FALSE; pageTable[i].readOnly=FALSE; bzero(machine->mainMemory+j,PageSize); } k = memorymap->NumClear(); return true;}voidMemoryManager::Release(int page,TranslationEntry *pageTable){ int i; for(i=0;i<page;i++) memorymap->Clear(pageTable[i].physicalPage);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -