操作系统:分页存储管理方式

  1. 页式存储管理中,主存空间按页分配,可用一张“位示图”构成主存分配表。假设主存容量为2M字节,页面长度为512字节,若用字长为32位的字作主存分配的“位示图”需要多少个字?如页号从1开始,字号和字内位号(从高位到低位)均从0开始,试问:第2999页对应于何字何位;99字19位又对应于第几页?

解:

(1)内存总块数=2MB/512B=4096

位示图需要字数=4096/32=128

(2)字号=(2999-1)/32=93

位号=(2999-1)%32=22

即第2999内存页对应于位示图中93字的22位。

(3)99*32+19+1=3188

即位示图99字19位对应于内存的3188页

  1. 某系统对主存采用页式管理,供用户使用的主存区域共640K字节,被分成160块,块号为0,1,…,159。现有一作业的地址空间共占4页,其页号为0,1,2,3,被分配到主存的第2,4,1,5块中。请回答:

(1)作业每一页的长度为多少字节?

(2)写出该作业被装入主存时,其对应的页表。

(3)把该作业的每一页在主存中的起始地址(用16进制表示)填在下表中:

页号

起始地址

0

1

2

3

解:

(1)因为640K/160块 = 4K/块,作业每一页的长度为4K字节

(2)作业被装入主存是,其对应的页表为

页号

主存块号

0

2

1

4

2

1

3

5

(3)该作业的每一页在主存中的起始地址(用16进制表示)如下表所示

页号

起始地址

0

2000H

1

4000H

2

1000H

3

5000H

注:

第0页起始地址为:4K×2=8K = 2×1000H

第1页起始地址为:4K×4=16K = 4×1000H

第2页起始地址为:4K×1=4K = 2×210 = 212 = 1000000000000 = 1000H

第3页起始地址为:4K×5=20K = 5×1000H

  1. 假定某采用分页存储管理的系统中,主存容量为4MB,被分成1024块,块号为0,1,2,…,1023。某作业的地址空间占4页,其页号为0,1,2,3,被分配到主存的第28,26,12,57块中。回答:

(1)主存地址应该用多少位来表示?

(2)作业每一页的长度为多少?逻辑地址中的页内地址(页内偏移/页的大小/页的长度)应占多少位?

(3)把作业中每一页分配到主存块中的起始地址填入下表:

页号

起始地址

页号

起始地址

0

2

1

3

答:(1)因为4M = 22×220 = 222 ,所以主存地址应该用22位二进制来表示。

(2)作业每一页的长度为4MB/1024=4KB

由4K = 22×210 = 212 知逻辑地址中页内地址应占12位。

(3)该作业各页被分配到主存的块号用十六进制表示,分别为1C、1A、0C、39,故各页分配到主存块中的起始地址如下表:

页号

起始地址

页号

起始地址

0

1C000H

2

0C000H

1

1A000H

3

39000H

注:4K×1=4K = 2×210 = 212 = 1000000000000 = 1000H

第0页起始地址为:4K×28 = 28×1000H = 1C000H

第1页起始地址为:4K×26 = 26×1000H = 1A000H

第2页起始地址为:4K×12 = 12×1000H = 0C000H

第3页起始地址为:4K×57 = 57×1000H = 39000H

由页长为4KB我们得知:4KB等于2的12次方,页内偏移量在操作系统上的表示每一页的大小,那么这里这个页面大小为12位,也就是通俗的页偏移为12位,用十六进制数来表示即低位3位为0,如**000H。

  1. 某计算机主存按字节编址,逻辑地址和物理地址都是32位,页表项大小为4字节,请问,若使用一级页表的分页存储管理,逻辑地址结构为:

 

  1. 页的大小是多少字节?页表最大占用多少字节?
  2. 页表如下所示,某进程的逻辑地址为2D16H。该地址经过变换后其物理地址是什么?

页号

物理块号

0

1

1

3

2

4

3

6

解:(1)因为逻辑地址结构图中所示的页内偏移量是12位,所以页大小为4KB,页表项数为232/4K=220×4B,由于页表项大小为4字节,该一级页表最大占用字节数为220×4B=4MB。

(2)因为页面大小为4K,所以在32位逻辑地址中的低12位是页内地址,把逻辑地址2D16H转成二进制:0010 1101 0001 0110,其中低12位部分 1101 0001 0110部分表示页内地址,高位0010表示页号,因此可知页号为2,对应的物理块号为4,将4写成二进制为0100。因为物理块大小与逻辑页面大小一致,因此逻辑地址中的页内地址也就是物理块内的地址偏移,所以物理地址为0100 1101 0001 0110,转换为16进制就是4D16H.

  1. 某虚拟存储器的用户编程空间共32个页面,每页为1KB,内存为16KB,页表项大小为4字节。
  1. 页内偏移是多少位?页表最大占用多少字节?
  2. 假定某时一用户页表中已调入内存的页面的页号和物理块号的对照表如下表所示,则逻辑地址0A5C(H)所对应的物理地址是多少?

