操作系统存储器相关习题

1 为什么要配置层次式存储器?

设置多个存储器可以使存储器两端的硬件能并行工作;
采用多级存储系统特别是Cache技术,是减轻存储器带宽对系统性能影响的最佳结构方案;
在微处理机内部设置各种缓冲存储器,减轻对存储器存取的压力。
增加CPU中寄存器数量大大缓解对存储器压力

2 可采用哪几种方式将程序装入内存?它们分别适用于何种场合?
  1. 绝对装入方式,只适用于单道程序环境
  2. 可重定位装入方式,适用于多道程序环境
  3. 动态运行时装入方式,用于多道程序环境;不允许程序运行时在内存中移位置
3 何谓静态链接?何谓装入时动态链接和运行时的动态链接?

静态链接是指在程序运行前,先将各目标模块及它们所需的库函数,链接成一个完整的装配模块,以后不再拆开的链接方式
装入时动态链接是指将用户源程序编译后得到的一组目标模块,在装入内存时采用边装入边链接的链接方式
运行时动态链接是指对某些目标模块的链接,是在程序执行中需要该目标模块时,才对它进行的链接

4 在进行程序链接时,应完成哪些工作?

由链接程序Linker将编译后形成的一组目标模块,以及它们需要的库函数链接在一起
形成一个完整的装入模块Load Module。主要工作是修改程序内的相对地址和修改目标程序中的外部调用标号

5 在动态分区分配方式中,应如何将各空闲分区链接成空闲分区链?

在每个分区的起始部分,设置一些控制分区分配的信息,以及用于链接各分区所用的前向指针;在分区尾部设置一个后向指针,
通过前后向链接指针,将所有空闲分区链成一个双向链。当分区分配出去后,把状态位由“0”改为“1”

6 为什么要引入动态重定位?如何实现?

在程序执行过程中,每当访问指令或数据时,将要访问的程序或数据的逻辑地址转换成物理地址,引入了动态重定位
具体实现方法是在系统中增加一个重定位寄存器,用来装入程序在内存中的起始地址,程序执行时,真正访问的内存地址是相对地址与重定位寄存器中的地址相加之和,从而实现动态重定位。

7 在采用首次适应算法回收内存时,可能出现哪几种情况?应怎样处理这些情况?

在采用首次适应算法回收内存时可能出现4种情况

  1. 回收区前邻空闲区。将回收区与前邻空闲区合并,将前邻空闲区大小修改为两者之和
  2. 回收区后邻空闲区。将两区合并,改后邻空闲区始址为回收区始址,大小为两者之和
  3. 回收区前后均邻空闲区。将三个分区合并,修改前邻空闲区大小为三者之和
  4. 回收区前后均不邻空闲区。回收区设置为空闲区表项,填入回收区始址和大小并插入空闲区队列
8 分区存储管理中常用那些分配策略?比较它们的优缺点。

分区存储管理中的常用分配策略:首次适应算法、循环首次适应算法、最佳适应算法、最坏适应算法。

  1. 首次适应算法优缺点:
    保留了高址部分的大空闲区,有利于后来的大型作业分配;
    低址部分不断被划分,留下许多难以利用的小空闲区,每次查找都从低址开始增加了系统开销。
  2. 循环首次适应算法优缺点:
    内存空闲分区分布均匀,减少了查找系统开销;
    缺乏大空闲分区,导致不能装入大型作业。
  3. 最佳适应算法优缺点:
    每次分配给文件的都是最适合该文件大小的分区,内存中留下许多难以利用的小空闲区
  4. 最坏适应算法优缺点:
    剩下空闲区不太小,产生碎片几率小,对中小型文件分配分区操作有利;
    存储器中缺乏大空闲区,对大型文件分区分配不利。
9 在系统中引入对换后可带来哪些好处?

交换技术将暂不需要的作业移到外存,让出内存空间以调入其它作业,交换到外存的作业也可以被再次调入。
目的是解决内存紧张问题,带来的好处是进一步提高了内存利用率和系统吞吐量。

10 为实现对换,系统应具备哪几方面的功能?

系统应具备三方面功能:对换空间管理,进程换出,进程换入

11 在以进程为单位进行对换时,每次是否都将整个进程换出?为什么?

在以进程为单位进行对换时,并非每次都将整个进程换出。这是因为:

  1. 从结构上讲,进程由程序段、数据段和进程控制块组成的,其中进程控制块总有部分或全部常驻内存,不被换出。
  2. 程序段和数据段可能正被若干进程共享,此时它们也不能换出
12 为实现分页存储管理,需要哪些硬件的支持?

动态重定位技术、虚拟存储技术、多道程序设计技术

