系统架构设计师—计算机基础篇—存储管理

news2025/3/4 2:03:09

文章目录

  • 基本概念
    • 地址重定位
  • 存储管理方案
    • 分区存储管理
    • 分页存储管理
      • 做题的方法
        • 地址重定位
        • 淘汰页号
    • 分段存储管理
    • 段页式存储管理
    • 虚拟存储管理

基本概念

地址重定位

地址重定位是指将程序中的虚拟地址(逻辑地址)变换称内存的真实地址(物理地址)的过程。

逻辑地址:相对地址。

  • 用户目标程序所使用的地址单元,一般以0作为基址。

物理地址:绝对地址。

  • 加载到内存地址寄存器中的地址,内存单元的真正地址。

存储管理方案

存储管理的主要目的是解决多个用户使用主存的问题。

分区存储管理

把主存的用户区域划分成若干个区域,每个区域分配给一个用户作业使用,并限定它们只能在自己的区域中运行。

  • 单独分配的符合用户作业需求的完整区域
  • 连续的区域

分页存储管理

将一个进程的地址空间划分成若干个大小相等的区域,称为

相应地,将主存空间划分成与页相同大小的若干个物理,称为块或页框

  • 平均分配的大小相等的区域
  • 离散的区域

做题的方法

地址重定位
页号物理块号
03
16
28
39
假设页和物理块的大小均为1024B
页号=2100/1024≈2
页内地址=2100-1024×2=52
物理块=页号为2的物理块号=8
物理地址=8×1024+52=8244
淘汰页号

状态位:0-不在内存,1-在内存。
访问位:0-经常访问,1-不经常访问。
修改位:0-无修改,1-有修改。

  • 淘汰的页面一定是在内存的,即状态位=1
  • 优先级:访问位=0 >> 修改位=0。

分段存储管理

为每个段分配一个连续的分区,而进程的各个段可以离散地分配到主存的不同分区中。在系统中为每个进程建立一张段映射表,简称为“段表”。

每个段在表中占有一个表项,在其中记录了该段在主存中的起始地址(又称“基址”)和段的长度。进程在执行时,通过查段表来找到每个段所对应的主存区。

  • 按进程资源的实际大小,分配段长。
  • 离散的区域。

段页式存储管理

先将整个主存划分成大小相等的存储块(页框),将用户程序按程序的逻辑关系分为若干个段,再将每个段划分成若干页,以页框为单位离散分配。

段页式系统中,其地址结构由段号、段内页号和页内地址三部分组成。

  • 按进程资源的实际大小,分配段长。
  • 段内平均分配大小相等的区域(页)。
  • 离散的区域。

虚拟存储管理

当主存空间不能满足作业要求时,作业无法装入主存执行。

如果一个作业只部分装入主存便可开始启动运行,其余部分暂时留在磁盘上,在需要时再装入主存,这样可以有效地利用主存空间。

从用户角度看,该系统所具有的主存容量将比实际主存容量大得多,这样的存储器称为虚拟存储器

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

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

相关文章

【第二十五周】:DeepPose:通过深度神经网络实现人体姿态估计

DeepPose 摘要Abstract文章信息引言DeepPose归一化网络结构初始网络(粗略估计所有关节点位置)精细化级联网络(分别修正每个关节点的位置) 疑问与解决代码实践总结 摘要 这篇博客介绍了DeepPose,这是首个基于深度神经网…

ARM Linux LCD上实时预览摄像头画面

文章目录 1、前言2、环境介绍3、步骤4、应用程序编写4.1、lcd初始化4.2、摄像头初始化4.3、jpeg解码4.4、开启摄像头4.5、完整的程序如下 5、测试5.1、编译应用程序5.2、运行应用程序 6、总结 1、前言 本次应用程序主要针对支持MJPEG格式输出的UVC摄像头。 2、环境介绍 rk35…

MacOS本地部署Deepseek,不联网也可以使用AI,保护隐私

苹果笔记本本地部署deepseek主要用到Ollama与open-webui 1. 安装Ollama “Ollama” 是一个轻量级的 AI 模型运行时环境(runtime),旨在简化在本地部署和使用大语言模型(LLM)的过程。它由 Vicarious 公司开发&#xff…

Sqlserver安全篇之_启用TLS即配置SQL Server 数据库引擎以加密连接

官方文档 https://learn.microsoft.com/zh-cn/sql/database-engine/configure-windows/configure-sql-server-encryption?viewsql-server-ver16 https://learn.microsoft.com/zh-cn/sql/database-engine/configure-windows/manage-certificates?viewsql-server-ver15&pre…

创建一个MCP服务器,并在Cline中使用,增强自定义功能。

MCP介绍 MCP 是一个开放协议,它标准化了应用程序如何向LLMs提供上下文。可以将 MCP 视为 AI 应用程序的 USB-C 端口。正如 USB-C 提供了一种标准化的方法来将您的设备连接到各种外围设备和配件一样,MCP 提供了一种标准化的方法来将 AI 模型连接到不同的…

游戏引擎学习第131天

