当前位置: 首页 > news >正文

考研408 | 【操作系统】 内存管理

内存的基础

内存和内存的作用:

 几个常用的数量单位:

指令的工作原理: 

 问题:如何将指令中的逻辑地址转换为物理地址?

 解决办法:装入的三种方式

1.绝对装入

2.可重定位装入 

3.动态重定位 

 

从写程序到程序运行

链接的三种方式:

总结: 

 内存管理的概念

内存管理:

 1.内存空间的分配与回收

2.内存空间的扩展 

3.地址转换 

4.内存保护 

总结: 

覆盖与交换 

 覆盖技术:

交换技术:

  

总结: 

连续分配管理方式 

单一连续分配:

固定分区分配: 

 

动态分区分配: 

 

 动态分区分配算法:

 

1.首次适应算法

2.最佳适应算法 

3.最坏适应算法 

 4.邻近适应算法

总结: 

 回收:

 

 

 

 总结:

基本的分页存储

分页存储:

重要的数据结构--页表

 问题1:每个页表项占多少字节?

 

 

问题2:如何实现地址的转换?

 

 

 

 

 

逻辑地址结构: 

总结: 

基本地址变化机构 

 

 

 

 题目:

 

页表项大小: 

总结: 

具有快表的地址变换机构 

 快表:

 

思考:能否把整个页表都放在TLB中?

答:不能,因为造价成本高

快表工作过程:

 

引入快表后,地址的变换过程: 

例题: 

快表和慢表同时查找: 

 局部性原理:

总结: 

两级页表 

 单级页表存在的问题:

 

解决单级页表的问题: 

两级页表的原理、地址结构: 

 

实现地址变换: 

 几个细节:

 

 总结:

基本分段存储管理

分段:

 

段表: 

地址变换: 

 

分段、分页管理的对比:

 

 

 

总结: 

段页式管理方式 

分页、分段的优缺点分析:

分段+分页=段页式管理:

段页式管理的逻辑地址结构: 

段表、页表: 

 段页式管理过程:

总结: 

 虚拟内存的基本概念

传统存储管理方式的特征、缺点:

局部性原理:

虚拟内存的定义和特征: 

实现虚拟内存技术: 

总结: 

请求分页管理方式

页表机制: 

缺页中断机构: 

地址变换机构: 

请求分页管理由逻辑地址转换为物理地址过程: 

 

 总结:

 

页面置换算法

最佳置换算法(OPT): 

 

先进先出置换算法(FIFO): 

 

最近最久未使用置换算法(LRU): 

时钟置换算法(CLOCK): 

 

 

 

 

改进型的时钟置换算法: 

 

 总结:

 

页面分配策略

驻留集:

 页面分配、置换策略:

 

 

 

何时调入页面: 

从何处调入页面: 

1:

 

 2:

 

 

 

 3:

 

抖动(颠簸)现象: 

工作集:

总结: 

内存映射文件 

 

传统的文件访问方式:

内存映射文件(Memory-Mapped Files): 

 

 总结:

相关文章:

考研408 | 【操作系统】 内存管理

内存的基础 内存和内存的作用: 几个常用的数量单位: 指令的工作原理: 问题:如何将指令中的逻辑地址转换为物理地址? 解决办法:装入的三种方式 1.绝对装入 2.可重定位装入 3.动态重定位 从写程序到程…...

C# 工厂模式

一、概述 工厂模式(Factory Pattern)是一种创建型设计模式,它提供了一种创建对象的最佳方式。在C#中,工厂模式通过定义一个公共接口或抽象类来创建对象,而具体的对象创建则由工厂类来实现。 工厂模式主要包含三个角色…...

在云服务器上安装Jenkins

说明:Jenkins是一个部署项目的平台,通过Jenkins可以省去从项目开发–>部署项目之间的所有流程,做到代码提交即上线。本文介绍在云服务CentOS上安装Jenkins。 前提 安装Jenkins之前,先要在云服务上安装JDK、Maven、Git&#x…...

一文了解SpringBoot中的IOC

目录 1.什么是IOC 2.IOC容器 3.创建IOC容器 4.装配Bean到IOC容器 5.依赖注入 1.什么是IOC IOC:Inversion of Control 控制反转 Sping中我们把一个个对象称为Bean,以前我们实例一个对象的时候,都会直接New一个 而在Spring中&#xff0…...

