资源简介
段页式存储管理地址转换
广工操作系统实验三
代码片段和文件信息
#include
#include
#define Maxn 5
using namespace std;
int page_table[5] = {23689};
int Seg_address[5] = {212304573};
bool page_state[10];
int address[100];
int tran_address[100];
int num;
int Seg_table_register[2];
typedef struct
{
int seg_address;
int seg_final_address;
} Box;
typedef struct
{
Box data[Maxn];
} Segment;
Segment seg_table;
void Seg_table()
{
Seg_table_register[0] = Seg_address[0];
Seg_table_register[1] = Maxn;
memset(page_statefalsesizeof(page_state));
for(int i = 0; i<5; i++)
{
seg_table.data[i].seg_address = Seg_address[i];
seg_table.data[i].seg_final_address = page_table[4] + Seg_address[i] - Seg_table_register[0];
page_state[page_table[i]] = true;
cout< }
}
void init()
{
cout<<“input the number of the address:“< cin>>num;
cout<<“input the address:“< for(int i = 0; i cin>>address[i];
Seg_table();
}
void address_translation()
{
init();
for(int k = 0; k {
for(int i = 0; i < Maxn; i++)
{
if((address[k] >= seg_table.data[i].seg_address) && (address[k] <= seg_table.data[i].seg_final_address))
{
int index = 0;
for(int j = 0; j<5; j++)
{
- 上一篇:操作系统课设__多道批处理系统两级调度的模拟_
- 下一篇:c语言实现通讯录C语言代码
评论
共有 条评论