资源简介
1.基于进程控制
2.能够模拟内存的分页式分配和回收过程,可查看内存分配位示图和进程页表;
3.可根据内存分配状态进行地址转换。
4.能够模拟基于虚拟存储器的内存分配和回收过程,可查看交换空间位示图和扩
展的页表;
5.在虚拟存储器基础上完成地址转换,缺页时能够实现页面置换;
6.页面置换过程中能够模拟 FIFO、 LRU置换算法, 可将多次地址转换过程中所涉
及到的页面视为进程的页面访问序列,从而计算置换次数和缺页率 。
7.OPT
的页面置换算法
代码片段和文件信息
#include
#define N 4
#define MAX 1000
using namespace std;
typedef long long ll;
const int KB = 1024;
/***
operation system2.3
The size of the whole inside memory is 4G.
***/
struct page_list ///page table
{
int block_num;
bool state;
};
char bit_pic[N];///
int block_num page_num memory_num;
page_list *PL1 *PL2;
int lack_num_FIFO lack_num_LRU TIMES;
double lack_rate_FIFO lack_rate_LRU;
int phyadd_FIFO phyadd_LRU;
int addnyu;///logic_address
list FIFO LRU;
int best[MAX];
void print_bp()
{
cout<<“Bit diagram:\n“;
for(int i=0;i int t=bit_pic[i];
for(int j=0;j<8;j++)
cout<<(t&1)<<“ “ t>>=1;
puts(““);
}
}
void print_result()
{
cout< cout<<“\t\t =========================================================================\n“;
cout<<“\t\t\t\t LRU:“< cout<<“\t\t -------------------------------------------------------------------------\n“;
phyadd_FIFO+=PL1[n].block_num*KB;
phyadd_LRU+=PL2[n].block_num*KB;
cout< cout<<“\t\t -------------------------------------------------------------------------\n“;
cout< cout< for(int i=0;i cout< cout< }
cout<<“\t\t -------------------------------------------------------------------------\n“;
cout< list::iterator ip1 = FIFO.begin();
list::iterator ip2 = LRU.begin();
for(;ip1!=FIFO.end();ip1++ip2++)
cout< if(FIFO.size() for(int i=0;i cout< cout<<“\t\t -------------------------------------------------------------------------\n“;
cout< lack_rate_FIFO = lack_num_FIFO * 100.0 / TIMES; lack_rate_LRU = lack_num_LRU * 100.0 / TIMES;
cout< cout<<“\t\t =========================================================================\n\n\n“;
cout<<“\t\t **** 输入一组数据后再输入-1结束,可查看最佳置换算法的置换情况 ****\n“;
cout<<“\t\t\t\t **
- 上一篇:C++语言标准化考试系统
- 下一篇:操作系统进程调度C++代码实现
相关资源
- 操作系统课设 读写者问题 c语言实现
- ROS操作系统入门讲义
- Linux操作系统下C语言编程从零开始
- 操作系统存储管理实验报告c/c++
- 操作系统课程设计(银行家算法)附
- 现代操作系统第三版高清
- C++操作系统课设-进程管理
- 哲学家进餐问题的c++模拟实现
- 操作系统课程设计(生产者-消费者存
- 操作系统——5个实验.zip
- 操作系统进程管理实验
- 操作系统—页面置换算法C++实现
- 操作系统 内存管理 模拟 图形界面
- 银行家算法 mfc 含源代码 界面 操作系
- 操作系统生产者消费者问题MFC动态实
- 操作系统课程设计:Windows 命令接口之
- 操作系统课程大作业-文件管理系统
- C语言实现最低松弛度优先算法源代码
- 操作系统信号量PV经典问题:沉睡的理
- 基于C++的银行家算法模拟实现
- 生产者消费者问题源码-MFC实现-进程模
- 操作系统实验 进程调度 高响应比优先
- 操作系统文件管理C++代码实现
- 嗜睡的理发师进程同步与实现c++
- 安徽大学操作系统实验八基于扫描的
- 安徽大学操作系统实验四主存空间的
- 操作系统——银行家算法
- 操作系统_生产者消费者c++、mfc实现
- 磁盘调度c++模拟实现计算机操作系统
- 操作系统课设源代码 模拟进程的并
评论
共有 条评论