【问题描述】请根据基本分页存储管理的原理,对若干进程进行内存分配,并根据页面计算给定的逻辑地址的物理地址。说明:为程序调试方便,请按照输入样例采用文件形式输入相应数据。
【输入形式】
【输出形式】
【样例输入】(说明:输入文件名为test.txt)
65536 //内存大小,单位为字节
2048 //页面大小,单位为字节
20480 //OS所占内存大小,单位为字节
3 //装入进程数量
P0 7680 //第1个进程名称及大小,单位为字节
0 2 //后面几行为第1个进程的页表
1 4
2 6
3 8
P1 10064.6 //第2个进程名称及大小,单位为字节
0 18 //后面几行为第2个进程的页表
1 31
2 7
3 5
4 29
P2 5734.4 //第3个进程名称及大小,单位为字节
0 14 //后面几行为第3个进程的页表
1 17
2 9
4 //需要转换的逻辑地址个数
P0 4865 //需要转换的逻辑地址的进程名和地址值,单位为字节
P1 1023
P2 4500
P0 10000
【样例输出】(说明:下面输出样例中所有的标点符号均为英文状态下的标点符号)
The total num of memory are 32 blocks,10 blocks has been used.//内存块数为*块,已使用*块。
Process P0 use 4 blocks. //进程*使用*块。
Process P1 use 5 blocks.
Process P2 use 3 blocks.
The total num of memory are 32 blocks,22 blocks has been used.//内存块数为*块,已使用*块。
P0:logic address 4865's pyhsical address is 13057. //逻辑地址*对应的物理地址为*。
P1:logic address 1023's pyhsical address is 37887.
P2:logic address 4500's pyhsical address is 18836.
P0:logic address 10000 is out of range.