计算机操作系统原理分析

i_addr[0]1483
i_addr[1]24
i_addr[2]225
i_addr[3]542
i_addr[4]2212
i_addr[5]98
i_addr[6]3321
i_addr[7]23
i_addr[8]123
i_addr[9]67---[n=10]
i_addr[10]326*
i_addr[11]756*
i_addr[12]226*
第326块
……
[11]109
[12]954
[13]952
……
第756块
[0]53**
[1]922**
……
第53块
……
[211]863
[212]335
……
第922块
……
[211]2312
[212]3276
……
假设某文件的i-node结构及各级索引表如上所示,如果物理块长度为X=1KB,块号Y=4B
1.该文件的读写指针指示地址为6820,给出该 地址所在的物理块号和块内地址
2.该文件的读写指针指示地址为22675,给出 该地址所在的物理块号和块内地址
3.该文件的读写指针指示地址为751155,给 出该地址所在的物理块号和块内地址
解:
a=log2(XKB/8bit)=log2(2^10)=10
0~9 有n=10
b=X KB/Y B=X*2^10/Y=2^8
(1)x1=6820
index=x1>>a=x1/(2^a)取整=6<n
w=x1&11……(a个1)=x1%(2^a)取余数=676
物理块号3321(PS:i_addr[6]3321)
块内地址676(PS:w)
(2)x1=22675
index=x1>>a=x1/(2^a)取整=22
w=x1&11……(a个1)=x1%(2^a)取余数=147<b
index=index-n=12 
物理块号954(PS:i_addr[10]326*[12]954 )
块内地址147(PS:w)
(3)x1=751155
index=x1>>a=x1/(2^a)取整=733
w=x1&11……(a个1)=x1%(2^a)取余数=563
index=index-n=723
index=index-b=467
index÷b=index2(商)……w2(余数) 
index2=1
w2=211
物理块号2321(PS:i_addr[11]756*[1]922**[211]2312)
块内地址563(PS:w)
 
 
 
7 6 5 4 3 2 1 0
0_1_1_0_1_1_1_1
15 14 13 12 11 10 9 8
1__1___0__0__1__1_1_1
23 22 21 20 19 18 17 16
0__1__0__1__0__1___1__0
31 30 29 28 27 26 25 24
0__0__0__0__1__0___1__0
某静态页式存储管理中,已知内存共有X=32块 ,块长度为Y=4K=2^12=4096,(假设单位一样),当前位
示图如上,进程P的虚拟地址空间大小为ADD=35655。
1.当前有几个空闲块[PS:数一下位示图上有0] 14个
2.进程P共有几页[PS:ADD除以Y,商整数只入不舍 相当于 
(ADD+Y-1)/Y取整数部分]
(35655+4K-1)/4K=9页

3.根据位示图,写出进程P的页表
[0]4
[1]7
[2]12
[3]13
[4]16
[5]19
[6]21
[7]23
[8]24 
4.给定进程P的虚拟地址:9198和 ox9D8F,根据(3)分别计算对应的物理地址
十进制的9198:
页号p=9198/4K=2;页内地址w=9198/4K=1006
块号b=12(PS:[p]12)
物理地址=b*4K+1006=50158
十六进制ox9D8F:
页号p=1001 1101 1000 1111>>12=1001
p=9不小于9,越界

 

原文地址:https://www.cnblogs.com/xujiayu/p/4875910.html