【操作系统和强化学习】1.内存管理策略

news2024/11/26 2:32:09

文章目录

  • 前言
  • 1.内存是什么
    • 1.1 基本硬件
      • 保护措施
    • 碎片
    • 1.2 分段机制
    • 1.2.1 分段硬件
    • 1.3 分页


前言

CPU的调度可以提高CPU的利用率和计算机的响应用户的速度。为了改进性能,应该将多个进程保存在内存中。也就是说必须共享内存。
本文讨论的是如管理内存。


1.内存是什么

内存是现代计算机运行的核心,由一个很大的字节数组来组成,每个字节都有各自的地址。
CPU根据程序计数器的值(PC指针的值)从内存中取指令。
与内存管理技术有关的问题:基本硬件/符号内存地址绑定到实际物理地址以及逻辑地址与物理地址的差别等。最后是动态链接与共享库。

1.1 基本硬件

CPU可以直接访问的通用储存只有内存和处理器内置的计算器。机器指令可以用内存地址作为参考。
CPU内置寄存器可以在一个CPU时钟周期内完成访问。大多数CPU可以在一个时钟周期内解释并执行一条或多条指令。而对于内存访问莫须有多个CPU时钟周期。CPU缺少数据,通常需要暂停stall。
弥补这一不对等的问题,增加高速缓存。
增加告诉缓存要考虑的问题:1,关心物理内存的 访问速度。 2.确保操作正确,不能再用户态执行 3.保护用户进程互相不受感召。
这种保护通常通过硬件来实现,因为操作系统通常不干预CPU对内存的访问。

保护措施

基地址寄存器 base Register: 含有最小的合法的物理内存地址。
界限地址寄存器Limit Register: 指定了范围大小。
内存空间保护是通过cpu硬件对用户模式下产生的地址与寄存器的地址进行比较来完成的。

指令和数据绑定到储存器地址可以发生在:
1.编译时 compile time
2.加载时 load time
3. 执行时 runtime time
从虚拟地址到物理地址的运行时映射时MMU,内存管理单元。
MMU中有一个重定位寄存器。

碎片

外部碎片和内部碎片
外部碎片的解决方法时紧缩,通过移动内存内容,将所有空闲空间合并成一整块。只有重定位时动态的,并且再运行时进行的,才能采用紧缩。

1.2 分段机制

分段:支持用户视图的内存管理方案,逻辑地址空间时由一组段构成。每个段都有名称和长度。地址制定了段名称和段内位移。
在这里插入图片描述

1.2.1 分段硬件

通过段表来实现,段表的每个row,都有端基地址和段界限。

1.3 分页

分段运训进程的物理地址空间是非连续的。分页paging是提供这种优势的另一种内存管理方案,并且避免了外部碎片和紧缩。二分段不可以。

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

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

相关文章

知识变现海哥:我是如何通过知识变现年赚100万的

我叫王海青,大家都称我海哥,是一名知识变现导师,海青教育创始人。从2011年开始,已经从事知识变现培训服务10多年,帮助3000人实现了个人知识技能变现,一直致力于帮助普通人,把自己的一项知识技能…

TiDB实战篇-操作系统参数TiDB Server

