首页 > 其他分享 >操作系统综合题之“采用二级页表的分页存储管理方式,计算页目录号的位数 和 页的大小,给定页目录项大小计算页目录表大小,给定逻辑地址计算页内偏移量和物理地址”

操作系统综合题之“采用二级页表的分页存储管理方式,计算页目录号的位数 和 页的大小,给定页目录项大小计算页目录表大小,给定逻辑地址计算页内偏移量和物理地址”

时间:2024-04-09 18:11:06浏览次数:13  
标签:逻辑 0000 物理地址 地址 给定 大小 目录

一、问题:某计算机系统的主存按字节编址,逻辑地址和物理地址都是32位,其内存管理采用练级页表的分页存储管理方式。逻辑地址中页号为10位,页内偏移地址为12位。该计算机系统的两级页表结构如下图所示,图中数值均为十进制数

1.页目录号的位数为多少?页的大小为多少KB?

2.如果页目录项大小为4字节,这一个页目录表最大为多少KB

3.设某逻辑地址为0x00402269,其页内偏移量是多少?该逻辑地址对应的物理地址是多少?(用十六进制表示)

 

二、参考答案

1.

页目录号的位数 = 32 - (10 + 12) = 10

页大小 = 212 = 4KB

 

2.页目录表大小 = 页目录项大小 * 2页目录号位数 = 4 * 210 = 4KB

 

3.

逻辑地址0x00402269 中分析得到二进制

0000 0000 0100 0000 0010 0010 0110 1001

页内偏移量 = 12 ,所以截取逻辑地址的二进制0 ~ 11位 = 0010 0110 1001 转十六进制 = 0x269

页号 = 10 ,所以截取逻辑地址的二进制12 ~ 21位 = 00 0000 0010 ,转十六进制 = 0x2

页目录号 = 10 ,所以截取逻辑地址的二进制22 ~ 31位 = 0000 0000 01,转十六进制 = 0x1

根据页目录项号 = 1和页号 = 2,查找页表1的2号页,得页框号121

物理地址 = 页框号 * 页大小 +页内偏移量 = 121 * 4KB + 0x269 = 495616 + 0x267 = 0x00079000 + 0x267 = 0x00079267

 

标签:逻辑,0000,物理地址,地址,给定,大小,目录
From: https://www.cnblogs.com/saoge/p/18124500

相关文章

  • JAVA 处理目录下及子目录下 图片压缩和图片加水印
    JAVA处理目录下及子目录下图片压缩压缩需要用到其他jar包<dependency><groupId>net.coobird</groupId><artifactId>thumbnailator</artifactId><version>0.4.14</version></dependency>处理目录下及子目录下图片压缩importnet.coobird.thum......
  • 【C语言】练习:比较十个数的大小
    初始化一个数组,使用for循环输入;把数组中的第一个数字,也就是下标为[0]的数字赋值给一个int类型的变量“max”;使用循环从arr数组中下标为[1]的数字开始对比,如果arr[1]>arr[0],则把arr[1]赋值给max;最后打印出最大数。intmain(){ intarr[10]; for(inti=0;i<10;......
  • Django后端如何限制上传文件大小
    在Django中,对上传文件大小进行限制可以通过几种不同的方法来实现。这包括在表单层面、视图层面或通过设置Django项目的全局配置。以下是一些常用的方法:方法1:使用Django设置限制文件大小在Django的settings.py文件中,你可以设置DATA_UPLOAD_MAX_MEMORY_SIZE来限制上传文件的大......
  • openresty重定向外部的lua目录
    openresty重定向外部的lua目录背景:  目前暂定采用nginx.exe所在目录外的lua文件,因为不想把nginx.exe所在目录纳入版本控制管理,也不想添加git过滤目录。解决方案:方案1:  1.因为每个worker和master进程都需要设置lua的搜索路径,通过以下方式设置。package.path=package.pa......
  • docker部署项目,/var/lib/docker/overlay2目录满了如何清理?
    docker部署项目,/var/lib/docker/overlay2目录满了如何清理?一、问题今天突然发现跑服务器上的项目挂了,上去看了一下原来是磁盘满了。df-h(或df-TH)【df命令是用来查看linux系统服务器文件系统的磁盘使用情况】 看来是目录/var/lib/docker/overlay2下占满了磁盘,看看里面是......
  • Linux boot目录扩容
    1.背景安装Centos7.8的时候,boot分区大小分配了200M,现准备升级到Centos7.9,报错,boot目录不足。2.删除分区如果装完系统后,磁盘所有空间都被分配出去了,此时需要删除一个分区来挤出空间本例使用Data目录,因为里面的东西都不重要,因此决定卸载这个目录并删除其对应的分区2.1.顺利卸载......
  • 修改文件/目录的权限、拥有者信息
    1、修改文件/目录的权限:chmod语法:chmod(-R)[parameter]文件/目录名称(文件不加R,修改目录中所有文件才使用R)(1)权限掩码umask法语法:chmod-R十进制数字文件/目录名称练习:修改a目录的权限,改成拥有者可读可执行,所属组:没有权限,其他:可读(4)可写(2)可执行(1)chmod-R507......
  • 27_目录IO
    目录IO文件IO和目录IO的对比:区别:​ 之前我们学习的文件IO和提到过的标准IO都是对文件操作,接下来学习的目录IO都是对目录操作。mkdir创建目录函数如下表所示:代码mkdir.c#include<stdio.h>#include<sys/stat.h>#include<sys/types.h>intmain(intargc,......
  • 【作业】上辈子我是上市集团的千金大小姐 但在家族聚会中被一只嫉妒我的恶毒闺蜜所害
    一.下载和解压安装文件步骤一:基础环境和安装准备Hive组件需要基于Hadoop系统进行安装。因此,在安装Hive组件前,需要确保Hadoop系统能够正常运行。本章节内容是基于之前已部署完毕的Hadoop全分布系统,在master节点上实现Hive组件安装。Hive组件的部署规划和软件包......
  • 目录操作
    目录相关操作获取当前工作目录getcwdgetcwd函数:获取当前工作目录的绝对路径//manualNAMEgetcwd,getwd,get_current_dir_name-getcurrentworkingdirectorySYNOPSIS#include<unistd.h>char*getcwd(char*buf,size_tsize);RETURNV......