操作系统:可变分区管理

  1. 有作业序列:作业A要求42K;作业B要求27K,作业C要求22K,作业和空闲内存区如下图所示,请画出最佳适应算法空闲队列图,并分析最佳适应算法是否适合该作业系列。

答:最佳适应算法是按照空闲块由小到大的顺序排序的,其空闲块队列图如下图所示:

最佳适应算法对该作业系列适应性分析如下:

步骤1,作业A请求分配内存42K,遍历最佳适应算法空闲队列,作业A将从首地址210的内存块45K中分得42K内存(假设从空闲块尾部分割),剩余首地址210的3K空闲内存(210,3)将作为新的空闲块在最佳适应算法空闲队列中重新排序并得到如下排序序列{(210,3),(160,9),(110,24),(31,33)}。

步骤2,作业B请求分配内存27K,遍历分配完作业A之后的最佳适应算法空闲队列{(210,3),(160,9),(110,24),(31,33)},作业B将从首地址31的内存块33K中分得27K内存(假设从空闲块尾部分割),剩余首地址31的6K空闲内存(31,6)将作为新的空闲块在最佳适应算法空闲队列中重新排序并得到如下排序序列{(210,3),(31,6),(160,9),(110,24)}。

步骤3,作业C请求分配内存22K,遍历分配完作业AB之后的最佳适应算法空闲队列{(210,3),(31,6),(160,9),(110,24)},作业C将从首地址110的内存块24K中分得22K内存(假设从空闲块尾部分割),剩余首地址110的2K空闲内存(110,2)将作为新的空闲块在最佳适应算法空闲队列中重新排序并得到如下排序序列{(110,2),(210,3),(31,6),(160,9)}。

至此,作业ABC按照最佳适应算法均获得了所需要的内存分配,因此,最佳适应算法适合作业系列ABC的内存分配请求。

2.动态分区存储管理算法。某基于动态分区存储管理的计算机,其主存容量为55MB(初始为空闲),采用首次适配(FirstFit)算法,分配和释放的顺序为:分配15MB、分配30MB、释放15MB、分配8MB、分配6MB,此时主存中最大空闲分区的大小是多少?请解释首次适应算法,用图形分析上述情况的内存分配过程。

答:此时内存空间中最大的空闲分区大小是10M。

首次适应算法是按内存物理地址由小到大排序,每一个作业进来,都从低地址开始查找大于或等于作业大小的空闲块,如果满足条件,则分配,否则不分配。

其内存空间的分配过程如下所示:

经过以上分配与释放过程,此时内存空间中最大的空闲分区大小是10M。

3.动态分区存储管理算法。某基于动态分区存储管理的计算机,其主存容量为55MB(初始为空闲),采用最佳适配(BestFit)算法,分配和释放的顺序为:分配15MB、分配30MB、释放15MB、分配8MB、分配6MB,此时主存中最大空闲分区的大小是多少?请解释最佳适应算法,用图形分析上述情况的内存分配过程。

答:此时内存空间中最大的空闲分区大小是9M。

最佳适应算法要求空闲分区按容量大小递增的次序排列。当用户作业申请一个空闲区时,存储管理程序从空闲分区表(链)首开始顺序查找,当找到第一个满足要求的空闲区时,停止查找。

其内存空间的分配过程如下所示:

经过以上分配与释放过程,此时内存空间中最大的空闲分区大小是9M。

4.采用可变分区方式管理主存空间时,若主存中按地址顺序依次有5个大小分别为15KB、28KB、10KB、226KB和110KB的空闲区。现在有5个作业JA、JB、JC、JD和JE,它们所需的主存依次为10KB、15KB、102KB、26KB和180KB。请问:

(1)如果采用首次适应算法能把这5个作业按JA~JE的次序全部装入主存吗?

(2)用什么分配算法装入这5个作业可使主存的利用率最高?

(1)不能。

对于首次适应算法,即按照存储地址从小到大的顺序分配内存。

装入JA后内存空闲区变为:5KB、28KB、10KB、226KB和110KB

装入JB后内存空闲区变为:5KB、13KB、10KB、226KB和110KB

装入JC后内存空闲区变为:5KB、13KB、10KB、124KB和110KB

装入JD后内存空闲区变为:5KB、13KB、10KB、98KB和110KB

因为JE需要180KB的内存区,所以不能满足

(2)用最佳适应算法,即按照空闲块由大到小动态排序的顺序分配内存。能使主存的利用率最高,此时五个内存块依次装入五个作业为:JA(10KB)、JB(15KB)、JC(110KB)、JD(28KB)、JE(110KB)