操作系统参数 CPU 绿色的是设置cpu用最高的频率去使用cpu。 专门有一个内存给指定的cpu使用。减少cpu的相应时间。 内存 大页的优化,操作系统关闭大页 。 磁盘 TiDB Server配置 cpu 同时多少个会话 如果负载很高那么就往下面调节。 控制优先级(…

计算卸载论文阅读01-理论梳理

标题:When Learning Joins Edge: Real-time Proportional Computation Offloading via Deep Reinforcement Learning 会议:ICPADS 2019 一、梳理 问题:在任务进行卸载时,往往忽略了任务的特定的卸载比例。 模型:针…

BUUCTF ciscn_2019_c_1

小白垃圾做题笔记而已,不建议阅读。 1前期: 其实刚开始拿到程序的时候我还以为是逆向题放错地方了。唉,做题太少了。啥也不会。我是大笨蛋。 题目中用的是ubuntu18,我的ubuntu没怎么用过,vmtools都不能用&#xff0c…

【源码解析】canal核心功能源码解析

1. 项目地址 https://github.com/alibaba/canal.git2. 模块介绍 canal核心模块的功能: deployer模块:独立部署模块,用于canal-server的独立启动,包括本地配置解析、拉取远程配置、启动canal-server。server模块:cana…

山东专升本计算机第六章-数据库技术

数据库技术 SQL数据库与NOSQL数据库的区别 数据库管理系统 考点 6 数据库管理系统的组成和功能 组成 • 模式翻译 • 应用程序的翻译 • 交互式查询 • 数据的组织和存取 • 事务运行管理 • 数据库的维护 功能 • 数据定义功能 • 数据存取功能 • 数据库运行管理…

MySQL备份和恢复

文章目录 一、库的备份和恢复1.库的备份2.库的恢复 二、表的备份和恢复1.表的备份2.表的恢复 备份数据,其实就是生成一个 sql 文件,把创建数据库、创建表、插入数据等各种 SQL 语句都装载到这个文件中。恢复数据,其实就是按顺序执行 sql 文件…

操作系统进程概述、通信

进程 进程就是程序的一次执行过程,同一个程序多次执行对应多个进程; 一、进程的组成 1、PCB (1)进程描述信息:主要是PID等关键信息; (2)进程控制和管理信息; &#xf…

( 数组和矩阵) 566. 重塑矩阵 ——【Leetcode每日一题】

❓566. 重塑矩阵 难度:简单 在 MATLAB 中,有一个非常有用的函数 reshape ,它可以将一个 m x n 矩阵重塑为另一个大小不同(r x c)的新矩阵,但保留其原始数据。 给你一个由二维数组 mat 表示的 m x n 矩阵…

unity-VRTK-simulator开发学习日记3(射线样式|忽略层|有无效名单)

目录 射线样式 组成 可用状态 材质替换 射线激活设置为常态 忽略层级(射线等) 自定义忽略层级 (射线等) 有效名单和无效名单 有效名单 无效名单 创建一个模拟手柄的按钮(键盘键入按钮) 输入系统…

最新Wordpress网站因重装宝塔而导致数据库崩溃无法访问的终极解决办法

在当今数字化时代,拥有自己的网站已成为越来越多人展示个人或企业信息的重要方式。虽然建立并维护自己网站看起来是一个简单的过程,但如果出现问题,比如数据丢失、网站无法正常运行等情况时,往往会令用户感到十分懊恼和无助。在这…

sql注入(二)盲注,二次注入,宽字节注入

目录 目录 一、布尔盲注 1.判断库名的长度 2.判断数据库名 2.1判断数据库名首字符 2.2 判断数据库名的其余字符 二、时间盲注: 1.判断库名的长度 2.判断库名: 3.判断表名payload: 4.爆出列名 5.爆数据 三、二次注入 1.原理&#…

【某软件网络协议分析】

由于网站无法上传附件,本帖子完整内容请点击此处 首先,从coco.apk提取dex文件,利用dex2jar将dex转化为jar,拖到jd-gui中,发现有如下几个可疑点: com.azus.android.tcplogin.CryptUtil.rsaEncrypt com.azus…

MySQL示例数据库(MySQL Sample Databases) 之 Employees 数据库

文章目录 MySQL示例数据库(MySQL Sample Databases) 之 Employees 数据库官方示例数据介绍Employees 数据库Employees 数据库安装Employees 数据库的结构参考 MySQL示例数据库(MySQL Sample Databases) 之 Employees 数据库 官方示例数据介绍 MySQL 官方提供了多个示例数据库…

二叉树及其遍历

文章目录 二叉树树的定义二叉树的定义遍历先序遍历中序遍历后序遍历层次遍历定义队列层次创建二叉树层次遍历 二叉树 树是一种非线性的数据结构,由若干个节点组成,节点之间存在一种父子关系,具有层次结构。二叉树是一种特殊的树结构&#xff…

火遍全网的ChatGPT究竟是什么?

ChatGPT是什么 ChatGPT是一个由OpenAI开发的大型语言模型,基于GPT-3.5架构。它被训练用于自然语言处理和生成任务,可以回答各种问题,包括一般知识、文化、科学、技术、商业、娱乐等方面的问题。ChatGPT可以进行对话,回答用户的问…

OJ刷题 第十四篇(递归较多)

23204 - 进制转换 时间限制 : 1 秒 内存限制 : 128 MB 将一个10进制数x(1 < x < 100,000,000)转换成m进制数(2< m < 16) 。分别用 ABCDEF表示10以上的数字。 输入 x m (1 < x < 100,000,000, 2< m < 16) 输出 m进制数 样例 输入 31 16 输出 1F 答…

功能齐全的 ESP32 智能手表,具有多个表盘、心率传感器硬件设计

相关设计资料下载ESP32 智能手表带心率、指南针设计资料(包含Arduino源码+原理图+Gerber+3D文件).zip 介绍 我们调查了智能手表项目的不同方面,并学会了集成和测试每个单独的部分。在本文中,我们将使用所学知识,结合使用硬件和软件组件,从头开始创建我们自己的智能手表。在…

存储资源调优技术——SmartDedupe智能数据重删、SmartCompression智能数据压缩技术

目录 SmartDedupe智能数据重删技术 SmartCompression智能数据压缩技术 SmartDedupe智能数据重删技术 基本概念 智能数据重删技术 是一种数据缩减技术&#xff0c;通过删除存储系统中的冗余数据块 减少数据占用的物理存储容量&#xff0c;节省存储空间&#xff08;会降低性能&a…

Java 基础入门篇(三)——— 数组的定义与内存原理

文章目录 一、数组的定义1.1 静态初始化数组1.2 动态初始化数组1.3 数组的访问 二、数组的遍历三、数组的内存图 ★3.1 Java 的内存分配3.2 数组的内存图3.3 两个数组变量指向同一个数组对象 四、数组使用的常见问题补充&#xff1a;随机数 Random 类 一、数组的定义 数组就是…