操作系统 --- 存储器管理

news2024/11/25 14:23:34

一、简答题


1.存储器管理的基本任务,是为多道程序的并发执行提供良好的存储器环境。请问好的存储器环境”应包含哪几个方面?

答:


2.内存保护是否可以完全由软件实现?为什么?

答:内存保护的主要任务是确保每道程序都只在自己的内存区内运行。这就要求系统能对每条指令所访问的地址进行越界检查。若发生越界,系统应能立即发现,并发出越界中断请求,以抛弃该指令。若每次检查完全由软件实现,则每执行一条指令时,都要增加若干条指令去执行越界的检查功能,这无疑将降低程序的执行速度,因此,越界检查通常由硬件实现,并使指令的执行与越界检查功能并行执行,从而不使程序的运行速度降低。当然,对发现有越界后的处理需与软件配合来完成。因此说内存保护功能是由硬件和软件协同完成的。


3.请解释什么是重定位?为什么要重定位?

答:重定位:允许作业在运行过程中在内存中移动的技术,必须获得硬件地址变换机构的支持。即在系统中增加一个重定位寄存器,用它来装入程序在内存中的起始地址。程序在执行时,真正访问的内存地址是相对地址与重定位寄存器中的地址相加而成的,这就叫做重定位。在连续分配方式中,为了利用“碎片”将作业装入,需要将内存中分散的小分区拼接成大分区,称为”拼接”或”紧凑”,但由于经过紧凑后的用户程序在内存中的位置发生了变化,若不对程序和数据的地址进行修改, 程序将无法执行,所以必须进行重定位。


4.动态重定位的实现方式有哪几种?

答:


5.可采用哪几种方式将程序装入内存?它们分别适用于何种场合?

答:

(1) 绝对装入方式,适用于单道程序系统。

(2) 可重定位装入方式,适用于分区式存储管理系统。

(3) 动态运行时装入方式,适用于分页、分段式存储管理系统。

根据信息的性质来划分。(3)分页的作业地址空间是一维的,而分段作业地址空间则是二维的。


6.何谓静态链接?静态链接时需要解决哪两个问题?

答:

静态链接的定义:程序运行之前,先将各目标及它们所需的库函数链接成一个完整的装配模块,以后不再拆开,这种事先进行链接的方式称为。


7.编写程序时,源代码必须经过编译和链接生成目标代码,请问什么是链接?链接主要解决了什么问题?简述链接的主要类型及其优缺点。

答:

             链接(Linking) 是计算机程序构建过程中的一个阶段,其主要任务是将一个或多个由编译器生成的目标文件(包括库文件)组合成一个可执行文件、共享库或者其他类型的目标代码。链接主要解决的问题包括:

          符号解析 :编译时,函数和变量的具体地址尚未确定。这些未确定的函数和变量被称为“外部符号”。链接器的任务之一是找到这些符号的真实地址,并替换相应的引用。

         空间和地址分配:链接器为每个模块分配空间,并决定每个函数和变量在最终输出中的地址。

         库处理:程序员经常使用标准库或其他库中的函数。链接器从库中选择所需的模块并将其包含在最终的可执行文件中。

链接的主要类型包括:

静态链接 
  优点:
     - 生成的可执行文件是独立的,不依赖于外部的库文件,方便部署和分发。
     - 有时可能会有更好的性能,因为所有的代码都在一个单一的二进制文件中。
  缺点:
     - 如果多个程序使用相同的库,静态链接会导致每个程序都有库的一个副本,浪费磁盘和内存资源。
     - 如果库更新,需要重新链接和部署应用程序。

动态链接:
   -优点:
     - 节省磁盘空间和内存,因为多个运行的程序可以共享同一个库的副本。
     - 库更新时,通常不需要重新链接和部署应用程序。
   缺点:
     - 运行时需要库文件。如果库文件丢失或与应用程序版本不兼容,可能会导致程序无法运行。
     - 有时可能有额外的性能开销,因为需要解析动态符号和加载共享库。

在实际开发中,静态链接和动态链接各有应用场景,选择哪种链接方式取决于项目的具体需求和目标。


8.为什么要引入对换?对换可分为哪几种类型?