5.有作业序列:作业A要求18KB,作业B要求25KB,作业C要求30KB,初始内存分配情况如下图所示,问首次适应算法、最佳适应算法和最坏适应算法中哪些能够满足该作业序列的分配?并写出判断过程。

  1. 对于首次适应算法,即按照存储地址从小到大的顺序分配内存。作业A分配30KB的空闲分区,作业B分配45KB的空闲分区,此时无法为作业C分配合适的空闲分区了。
  2. 对于最佳适应算法,即按照空闲块由小到大动态排序的顺序分配内存。作业A分配20KB的空闲分区,作业B分配30KB的空闲分区,作业C分配45KB的空闲分区。
  3. 对于最坏适应算法,即按照空闲块由大到小动态排序的顺序分配内存。作业A分配45KB的空闲分区,作业B分配30KB的空闲分区,作业C无法分配到合适的空闲分区。

因此,最佳适应算法能够满足该作业序列的需求。

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

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

相关文章

【辐射场】3D Gaussian Splatting

三维高斯…喷喷 \, 3D Gaussian Splatting,下文简称3DGS,是好一段时间以来在三维内容创作和三维重建领域比较有热度的一项技术。 它属于基于图像的三维重建方法,意思就是你对现实物体或者场景拍照片,就能给你训练成一个场景模型&a…

C语言之整型提升

文章目录 1 有可能出现的问题2 产生以上问题的原因&#xff08;整型提升&#xff09;3 整型提升的过程4 整型提升示例5 总结 1 有可能出现的问题 代码如下 #include <stdio.h>int main () {int a -1;unsigned int b 1;if (a < b) {printf("a < b");}…

【Spring Security】认证之案例的使用、MD5加密、CSRF防御

目录 一、引言 1、什么是SpringSecurity认证 2、为什么使用SpringSecurity之认证 3、实现步骤 二、快速实现&#xff08;案例&#xff09; 1、添加依赖 2、配置 3、导入数据表及相关代码 4、创建登录页及首页 5、创建配置Controller 6、用户认证 6.1、用户对象User…

WEB 3D技术 three.js通过 GLTFLoader 导入并应用 gltf/glb 3D资源

上文 WEB 3D技术 three.js 雾 基础使用讲解我们讲了雾的基本使用方法 但是 如果我们要做一个树林 一颗一颗树去加 那真的是要累死了 我们一定是在建模软件上 建模好这样的模型 然后将模型导入到场景中 官网中搜索 GLTFLoader 在我们日常WEB开发中 用的最多的3D格式 就是 GLTF…

python练习2【题解///考点列出///错题改正】

一、单选题 【文件】 *1.【单选题】 ——文件&#xff1a;读取方法 下列哪个选项可以从文件中读取任意字节的内容&#xff1f;&#xff08;C &#xff09;A A.read() B.readline() C.readlines() D.以上全部 A\B\C三种方法都是可以读取文件中任意的字节内容的&#xff0…

Lesson 06 vector类(上)

C&#xff1a;渴望力量吗&#xff0c;少年&#xff1f; 文章目录 一、vector是什么&#xff1f;二、vector的使用1. 构造函数2. vector iterator3. vector 空间增长问题4. vector增删查改 三、vector实际使用 一、vector是什么&#xff1f; vector是表示可变大小数组的序列容器…

使用Python实现简单的区块链

区块链技术作为一种分布式数据库技术,近年来备受关注。它的去中心化、安全性高的特点使得它在金融、物联网、供应链管理等领域有着广泛的应用前景。本文将介绍如何使用Python语言实现一个简单的区块链,包括创建区块、交易记录和工作量证明等功能。 区块链基本概念 区块链是由…

mysql视图(view)视图、创建、使用、查询、删除、视图的作用等操作

视图 1、视图的定义2、视图的创建3、视图的使用4、视图的查询5、查看视图的建立6、删除视图7、视图的作用 1、视图的定义 视图&#xff1a;视图是从一个或者多个基本表&#xff08;或视图&#xff09;导出的表。它与基本表不同&#xff0c;是一个虚表。视图有一个特性&#xf…

LVGL 在framebuffer设备上的移植

LVGL 在framebuffer设备上的移植 ItemDescDate2023-12-31Authorhongxi.zhuplatformNXP I.MX6ULLLCDSPI TFTLCD NV3030B 文章目录 LVGL 在framebuffer设备上的移植一、LVGL源码获取二、源码修改适配三、编译&运行补充 一、LVGL源码获取 新建lvgl_imx6ull文件夹&#xff0c…