docker-compose管理创建LNMP服务并运行Wordpress网站平台

文章目录 一.项目环境1. 环境描述2.项目需求 二.部署过程1.安装Docker2.安装Docker加速器3.Docker-Compose安装部署4.准备依赖文件、配置nginx5.配置mysql6.配置php7.编写docker-compose.yml8.验证 三.容器快照,然后将Docker镜像打包成tar包备…...

【宝藏系列】一文带你梳理 Linux 的五种 IO 模型

【宝藏系列】一文带你梳理 Linux 的五种 IO 模型 文章目录 【宝藏系列】一文带你梳理 Linux 的五种 IO 模型👨‍🏫前言1️⃣用户态和核心态1️⃣1️⃣用户态和核心态的切换 2️⃣进程切换3️⃣进程阻塞4️⃣文件描述符(fd, File Descriptor)5️⃣缓存I/O…...

【Python】模块、包

模块 Python模块(Module),是一个Python文件,以.py结尾。模块能定义函数,类和变量,模块里也能保护可执行的代码。 不同模块,同名的功能,如果都被导入,那么后者会覆盖前者…...

CMAKE_CUDA_ARCHITECTURES针对Jetson Xavier或者Orin的设置

不同jetson设备对应不同的CMAKE_CUDA_ARCHITECTURES的设置,如下: # TX1, Nano ------ 53 # TX2 ------ 62 # AGX Xavier, NX Xavier ------ 72 # AGX Orin, NX Orin ----…...

sqlite3.OperationalError: unable to open database file解决方法

执行superset时,提示该错误:sqlite3.OperationalError: unable to open database file 由于superset里使用django设置sqlite3数据库。 应该属于django设置sqlite3数据库的问题: OperationalError: unable to open database file 原因 1&a…...

SSL核心概念 SSL类型级别

SSL:SSL(Secure Sockets Layer)即安全套接层,及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。 H…...

器件介绍TMP1826NGRR、TMP1826DGKR、TMP1827NGRR、TMP1075NDRLR数字温度传感器