答:答:在多道环境下,一方面,在内存中的某些进程由于某事件尚未发生而被阻塞,但它却占用了大量的内存空间,甚至有时可能出现在内存中所有进程都被阻塞而迫使CPU停止下来等待的情况;另一方面,却又有着许多作业在外存上等待,因无内存而不能进入内存运行的情况。显然这对系统资源是一种严重的浪费,且使系统吞吐量下降。为了解决这一问题,在操作系统中引入了对换(也称交换)技术。 可以将整个进程换入、换出,也可以将进程的一部分(页、段)换入、换出。前者主要用于缓解目前系统中内存的不足,后者主要用于实现虚拟存储。

9.在对换技术中,对文件区管理的目标和对对换空间管理的目标有何不同?

答:

         对文件区管理的主要目标是提高文件存储空间的利用率,然后才提高对文件的访问速度,因此,对文件区空间的管理采取离散分配方式。

        对对换空间管理的主要目标是提高进程换入和换出的速度,然后才是提高文件存储空间的利用率,因此,对对换区空间的管理采取连续分配方式,较少的考虑外存中的碎片问题。


10.为什么说分段系统较分页系统更易实现信息共享与保护?

答:

        无论是分页系统、还是分段系统,都允许多个进程共享程序中的代码或公共数据。分页系统实现页共享的方法是,在共享进程中将共享页对应的页表项指向同一个内存块。由于分页系统的地址空间是一维的,页的划分由系统自动进行,因此会造成共享代码或数据与非共享代码或数据共处一页的情况,从而使信息的共享变得十分困难。而分段系统则在用户编程时,自然地进行分段的划分,每个分段中的信息具有相对完整的逻辑意义,正好与分段存储系统相适应,因此它比分页更容易实现信息的共享。 

        对信息的保护来说,也是按信息的逻辑单位进行保护,也与分段存储系统相适应,OS应保证用户进程只按允许的方式访问共享信息,而对他人的非共享信息则不允许进行任何形式的访问。分段系统比分页系统更容易实现信息的保护,我们可按各个分段的含义来对每个分段进行不同的保护,如子程序段的存取权限是只能执行,数据段的存取权限是可读可写等。


11.提高内存利用率的途径主要有哪些?

答:

(1)改连续分配方式为离散分配方式;

(2)增加对换和覆盖机制;

(3)引入动态机制;

(4)引入虚拟存储器机制;

(5)引入存储器共享机制。


二、计算题


12.假设一个分页存储系统具有快表,多数活动页表项都可以存在于其中若页表放在内存中,内存访问时间是1ns,快表的命中率是85%,快表的访问时间为0.1ns,财效存取时间为多少?

答:

        在有快表的分页存储系统中,计算有效存取时间时,需注意访问快表与访问内存的时间关系。通常系统中,先访问快表,未命中时再访问内存;但如果题中有具体的说明,计算时则应注意区别。 计算过程:[(0.1+1)×85%+(0.1+1+1)×(1-85%)]μs=1.25μs。


13.对一个将页表存放在内存中的分页系统:
(1)如果访问内存需要0.2μs,则有效访问时间为多少?
(2)如果加一快表,且假定在快表中找到页表项的概率高达90%,则有效访问时间又s是多少(假定查快表须花费的时间为0)?

答:


14.某系统采用分页存储管理方式,拥有逻辑空间32页,每页2KB,拥有物理空间1MB。
(1)写出逻辑地址的格式。
(2)若不考虑访问权限等,则进程的页表有多少项?每项至少有多少位?
(3)如果物理空间减少一半,则页表结构应相应地做怎样的改变?

答:

15.已知某分页系统,内存容量为64KB,页面大小为1KB,对一个4页大的作业,其)
1、2、3页分别被分配到内存的2、4、6、7块中。
(1)将十进制的逻辑地址1023、2500、3500、4500变换为物理地址。
(2)以十进制的逻辑地址1023为例,画出地址变换过程图。


16.已知某系统页面长4KB,每个页表项的大小为4B,采用多层分页策略映射64位的用户地址空间。若限定最高层页表只占1页,问它可采用几层分页策略。


17.对于表5-2所示的段表,请将逻辑地址(0,137),(1,4000),(2,3600),(5,230)
变换成物理地址。
 

段表 5-2
段号内存起始地址段长
050K10KB
160K3KB
270K5KB
3120K8KB
4150K4KB

