段页式存储管理

本文介绍了一次段页式存储管理的模拟程序设计与调试过程。通过创建段表和页表,针对不同地址进行转换,以验证地址转换逻辑。程序会显示转换前的地址、对应的段表和页表项以及转换后的地址,帮助检查正确性。示例中,部分地址未找到对应段或页,而37号地址成功进行了转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

编写并调试一个段页式存储管理的地址转换的模拟程序。

  首先设计好段表、页表,然后给出若干个有一定代表性的地址,通过查找段表页表后得到转换的地址。

要求打印转换前的地址,相应的段表,页表条款及转换后的地址,以便检查。

我设计的段表和页表如下:

代码:

#include <iostream>
#include <cstring>
#define Maxn 5
using namespace std;

int page_table[5] = {2,3,6,8,9};
int Seg_address[5] = {2,12,30,45,73};
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_s
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值