13 较详细的说明引入分段存储管理是为了满足用户哪几方面的需要。
  1. 方便编程。
    用户通常把自己的作业按照逻辑关系划分为若干段,每段都从0编址,并有自己名字和长度。因此,希望要访问的逻辑地址是由段名和段内偏移量决定
  2. 信息共享。
    在实现对程序和数据的共享时,是以信息逻辑单位为基础。分页系统中的页是存放信息的物理单位,无完整意义,不便于共享;段是信息的逻辑单位。为了实现段的共享,希望存储管理能与用户程序分段的组织方式相适应
  3. 信息保护。
    对信息的逻辑单位进行保护,分段能更有效方便地实现信息保护功能
  4. 动态增长。
    在实际应用中,有些段特别是数据段,在使用过程中会不断增长,事先又无法确切知道增长多少。分段存储管理方式能较好解决这个问题
  5. 动态链接。
    运行时先将主程序对应的目标程序装入内存并启动运行,运行过程中又需要调用某段时,才将该段调入内存链接。所以动态链接也要求以段作为管理单位。
14 在具有快表的段页式存储管理方式中,如何实现地址变换?

在CPU给出有效地址后,由地址变换机构自动将页号P送入高速缓冲寄存器,并将此页号与高速缓存中的所有页号比较,若找到匹配页号,表示要访问的页表项在快表中。可直接从快表读出该页对应物理块号,送到物理地址寄存器中。如快表中没有对应页表项,则再访问内存页表,找到后,把从页表项中读出物理块号送地址寄存器;同时修改快表,将此页表项存入快表。但若寄存器已满,则OS必须找到合适的页表项换出

15 为什么说分段系统比分页系统更易于实现信息的共享和保护

分页系统的每个页面是分散存储的,为了实现信息共享和保护,页面之间需要一一对应,为此需要建立大量的页表项;
而分段系统的每个段都从0编址并采用一段连续的地址空间,在实现共享和保护时,只需为要共享和保护的程序设置一个段表项,将其中的基址与内存地址一一对应就能够实现

16 分段和分页存储管理有何区别?
  1. 页是信息的物理单位,分页是为了实现离散分配方式,以消减内存的外部零头,提高内存利用率;段则是信息的逻辑单位,它含有一组相对完整的信息
  2. 页的大小固定且由系统决定,由系统把逻辑地址划分为页号和页内地址两部分,是由机械硬件实现的,因而在系统中只能有一种大小的的页面;而段的长度却不固定,决定于用户所编写的程序,通常由编译程序在对原程序进行编译时,根据信息的性质来划分
  3. 分页的作业地址空间是一维的,而分段作业地址空间则是二维的
17 虚拟存储器有哪些特征?其中最本质的特征是什么?

虚拟存储器有多次性、对换性、虚拟性三大特征。最本质的特征是虚拟性

18 实现虚拟存储器需要哪些硬件支持?
  1. 请求分页(段)的页(段)表机制
  2. 缺页(段)中断机构
  3. 地址变换机构
19 实现虚拟存储器需要哪几个关键技术?

在分页请求系统中是在分页的基础上,增加了请求调页功能和页面置换功能所形成的页式虚拟存储系统。允许只装入少数页面的程序(及数据),便启动运行。
在请求分段系统中是在分段系统的基础上,增加了请求调段及分段置换功能后形成的段式虚拟存储系统。允许只装入少数段(而非所有段)的用户程序和数据,即可启动运行

20 在请求分页系统中,页表应包括哪些数据项?每项的作用是什么?

页表应包括:页号、物理块号、状态位P、访问字段 A、修改位 M 和外存地址
状态位P指示该页是否调入内存,供程序访问时参考
访问字段A用记录本页在一段时间内被访问的次数,或最近已有多长时间未被访问,提供给置换算法选择换出页面时参考
修改位M表示该页在调入内存后是否被修改过
外存地址用于指出该页在外存上的地址,通常是物理块号,供调入该页时使用。

21 在请求分页系统中,应从何处将所需页面调入内存?

请求分页系统中的缺页从何处调入内存分三种情况:

  1. 系统拥有足够对换区空间时,可以全部从对换区调入所需页面,提高调页速度。在进程运行前将与该进程有关的文件从文件区拷贝到对换区
  2. 系统缺少足够对换区空间时,不被修改的文件直接从文件区调入;当换出这些页面时,未被修改的不必换出,再调入时,仍从文件区直接调入。对于可能修改的,在换出时便调到对换区,以后需要时再从对换区调入
  3. UNIX 方式。未运行页面从文件区调入。曾经运行过但被换出页面,下次从对换区调入。UNIX系统允许页面共享,某进程请求的页面有可能已调入内存,直接使用不再调入。
22 在请求分页系统中,常采用哪几种页面置换算法?