一、TMP1826 具有 2Kb EEPROM 的 1-Wire、0.2C 精度温度传感器 器件介绍 TMP1826 是一款高精度、1-Wire 兼容的数字输出温度传感器,具有集成的 2Kb EEPROM 和 –55C 至150C 的宽工作温度范围。TMP1826 在 10C 至45C 的温度范围内提供 0.1C(典型值&#…...

抖店必须绑定抖音账号吗?聊6个抖店不为人知的小细节,别外传

我是王路飞。 现在做抖店,比如绑定一个抖音账号吗? 了解过抖店的朋友都知道,之前开通抖音小店,是需要绑定一个抖音号作为店铺的官方账号的。 而且属于硬性规定,必须要绑定,否则店铺无法正常运营。 但是…...

如何搭建智能家居系统并通过内网穿透实现远程控制家中设备

文章目录 前言1. 安装Home Assistant2. 配置Home Assistant3. 安装cpolar内网穿透3.1 windows系统3.2 Linux系统3.3 macOS系统 4. 映射Home Assistant端口5. 公网访问Home Assistant6. 固定公网地址6.1 保留一个固定二级子域名6.2 配置固定二级子域名 前言 Home Assistant&…...

【趣味随笔】手机参数你真的看懂了吗?

📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨ 📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 📢:文章若有幸对你有帮助,可点赞 👍…...

微信小程序开发教学系列(4)- 数据绑定与事件处理

4. 数据绑定与事件处理 在微信小程序中,数据绑定和事件处理是非常重要的部分。数据绑定可以将数据和页面元素进行关联,实现数据的动态渲染;事件处理则是响应用户的操作,实现交互功能。本章节将详细介绍数据绑定和事件处理的基本原…...

C++避坑——most vexing parse问题

1."坑"的问题是什么&#xff1f; 先看一段代码&#xff1a; class Functor { public:void operator()(){std::cout << "我是线程的初始函数" << std::endl;} };int main() {std::thread t(Functor());// 强制高速编译器这是一个构造函数!t.j…...

利用lammps模拟蓝宝石在水润滑环境下的抛光

一 问题描述 蓝宝石&#xff08;Al2O3&#xff09;由于其独特的晶体结构&#xff0c;优异的物理化学特性&#xff0c;被广泛应用于航空航天等领域。高精尖的应用领域要求蓝宝石具有纳米级的表面粗糙度以及严格可控的亚表面缺陷。影响超精密加工最终性能的因素主要集中在工件表…...

3.BGP状态机和路由注入方式

BGP状态机 BGP路由的生成 不同于IGP路由协议,BGP自身并不会发现并计算产生路由,BGP将GP路由表中的路由注入到BGP路由表中,并通过Update报文传递给BGP对等体。 BGP注入路由的方式有两种: Networkimport-route与IGP协议相同,BGP支持根据已有的路由条目进行聚合,生成聚合路由…...

微信开发之一键创建微信群聊的技术实现

创建微信群 本接口为敏感接口&#xff0c;请查阅调用规范手册创建后&#xff0c;手机上不会显示该群&#xff0c;往该群主动发条消息手机即可显示。 请求URL&#xff1a; http://域名地址/createChatroom 请求方式&#xff1a; POST 请求头Headers&#xff1a; Content-T…...

设计模式二十:观察者模式(Observer Pattern)

定义了一种一对多的依赖关系&#xff0c;允许多个观察者&#xff08;也称为订阅者&#xff09;对象同时监听一个主题对象&#xff0c;当主题对象发生变化时&#xff0c;所有依赖于它的观察者都会收到通知并自动更新。 观察者模式的使用场景 观察者模式在许多场景中都可以发挥…...

rknn优化教程(二)

文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK&#xff0c;开始写第二篇的内容了。这篇博客主要能写一下&#xff1a; 如何给一些三方库按照xmake方式进行封装&#xff0c;供调用如何按…...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)

CSI-2 协议详细解析 (一&#xff09; 1. CSI-2层定义&#xff08;CSI-2 Layer Definitions&#xff09; 分层结构 &#xff1a;CSI-2协议分为6层&#xff1a; 物理层&#xff08;PHY Layer&#xff09; &#xff1a; 定义电气特性、时钟机制和传输介质&#xff08;导线&#…...

TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案

一、TRS收益互换的本质与业务逻辑 &#xff08;一&#xff09;概念解析 TRS&#xff08;Total Return Swap&#xff09;收益互换是一种金融衍生工具&#xff0c;指交易双方约定在未来一定期限内&#xff0c;基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

【HTML-16】深入理解HTML中的块元素与行内元素

HTML元素根据其显示特性可以分为两大类&#xff1a;块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...

Swagger和OpenApi的前世今生

Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章&#xff0c;二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑&#xff1a; &#x1f504; 一、起源与初创期&#xff1a;Swagger的诞生&#xff08;2010-2014&#xff09; 核心…...

dify打造数据可视化图表

一、概述 在日常工作和学习中&#xff0c;我们经常需要和数据打交道。无论是分析报告、项目展示&#xff0c;还是简单的数据洞察&#xff0c;一个清晰直观的图表&#xff0c;往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server&#xff0c;由蚂蚁集团 AntV 团队…...

稳定币的深度剖析与展望

一、引言 在当今数字化浪潮席卷全球的时代&#xff0c;加密货币作为一种新兴的金融现象&#xff0c;正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而&#xff0c;加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下&#xff0c;稳定…...

JVM 内存结构 详解

内存结构 运行时数据区&#xff1a; Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器&#xff1a; ​ 线程私有&#xff0c;程序控制流的指示器&#xff0c;分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 ​ 每个线程都有一个程序计数…...

C语言中提供的第三方库之哈希表实现

一. 简介 前面一篇文章简单学习了C语言中第三方库&#xff08;uthash库&#xff09;提供对哈希表的操作&#xff0c;文章如下&#xff1a; C语言中提供的第三方库uthash常用接口-CSDN博客 本文简单学习一下第三方库 uthash库对哈希表的操作。 二. uthash库哈希表操作示例 u…...

Windows电脑能装鸿蒙吗_Windows电脑体验鸿蒙电脑操作系统教程

鸿蒙电脑版操作系统来了&#xff0c;很多小伙伴想体验鸿蒙电脑版操作系统&#xff0c;可惜&#xff0c;鸿蒙系统并不支持你正在使用的传统的电脑来安装。不过可以通过可以使用华为官方提供的虚拟机&#xff0c;来体验大家心心念念的鸿蒙系统啦&#xff01;注意&#xff1a;虚拟…...