页式存储系统的逻辑页面?页式存储器的逻辑地址怎么求啊

精选笔记 bchgfjyf56547 2024-05-09 12:39 5 0

一、页式存储器的逻辑地址怎么求啊

计算逻辑地址0a5c(h)所对应的物理地址是2E5C。

首先要知道页式存储管理的逻辑地址分为两部分:页号和页内地址。物理地址分为两部分:关系为:逻辑地址=页号+页内地址;物理地址=块号+页内地址;已知:用户编程空间共32个页面,2ˆ5=32得知页号部分占5位,由每页为1KB,1K=210,可知内页地址占10位。

由内存为16KB,2^4=16得知块号占4位。逻辑地址0A5C(H)所对应的二进制表示形式是:0000101001011100,后十位1001011100是页内地址,00010为页号,页号化为十进制是2。

在对照表中找到2对应的物理块号是11,11转换二进制是1011,即可求出物理地址为10111001011100,化成十六进制为2E5C;即则逻辑地址0A5C(H)所对应的物理地址是2E5C。

逻辑地址的产生背景:

追根求源,Intel的8位机8080CPU,数据总线为8位,地址总线为16位。那么这个16位地址信息也是要通过8位数据总线来传送,也是要在数据通道中的暂存器,以及在CPU中的寄存器和内存中存放的,但由于AB正好是DB的整数倍,故不会产生矛盾。

但当上升到16位机后,Intel8086/8088CPU的设计由于当年IC集成技术和外封装及引脚技术的限制,不能超过40个引脚。但又感觉到8位机原来的地址寻址能力2^16=64KB太少了,但直接增加到16的整数倍即令AB=32位又是达不到的。故而只能把AB暂时增加4条成为20条。

则2^20=1MB的寻址能力已经增加了16倍。但此举却造成了AB的20位和DB的16位之间的矛盾,20位地址信息既无法在DB上传送,又无法在16位的CPU寄存器和内存单元中存放。于是应运而生就产生了CPU段结构的原理。

二、操作系统问题(页式存储管理问题)

1.5000B约等于4.88KB每个页面有2KB所以占用3个页面

页表

页号块号

0

3

1

7

2

9

2.页内地址为11位【块内地址(也叫块内位移)长度与页内地址相等也是11位】则每页大小为2^11=2KB逻辑地址长16位所以页号有16-11=5位那么最多有2^5=32页

你给的逻辑地址4500应该是十进制数转换成二进制即

1000110010100(数一下总共13位)

后面11位是页内地址那么页号就是前面的两位了是10也就是二进制的2

那么根据页表对应的块号是9转换成二进制即1001即块号是1001而块内地址是逻辑地址的页内地址(4500的后11位)

那么物理地址是1001+00110010100(这里+表示连接而不是逻辑加)

即100100110010100转换成十进制就是18836十六进制就是4994

多加点分

三、页面虚拟存储器与段式虚拟存储器的区别

页面虚拟存储器与段式虚拟存储器区别:

1、页面虚拟存储器

页式虚拟存储系统中,虚拟空间分成页,称为逻辑页;主存空间也分成同样大小的页,称为物理页。页表中每一个虚存逻辑页号有一个表目,表目内容包含该逻辑页所在的主存页面地址(物理页号),用它作为实存地址的高字段,与虚存地址的页内行地址字段相拼接,产生完整的实主存地址,据此来访问主存。

2、段式虚拟存储器

段式虚拟存储器是按程序的逻辑结构划分地址空间,段的长度是随意的,并且允许伸长,它的优点是消除了内存零头,易于实现存储保护,便于程序动态装配;缺点是调入操作复杂。将这两种方法结合起来便构成段页式调度。在段页式调度中把物理空间分成页,程序按模块分段,每个段再分成与物理空间页同样小的页面。

四、段式和页式存储管理的地址结构很类似

段式和页式存储管理的地址结构很类似,但是它们之间有实质上的不同,表现为页式的逻辑地址是连续的,段式的逻辑地址可以不连续、页式的地址是一维的,段式的地址是二维的、分页是操作系统进行,分段是用户确定、各页可以分散存放在主存,每段必须占用连续的主存空间

拓展:

各页可以分散存放在主存,每段必须占用连续的主存空间。分页和分段者是操作系统确定和进行的。页式和段式都是采用动态重定位方式。

进程的地址空间:按照程序自身的逻辑关系划分为若干个段,每个段都有一个段名(在低级语言中,程序员使用段名来编程),每段从0开始编址。

内存分配规则:以段为单位进行分配,每个段在内存中占连续空间,但各段之间可以不相邻。

在页式存储管理中,当CPU形成一个有效地址时,要查页表。这一工作是由硬件实现的。

由连续分配方式发展为分页存储管理方式的主要动力是提高内存利用率。

优点:保留了分段和请求分页存储管理的全部优点、提供了虚存空间,能更有效利用主存

缺点:增加了硬件成本、系统复杂度较大