采用的页面置换算法有:
最佳置换算法和先进先出置换算法,最近最久未使用(LRU)置换算法,Clock 置换算法,最少使用置换算法,页面缓冲算法等。

23 在请求分页系统中,通常采用哪种页面分配方式?为什么?

固定分配方式是基于进程的类型(交互型)或根据程序员、系统管理员的建议,为每个进程分配固定页数的内存空间,整个运行期间不再改变;采用可变分配方式有全局置换和局部置换两种,前者易于实现,后者效率高

24 实现 LRU 算法所需的硬件支持是什么?

需要寄存器和栈等硬件支持、寄存器用于记录某进程在内存中各页的使用情况,栈用于保存当前使用的各个页面的页面号。

25 试说明改进型 Clock 置换算法的基本原理

因为修改过的页面在换出时付出的开销比未被修改过的页面大,在改进型Clock算法中,既考虑页面的使用情况,还要增加置换代价的因素;在选择页面作为淘汰页面时,把同时满足未使用过和未被修改作为首选淘汰页面

26 说明请求分段系统中的缺页中断处理过程

请求分段系统中的缺页中断处理过程描述如下:

  1. 根据当前执行指令中的逻辑地址查页表,判断该页是否在主存储器中
  2. 该页标志为“0"形成缺页中断,中断装置通过交换PSW让操作系统的中断处理程序占用处理器
  3. 操作系统处理缺页中断处理的办法是查主存分配表找一个空闲的主存块,查页表找出该页在磁盘上位置,启动磁盘读出该页信息。
  4. 把从磁盘上读出的信息装入找到的主存块中。
  5. 当页面住处被装入主存后,应修改页表中对应的表目,填上该页所占用的主存块把标志置为“1”,表示该页已在主存储器中
  6. 由于产生缺页中断时的那条指令并没执行完,所以在把页面装入之后应重新执行被中断指令
27 如何实现分段共享 ?

在每个进程的段表中,用相应的表项指向共享段在内存中起始地址;配置相应的数据结构作为共享段表,在段表项中设置共享进程计数Count,每调用一次该共享段Count值增1,每当进程释放一个共享段时,Count减1,若减为0,则系统回收该共享段的物理内存,取消在共享段表中该段对应的表项;共享段应给不同的进程以不同的存取权限;不同的进程可以使用不同的段号去共享该段。

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

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

相关文章

HarmonyOS NEXT应用开发,关于useNormalizedOHMUrl选项的坑

起因是这样的:我这库打包发布出问题了,这个有遇到的吗? 源码里面就没有 request .d.ts,这打包后哪来个这文件?且漏掉了其他文件。 猫哥csdn.yyz_1987 为啥我打包的har里面,只有接口,没有具体实现呢&#x…

单点登录原理

允许跨域–>单点登录。 例如https://www.jd.com/ 同一个浏览器下:通过登录页面产生的cookie里的一个随机字符串的标识,在其他子域名下访问共享cookie获取标识进行单点登录,如果没有该标识则返回登录页进行登录。 在hosts文件下面做的域名…

基于Java的小程序电商商城开源设计源码

近年来电商模式的发展越来越成熟,基于 Java 开发的小程序电商商城开源源码,为众多开发者和企业提供了构建个性化电商平台的有力工具。 基于Java的电子商城购物平台小程序的设计在手机上运行,可以实现管理员;首页、个人中心、用户…

Linux查看网络基础命令

文章目录 Linux网络基础命令1. ifconfig 和 ip一、ifconfig命令二、ip命令 2. ss命令一、基本用法二、常用选项三、输出信息四、使用示例 3. sar 命令一、使用sar查看网络使用情况 4. ping 命令一、基本用法二、常用选项三、输出结果四、使用示例 Linux网络基础命令 1. ifconf…

程序设计 26种设计模式,如何分类?

1. 创建型模式 (Creational Patterns) 这些模式关注如何实例化对象。它们通过各种方式封装对象的创建过程,从而提供灵活性和可扩展性。 单例模式 (Singleton):确保某个类只有一个实例,并提供全局访问点。工厂方法模式 (Factory Method)&…

右值引用和移动语义:

C 右值引用和移动语义详解 在 C 的发展历程中,右值引用和移动语义的引入带来了显著的性能提升和编程灵活性。本文将深入探讨右值引用和移动语义的概念、用法以及重要性。 一、引言 C 作为一门高效的编程语言,一直在不断演进以满足现代软件编程的需求。…

图形渲染性能优化

variable rate shading conditional render 设置可见性等, 不需要重新build command buffer indirect draw glMultiDraw* - 直接支持多次绘制glMultiDrawIndirect - 间接多次绘制multithreading 多线程录制 实例化渲染 lod texture array 小对象剔除 投影到…

SpringMVC工作原理【流程图+文字详解SpringMVC工作原理】