三、综合应用题


18.某系统采用动态分区分配方式管理内存,内存空间为640KB,低端40KB存放OS。系统为用户作业分配空间时,从低地址区开始。针对下列作业请求序列,画图表示使用首次适应算法进行内存分配和回收后内存的最终映像。作业请求序列如下:
作业1申请200KB,作业2申请70KB;作业3申请150KB,作业2释放70KB;作业4申请80KB,作业3释放150KB;作业5申请100KB,作业6申请60KB;作业7申请50KB,作业6释放60KB。


19.某OS采用分段存储管理方式,用户区内存为512KB,空闲块链入空闲块表,分配时截取空闲块的前半部分(小地址部分)。初始时全部空闲。执行申请、释放操作序列request(300KB)、request(100KB)、release (300KB)、request (150KB)、request(5OKB)、request(90KB)后:
(1)若采用首次适应算法,则空闲块表中有哪些空闲块(指出大小及起始地址)?
(2)若采用最佳适应算法,则空闲块表中有哪些空闲块(指出大小及起始地址)?
(3)若随后又要申请80KB,则针对上述两种情况会产生什么后果?这说明了什么问题?

20.某系统的空闲分区如表5-3所示,采用可变分区分配策略处理作业。现有作业序列96KB、20KB、200KB,若采用首次适应算法和最佳适应算法来处理这些作业序列,则哪种算法能满足该作业序列的请求?为什么?

 

表5-3空闲分区表
段号内存起始地址段长
032K100KB
110KB150K
25KB200K
3218KB220K
496KB530K


 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LeetCode热题100——双指针

双指针 1.移动零2.盛最多水的容器3.三数之和 1.移动零 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 // 题解:使用双指针,其中快指针指向非零元素,慢指针指向首个零元素下…

msvcp120.dll怎么修复,五种方法教你如何修复msvcp120.dll文件

在运行软件时,我们常常会遇到一些错误提示,其中之一就是“由于找不到msvcp120.dll无法继续执行代码”。这个错误通常发生在使用Microsoft Visual C 2013编译的程序运行时。本文将介绍5种修复这个问题的方法,帮助各位解决这个困扰。 方法一、使…

如何使用批量重命名的方法替换重复文件名内容

在文件管理过程中,我们有时会遇到文件名中包含相同部分内容的情况,这不仅会使文件显得混乱,而且还会给文件检索和使用带来不便。为了解决这个问题,我们可以使用云炫文件管理器批量重命名进行批量替换。下面是如何使用这种方法进行…

RT-Thread入门

1、初识RT-Thread RT-Thread,全称是Real Time-Thread,即嵌入式实时多线程操作系统。其基本属性之一是支持多任务,但是允许多任务同时运行,但是并不是意味着处理器在同一时刻真的执行了多个任务。实际上,一个处理器核心…

mac 安装homebrew ,golang

mac 安装homebrew ,golang 安装homebrew安装golang选择 apple arm 版本安装配置环境变量 安装homebrew /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"回车执行指令后,根据提示操作。具体包括以下提示操作&am…

深度学习(4)---生成式对抗网络(GAN)

文章目录 一、原理讲述1.1 概念讲解1.2 生成模型和判别模型 二、训练过程2.1 训练原理2.2 损失函数 三、应用 一、原理讲述 1.1 概念讲解 1. 生成式对抗网络(Generative Adversarial Network,GAN)是一种深度学习模型,是近年来复杂…

vue vant van-uploader使用compressorjs解决拍照上传的图片被旋转 90 度方法,图片压缩上传

vue vant van-uploader使用compressorjs解决拍照上传的图片被旋转 90 度方法,图片压缩上传_van-uploader 拍照上传服务器后图片翻转-CSDN博客文章浏览阅读3.2k次,点赞4次,收藏6次。van-uploader使用compressorjs解决拍照上传的图片被旋转 90 …

游戏找不到x3daudio1_7.dll无法继续执行的解决方法,快速解决dll问题

x3daudio1_7.dll是一个音频处理库,主要用于实现三维音频渲染。它包含了微软的XAudio2音频API,该API被许多游戏和应用程序用于实现高质量的音频效果。这个库文件主要处理音频的空间定位、响度均衡以及多通道音频输出等功能。在游戏中,它可以为…