页号

物理块号

0

3

1

7

2

11

3

8

解:

(1)每页为1KB,即一页的大小为1KB,由1KB = 210,可知页内偏移是10位,即逻辑地址中低位10位是用来编码页内地址的。

因此可知逻辑地址中高位编码页面地址有22位,页表项大小为4字节,那么页表大小为222×4B = 22 ×220×4B = 16MB,即页表最大占用字节为16MB。

(2)将逻辑地址0A5C(H)转换成二进制表示为  0000 1010 0101 1100

由页面大小为1KB知逻辑地址0000 1010 0101 1100的后10位 10 0101 1100是页内地址,

逻辑地址的剩余6位高位000010是页面地址,转化为十进制是2,根据查找页表可知,2页对应的物理块号为11,将十进制的11转换为二进制为1011,因此6位高位为001011,与低位地址相拼接后可得物理地址为0010 11 10 0101 1100,转换为十六进制为2E5C(H)

因此,逻辑地址0A5C(H)所对应的物理地址是2E5C(H)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/311585.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

centos7.9 TCP 加速

BBR是谷歌开发的新的TCP加速算法,在网络状况不好的服务器上开启TCP的bbr,可以在无需增加任何硬件投入的情况下实现网络加速,并且客户端无需做任何配置,因此使用起来非常的方便。TCP加速对网络状况较好的内网环境,或者大…

竞赛保研 基于大数据的股票量化分析与股价预测系统

文章目录 0 前言1 课题背景2 实现效果3 设计原理QTChartsarma模型预测K-means聚类算法算法实现关键问题说明 4 部分核心代码5 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 基于大数据的股票量化分析与股价预测系统 该项目较为新颖…

Ubuntu20.04配置

新建用户 sudo adduser username给用户sudo权限 新创建的用户没有root权限,我们执行以下命令给用户sudo权限 sudo usermod -a -G adm username sudo usermod -a -G sudo username删除用户 删除用户及用户所有文件(/home/username/路径下的所有文件&a…

C语言实验5:结构体

目录 一、实验要求 二、实验原理 1. 普通结构体 1.1 显示声明结构体变量 1.2 直接声明结构体变量 ​编辑 1.3 typedef在结构体中的作用 2. 结构体的嵌套 3. 结构体数组 4. 指向结构体的指针 4.1 静态分配 4.2 动态分配 三、实验内容 1. 学生数据库 代码 截图 …

【pandas_不重复项计数】

听说WPS没有非重复项计数的功能,而office需要添加到数据模型之后,才可以使用该功能。而用pandas,既可以对重复项计数,又可以对非重复项计数。 # 使用提醒: # 1. xbot包提供软件自动化、数据表格、Excel、日志、AI等功能 # 2. pack…

【NTN 卫星通信】Oneweb星座以及Oneweb与Starlink比较

1 什么是OneWeb OneWeb于2012年以WorldVu的名义成立,于2020年开始构建其星座。然而,对于这家英国公司来说,这是一个艰难的旅程,OneWeb于2020年3月宣布破产,并认为covid-19大流行是一个主要因素。OneWeb星座当时仅完成…

toto的2023年终总结

第一次写年终总结,其实顺带是把大学四年的学习都给总结了一下,称之为大学总结更为合适吧? 其实把年终总结发在CSDN上有些不适,之前一直想着搭一个自己的博客也因为种种事情一直没有完成, 索性发在这里了,作…

SpringBoot 请求参数

文章目录 一、简单参数实体参数数组集合参数日期参数Json参数路径参数 一、简单参数 原始方式 在原始的web程序中,获取请求参数,需要通过HttpServletRequest 对象手动获取。 SpringBoot方式 1.参数名与形参变量名相同,定义形参即可接收参数。…

负载均衡概述

负载均衡 负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。 四层负载均衡 vs 七层负载均衡 四层负载均衡(目标地址和端口交换)…

安装与部署Hadoop

一、前置安装准备1、机器2、java3、创建hadoop用户 二、安装Hadoop三、环境配置1、workers2、hadoop-env.sh3、core-site.xml4、hdfs-site.xml5、linux中Hadoop环境变量 四、启动hadoop五、验证 一、前置安装准备 1、机器 主机名ip服务node1192.168.233.100NameNode、DataNod…

基于知识图谱的智能辅助需求管理体系介绍

☞ ░ 前往老猿Python博客 ░ https://blog.csdn.net/LaoYuanPython 一、背景 需求处理各环节的各参与方人员存在变更,知识背景不同,导致需求提出、分析设计、测试、交付各环节容易出现考虑不完整,从而限制了整个研发过程的效率以及质量的提…

Python编程-面向对象基础与入门到实践一书的内容拓展

Python编程-面向对象基础与入门到实践一书的内容拓展 通过编程,模拟现实生活中的事物编程,叫做面向对象编程,此过程也叫做实例化编程 简单类的创建 class Test():def __init__ (self,id):self.id iddef print_id(self):print(self.id)这里建…