资源简介
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++代码实现
- 操作系统银行家算法源码
- 进程的同步-吃水果问题
- 编写并调试一个模拟的进程调度程序
- 东北大学操作系统实验1进程的同步与
- 银行家算法C语言实现源文件
- C语言实现Linux文件系统模拟文档内有
- 时间片轮转算法实现
- 进程同步实验代码c语言
- C语言模拟实现操作系统内存的分配与
- vc++实现哲学家吃面问题
- DOS操作系统的C语言源代码
- linux操作系统下C++封装的基础库
- 操作系统 银行家算法 C++
- 操作系统 请求分页式存储管理的地址
- 《操作系统课内实验》文件系统实现
- 操作系统课程大作业-文件管理系统
- 操作系统william stallings答案英文版和中
- 操作系统c语言模拟文件管理系统
- 操作系统 课程设计 C++ spooling技术 源
- 51实时操作系统程序(easy51os)
- 基于Aurix的AUTOSAR多核操作系统的实现
- 《嵌入式实时操作系统uCOS-II》邵贝贝
- 自制操作系统.docx(附源码地址)
- 操作系统原理及设计原则(Operating
- GeekOS操作系统的研究和实现.doc
- 操作系统课程设计
- C++ 判断操作系统类型
- Linux操作系统下C语言编程入门.pdf
- 《一步一步写嵌入式操作系统 ARM编程
评论
共有 条评论