08 MIT线性代数-求解Ax=b:可解性与结构Complete Solution of Ax=b

1. 可解的条件 Solvability conditions on b 检验Axb是否可解的方法是对增广矩阵进行行消元。如果矩阵A的行被完全消去的话,则对应的b的分量也要得0 两条关于b的限制条件(等价) 1. if a comb. of rows of A gives zero row, then same comb. of enties of b must …

笔记46:ResNeXt 网络详解

本地笔记地址:D:\work_file\DeepLearning_Learning\03_个人笔记\2.图像处理任务\ResNeXt网络学习 a a a a a a a a a a a a a a

【论文阅读VLDB23】Online Schema Evolution is (Almost) Free for Snapshot Databases

Online Schema Evolution is (Almost) Free for Snapshot Databases 对snapshot DB来说可以几乎在线进行schema的演变。 ABSTRACT 在现有数据库系统中,对在线和事务模式演变的支持仍然具有挑战性。之前处理这种schema 演变基本是patches补丁的方式来做&#xff0…

实战授权码登录流程

我是经常阅读公众号优质文章,也经常体验到公众号的授权登录功能。今天就来实现下,流程图如下 效果图 后端接口 主要用来接收微信服务器推送的公众号用户触发的事件、生成和验证授权码的有效性 解析微信服务器推送的事件通知 public String login(Se…

深度强化学习用于博弈类游戏-基础测试与说明【1】

深度强化学习用于博弈类游戏-基础【1】 1. 强化学习方法2. 强化学习在LOL中的应⽤2.1 环境搭建2.2 游戏特征元素提取1)小地图人物位置:2)人物血量等信息3)在整个图像上寻找小兵、防御塔的位置4)自编码器提取 3. 策略梯度算法简介参考资料 1. 强化学习方法…

工程建筑模板厂家货源,酚醛胶镜面胶合板实用型

作为工程建筑模板厂家,我们提供高品质的酚醛胶镜面胶合板,为建筑行业的模板需求提供可靠的货源。我们的产品以实用型为设计理念,旨在满足各类工程的施工需求并提供出色的性能。我们的酚醛胶镜面胶合板采用优质的木材作为原材料,经…

负载均衡的综合部署练习(hproxy+keepalived和lvs-DR+keepalived+nginx+Tomcat)

一、haproxykeepalived haproxy 2台 20.0.0.21 20.0.0.22 nginx 2台 20.0.0.23 20.0.0.24 客户机 1台 20.0.0.30 这里没有haproxy不是集群的概念,他只是代理服务器。 访问他直接可以直接访问后端服务器 关闭防火墙 安装haproxy和环境: yum in…

数据结构-初识泛型

写在前: 这一篇博客主要来初步的记录以下泛型的相关内容,内容比较琐碎,就不进行目录的整合,后续可能会对泛型这里进行系统性的梳理,此篇博客主要是对泛型有一个简单的认识与理解,需要知晓的内容。 当我调用…

能量管理系统(EMS):新能源储能行业的智能化大脑

导语:能源管理系统(EMS)是新能源储能行业中一种关键的智能化技术。它的作用类似于大脑,能够监控、控制和优化能源系统的运行,为储能设施提供高效稳定的能源管理。本文将介绍能量管理系统的基本概念、功能和应用。 一、…

excel技巧

excel技巧 🍓选中🍓填充🍓日期🍒🍒 日期快捷方式🍒🍒 日期计算🍒🍒时间相减 🍓求和🍓去除小数点🍓美化表格🍒&#x1f352…

手把手教您:思维100秋季选拔赛成绩查询+决赛报名

好消息! 2023年上海市“科学小公民”实践展示活动之“思维100”STEM应用能力活动(秋季)选拔赛成绩可以查询了,并且通过选拔的学员可以报名决赛。 那么具体如何查询思维100秋季选拔赛的成绩呢?思维100秋季决赛如何报名…

MBox肯定会因为回购和销毁将起飞

近期,币安链上的GameFi和元宇宙平台MOBOX宣布推出代币回购和销毁计划,在加密货币市场还处于熊市的现在,消息引起了不少链游打金爱好者和玩家的关注,MOBOX的讨论量也在快速上升。 在近一年多的熊市之中,很多GameFi项目从…