SpringMVC工作原理 前端控制器:DispactherServlet处理器映射器:HandlerMapping处理器适配器:HandlerAdapter处理器:Handler,视图解析器:ViewResolver视图:View 首先用户通过浏览器发起HTTP请求…

12寸先进封装设备之-晶圆减薄一体机

晶圆减薄一体机在先进封装厂中的主要作用是对已完成功能的晶圆(主要是硅晶片)的背面基体材料进行磨削,去掉一定厚度的材料,以满足后续封装工艺的要求以及芯片的物理强度、散热性和尺寸要求。随着3D封装技术的发展,晶圆厚度需要减薄至50-100μm甚至更薄,以实现更好的散热效…

CTF之WEB(php弱类型绕过)

PHP 的弱类型特性有时会导致意外的行为,特别是在类型比较时。这些特性可以被利用来绕过一些预期的安全检查。以下是一些常见的 PHP 弱类型绕过技巧及其解释: 类型介绍 1. 类型比较 ( vs ) 在 PHP 中, 是松散比较,而 是严格比较…

【mysql】字段区分大小写,设置字符集SET utf8mb4 COLLATE utf8mb4_bin

1. 背景 由于 varchar(100) 不区分字段大小写 2. 解决办法 SET utf8mb4 COLLATE utf8mb4_bin 需要设置字符集就可以实现区分大小写

Online Judge——【前端项目初始化】项目通用布局开发及初始化

目录 一、新建layouts二、更新App.vue文件三、选择一个布局(Layout)四、通用菜单Menu的实现菜单路由改为读取路由文件 五、绑定跳转事件六、同步路由到菜单项 一、新建layouts 这里新建一个专门存放布局的布局文件layouts: 然后在该文件夹&…

十四(AJAX)、AJAX、axios、常用请求方法(GET POST...)、HTTP协议、接口文档、form-serialize

1. AJAX介绍及axios基本使用 <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8" /><meta http-equiv"X-UA-Compatible" content"IEedge" /><meta name"viewport" content&q…

原生js上传图片

无样式上传图片 创建一个 FormData 对象&#xff1a;这个对象可以用于存储数据。 将文件添加到 FormData 对象&#xff1a;通过 append() 方法&#xff0c;将用户选择的文件添加到 formData 对象中。 使用 fetch 发送请求&#xff1a;使用 fetch API 或者其他方法将 FormDat…

53 基于单片机的8路抢答器加记分

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 首先有三个按键 分别为开始 暂停 复位&#xff0c;然后八个选手按键&#xff0c;开机显示四条杠&#xff0c;然后按一号选手按键&#xff0c;数码管显示&#xff13;&#xff10;&#xff0c;这…

【深度学习】各种卷积—卷积、反卷积、空洞卷积、可分离卷积、分组卷积

在全连接神经网络中&#xff0c;每个神经元都和上一层的所有神经元彼此连接&#xff0c;这会导致网络的参数量非常大&#xff0c;难以实现复杂数据的处理。为了改善这种情况&#xff0c;卷积神经网络应运而生。 一、卷积 在信号处理中&#xff0c;卷积被定义为一个函数经过翻转…

前端页面或弹窗在线预览文件的N种方式

需求&#xff1a;后端返回给前端一个地址后&#xff0c;在前端页面上或则在弹框中显示在线的文档、表格、图片、pdf、video等等&#xff0c;嵌入到前端页面 方式一&#xff1a; 使用vue-office 地址&#xff1a;vue-office简介 | vue-office 个人感觉这个插件是最好用的&#x…

Windsurf可以上传图片开发UI了

背景 曾经羡慕Cursor的“画图”开发功能&#xff0c;这不Windsurf安排上了。 Upload Images to Cascade Cascade now supports uploading images on premium models Ask Cascade to build or tweak UI from on image upload New keybindings Keybindings to navigate betwe…

ArraList和LinkedList区别

文章目录 一、结构不同二、访问速度三、插入和删除操作的不同1、决定效率有两个因素&#xff1a;数据量和位置。2、普遍说法是“LinkedList添加删除快”&#xff0c;这里是有前提条件的 四、内存占用情况五、使用场景六、总结 一、结构不同 LinkedList&#xff1a;它基于双向链…

【模型剪枝】YOLOv8 模型剪枝实战 | 稀疏化-剪枝-微调

文章目录 0. 前言1. 模型剪枝概念2. 模型剪枝实操2.1 稀疏化训练2.2 模型剪枝2.3 模型微调总结0. 前言 无奈之下,我还是写了【模型剪枝】教程🤦‍♂️。回想当年,在写《YOLOv5/v7进阶实战专栏》 时,我经历了许多挫折,才最终完成了【模型剪枝】和【模型蒸馏】的内容。当时…