// VirtualMemMgr.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "VMM.h"
int main(int argc, char* argv[])
{
printf("Hello World!\n");
CVMM<int> mList(5);
mList.PushBack(1);
mList.PushBack(2);
mList.PushBack(3);
mList.PushBack(4);
printf("[%d]\n", mList[0]); //1
printf("[%d]\n", mList[3]); //4
mList.PushBack(5);
printf("[%d]\n", mList[0]); //1
printf("[%d]\n", mList[4]); //5
mList.PushBack(6);
printf("[%d]\n", mList[1]); //2
printf("[%d]\n", mList[5]); //6
printf("[%d]\n", mList[0]); //1
mList.PushBack(7);
mList.PushBack(8);
printf("[%d]\n", mList[6]); //7
printf("[%d]\n", mList[0]); //1
mList.PushBack(9);
printf("[%d]\n", mList[0]); //1
return 0;
}
没有合适的资源?快使用搜索试试~ 我知道了~
虚拟内存的模拟C++实现
共11个文件
cpp:4个
h:3个
opt:1个
4星 · 超过85%的资源 需积分: 31 92 下载量 153 浏览量
2008-07-05
19:54:10
上传
评论 1
收藏 11KB RAR 举报
温馨提示
闲来无事,考虑到以前遇到的一个问题,使用std::vector进行数据的存储,如果存储的数据量多大或者是没有足够的内存时该何如处理,联想到学习OS时虚拟内存的概念,感觉是一个好的解决方法,于是动手写了一个小的程序实现了该想法<br>只在内存中保留指定数量的最近使用的数据,其余的数据保存到一个文件中,如果访问的数据在存储中则直接从内存中提取即可,如果没有在内存中首先要将数据Load到内存中,<br><br>该代码同时考虑到了,内存和文件之间交换效率的问题,例如:<br><br>现在在内存中的数据范围为[10,20],我需要访问的第8个元素,首先假定第8个元素周围的元素近期将会被频繁的访问,因此在Load的数据同时将其周围的元素Load到内存中,因此需要将[8-10/2,8+10/2]这个范围的数据Load到内存中,但是[10,13]这个范围的数据已经在内存中了,所以只需要将[3,9]这个范围内的数据Load到内存中即可,<br>
资源推荐
资源详情
资源评论
收起资源包目录
VirtualMemMgr.rar (11个子文件)
VirtualMemMgr
VirtualMemMgr.cpp 776B
VirtualMemMgr.ncb 57KB
MyQueue.cpp 422B
StdAfx.cpp 300B
VirtualMemMgr.dsp 5KB
VirtualMemMgr.opt 50KB
VirtualMemMgr.dsw 549B
MyQueue.h 2KB
StdAfx.h 769B
VMM.cpp 392B
VMM.h 5KB
共 11 条
- 1
资源评论
- 慕敌2013-11-30嗯,挺不错的
truelie007
- 粉丝: 4
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功