# virtualMemory **Repository Path**: Hz092811/virtual-memory ## Basic Information - **Project Name**: virtualMemory - **Description**: virtual-memory - **Primary Language**: C++ - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-02-28 - **Last Updated**: 2023-03-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # virtualMemory ## 介绍 本实验基于CSAPP第九章虚拟内存设计的一个虚拟内存管理模拟工具 ## 说明 1.为了简化模拟,本实验采用内存页来模拟内存,比如说一个物理内存有 n G,对标本实验就可能是 m 页 2.忽略页内偏移量 3.一个进程仅有3个区域 代码区、数据区、用户区(这里再假设内核为每个区域分配虚拟空间时,每个区域在虚拟内存上都连续) 4.v1.0仅支持FIFO页面置换算法,后续扩充 5.对于进程的运行过程,采用一个list<对象>进行模拟,对象包括(1)此行代码需要访问的虚拟空间页码(虚拟地址)(2)执行时间 6.v1.0暂时不考虑快表 7.访问地址 localhost:8080/index 8.因此一个进程的生命周期如下: ![image-20230301161625733](https://gitee.com/Hz092811/virtual-memory/raw/v1.0/assets/JJ`MF095I`IV$UVLQ`~HL4O.png) ## 依赖 ### 添加依赖——cinatra(http框架) 1.复制本项目中的include文件夹到目标项目中 2.main函数中添加 #define _CRT_SECURE_NO_WARNINGS 3.添加[boost](https://so.csdn.net/so/search?q=boost&spm=1001.2101.3001.7020),设置语言标准 std:c++ 17,附加boost到项目里面去 怎么安装boost,https://www.cnblogs.com/zx-admin/p/11792567.html 右击项目->属性->C/C++->语言->C++ 语言标准 选择iso c++ 17 附加目录 先编译好编译boost 项目——>属性——>选择VC++目录,在包含目录 和 库目录添加以上2个路径 包含目录加上 上 D:\boost_1_71_0\ 库目录加上 D:\boost_1_71_0\stage\lib 4. #include "include/cinatra.hpp" ### 添加依赖——json(前后端交互) 1.复制本项目中的includeJson文件夹到目标项目中 2.![image-20230301161625733](https://gitee.com/Hz092811/virtual-memory/raw/v1.0/assets/9F%7DOUOM%5D$%25Y9170X3H(9)%7DO.png) 3.#include "nlohmann/json.hpp" using json = nlohmann::json; 4.json使用参考:https://www.cnblogs.com/linuxAndMcu/p/14503341.html#_label2_3 ## 示例 1.开启系统 ![image-20230301161625733](https://gitee.com/Hz092811/virtual-memory/raw/v1.0/assets/(Y)CMSE{UT8S3Z3A[YJ_[@5.png) 2.启动两个进程1 ![image-20230301161625733](https://gitee.com/Hz092811/virtual-memory/raw/v1.0/assets/]YCWJ9FYJPITP}GOX[YFOQS.png) ![image-20230301161625733](https://gitee.com/Hz092811/virtual-memory/raw/v1.0/assets/~_K0(J%%`%T3~Z5A$){A)VF.png) 3.启动进程7(非法访问进程) ![image-20230301161625733](https://gitee.com/Hz092811/virtual-memory/raw/v1.0/assets/M51790U{E$6E{ICA0@RVTAC.png)