仓库:https://gitee.com/mrxiao_com/2d_game_3 运行游戏并识别我们的小问题 今天的工作重点是对游戏引擎进行架构优化,特别是针对渲染和多线程的部分。目前,我们的目标是让地面块在独立线程上进行渲染,以提高性能。在此过程中,我…

人大金仓国产数据库与PostgreSQL

一、简介 在前面项目中,我们使用若依前后端分离整合人大金仓,在后续开发过程中,我们经常因为各种”不适配“问题,但可以感觉得到大部分问题,将人大金仓视为postgreSQL就能去解决大部分问题。据了解,Kingba…

MacBook Pro使用FFmpeg捕获摄像头与麦克风推流音视频

FFmpeg查看macos系统音视频设备列表 ffmpeg -f avfoundation -list_devices true -i "" 使用摄像头及麦克风同时推送音频及视频流: ffmpeg -f avfoundation -pixel_format yuyv422 -framerate 30 -i "0:1" -c:v libx264 -preset ultrafast -b:v 1000k -…

APISIX Dashboard上的配置操作

文章目录 登录配置路由配置消费者创建后端服务项目配置上游再创建一个路由测试 登录 http://192.168.10.101:9000/user/login?redirect%2Fdashboard 根据docker 容器里的指定端口: 配置路由 通过apisix 的API管理接口来创建(此路由,直接…

计算机毕业设计SpringBoot+Vue.js人力资源管理系统(源码+文档+PPT+讲解)

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…

腾讯云扩容记录

腾讯云扩容: sudo yum install -y cloud-utils-growpart 安装扩容工具 sudo file -s /dev/vda1 有数据 sudo LC_ALLen_US.UTF-8 growpart /dev/vda 1 sudo resize2fs /dev/vda1 df -Th 完毕 以下是对执行的命令的详细解释以及背后的原理: 1. 安装 cloud…

Cherry Studio + 火山引擎 构建个人AI智能知识库

🍉在信息化时代,个人知识库的构建对于提高工作效率、知识管理和信息提取尤为重要。尤其是当这些知识库能结合人工智能来智能化地整理、分类和管理数据时,效果更为显著。我最近尝试通过 Cherry Studio 和 火山引擎 来搭建个人智能知识库&#…

完美解锁便捷版!

视频文件的种类繁多,包括常见的格式如MP4、AVI、MOV、MKV等。随着视频技术的发展,新的编码格式如HEVC(H.265)和AV1也逐渐被广泛应用;视频文件通常会经过压缩,并且每种格式都有其独特的编码方式和特性&#…

JAVA SE 包装类和泛型

文章目录 📕1. 包装类✏️1.1 基本数据类型和对应的包装类✏️1.2 装箱和拆箱✏️1.3 自动装箱和自动拆箱 📕2. 泛型✏️2.1 泛型的语法✏️2.2 泛型类的使用✏️2.3 裸类型(Raw Type)✏️2.4 擦除机制✏️2.5 泛型的上界✏️2.6 泛型方法✏️2.7 通配符…

人工智能AI在汽车设计领域的应用探索

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 简单,单纯,喜欢独处,独来独往,不易合同频过着接地气的生活…

Vue3国际化开发实战:i18n-Ally + vue-i18n@next高效配置教程,项目中文显示

本文详解 Vue3 国际化开发全流程:从安装 vue-i18nnext 到配置多语言文件(JSON/YAML),结合 i18n-Ally 插件实现高效翻译管理。重点涵盖: 工程配置:创建 i18n 实例、模块化语言文件结构(支持命名…

深入理解Spring @Async:异步编程的利器与实战指南

一、为什么需要异步编程? 在现代高并发系统中,同步阻塞式编程会带来两大核心问题: // 同步处理示例 public void processOrder(Order order) {// 1. 保存订单(耗时50ms)orderRepository.save(order); // 2. 发送短信…

java后端开发day25--阶段项目(二)

(以下内容全部来自上述课程) 1.美化界面 private void initImage() {//路径分两种://1.绝对路径:从盘符开始写的路径 D:\\aaa\\bbb\\ccc.jpg//2.相对路径:从当前项目开始写的路径 aaa\\bbb\\ccc.jpg//添加图片的时…

【 开发知识点 一 】 随机数生成器 /dev/urandom 和 /dev/random

文章目录 一、随机数生成器 是什么 ?二、为什么 需要 随机数生成器 ?三、随机数生成器 基本原理四、随机数生成器 三个输出接口五、随机生成器 应用1、简单应用2、项目应用一、随机数生成器 是什么 ? /dev/random 和 /dev/urandom 是 Linux 上的字符设备文件,它们是随机数…

(动态规划 最长递增的子序列)leetcode 300

这道题我第一眼反应就是暴力,但是暴力的话就是n*n-1*n-2*...n-(n-1) 也就是O(n^n)dfs做绝对超时 贪心也不行,这里是子序列,要考虑在ni的范围内考虑多种路线取最优,所以用动态规划 如何用动态规划呢? 答:…