低代码开发中业务蓝图的重要性:业务需求与系统实现的桥梁

在低代码应用开发领域&#xff0c;业务蓝图是一个至关重要的工具&#xff0c;它提供了组织业务流程需求的详细信息。它类似于一份指导开发人员进行应用开发的路线图&#xff0c;确保与业务的战略目标和需求保持一致。 低代码方法学&#xff0c;顾名思义&#xff0c;即减少了传…

水利工程制图解决方案的突破

小小的纪念下&#xff0c;终于实现CAD数字成图的实现&#xff0c;在高标准农田设计中软件成图比例占比60%以上。

Google机器人团队获ICRA 2023 机器人学习方向最佳论文奖:机器人实体控制的大语言模型程序

这篇论文主要讨论了大型语言模型&#xff08;LLM&#xff09;在机器人控制方面的应用。作者们指出&#xff0c;尽管LLM在理解和生成自然语言方面表现出色&#xff0c;但其在实际应用中&#xff0c;如机器人控制等领域的应用仍然有限。因此&#xff0c;他们提出了一种新的方法&a…

力扣labuladong一刷day49天迪杰斯特拉

力扣labuladong一刷day49天迪杰斯特拉 文章目录 力扣labuladong一刷day49天迪杰斯特拉一、743. 网络延迟时间二、1631. 最小体力消耗路径三、1514. 概率最大的路径 一、743. 网络延迟时间 题目链接&#xff1a;https://leetcode.cn/problems/network-delay-time/ 使用迪杰斯特…

登峰造极,师出造化,Pytorch人工智能AI图像增强框架ControlNet绘画实践,基于Python3.10

人工智能太疯狂&#xff0c;传统劳动力和内容创作平台被AI枪毙&#xff0c;弃尸尘埃。并非空穴来风&#xff0c;也不是危言耸听&#xff0c;人工智能AI图像增强框架ControlNet正在疯狂地改写绘画艺术的发展进程&#xff0c;你问我绘画行业未来的样子&#xff1f;我只好指着Cont…

每日一题——LeetCode976

方法一 个人方法 找规律&#xff1a; 要求要围成三角形且周长最大&#xff0c;那么三条边自然是越大且越接近越好。那么我们就从最大的三条边开始看能不能围成三角形。如果不能组成三角形&#xff0c;则丢弃最长的那条&#xff0c;再取剩余边里最长的那条再看能不能组成三角形…

第二百三十八回

文章目录 1. 概念介绍2. 原因与方法2.1 问题原因2.2 解决方法 3. 代码与效果3.1 示例代码3.2 运行效果 4. 内容总结 我们在上一章回中介绍了"修改页面导航中遇到的问题"沉浸式状态样相关的内容&#xff0c;本章回中将介绍如何修改Avatar的大小.闲话休提&#xff0c;让…

二叉树的中序遍历,力扣

目录 题目地址&#xff1a; 题目&#xff1a; 解题方法&#xff1a; 解题分析&#xff1a; 解题思路&#xff1a; 代码实现&#xff1a; 注&#xff1a; 代码实现&#xff08;递归&#xff09;&#xff1a; 代码实现&#xff08;迭代&#xff09;&#xff1a; 题目地址&#xf…

数据库——建立ER模型及关系模型转换

​ 【实验内容及要求】 使用画图工具或MySQL Workbench等建模工具设计出相应的ER图&#xff0c;将局部ER图合并为一个整体ER模型&#xff0c;在ER模型中填加多样性约束&#xff0c;建立显示主键的ER模型&#xff0c;标识实体的属性&#xff0c;确认主键、外键。将上述ER图转化…

dubbo3 consumer消费端重启调用接口有30多秒等待问题

1、问题 Dubbo3 consumer消费端重启后&#xff0c;立即调用接口&#xff0c;需要等待有30多秒或者更久 之前没有加dubbo日志&#xff0c;所以 restful请求进去&#xff0c;直接卡住了&#xff0c;一直等待30多秒左右 加上dubbo日志后 2023-12-29 11:26:55.868 [main] INFO …

Nx市工业数据洞察:Flask、MySQL、Echarts的可视化之旅

Nx市工业数据洞察&#xff1a;Flask、MySQL、Echarts的可视化之旅 背景数据集来源技术选型功能介绍创新点总结 背景 随着工业化的不断发展&#xff0c;Nx市工业数据的收集和分析变得愈发重要。本博客将介绍如何利用Flask、MySQL和Echarts等技术&#xff0c;从统计局获取的数据…