当前位置: 首页 > 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;所有依赖于它的观察者都会收到通知并自动更新。 观察者模式的使用场景 观察者模式在许多场景中都可以发挥…...

3步搞定安卓应用Windows安装:告别臃肿模拟器的终极解决方案

3步搞定安卓应用Windows安装&#xff1a;告别臃肿模拟器的终极解决方案 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否厌倦了那些占用大量系统资源、启动缓慢的…...

无人机协议

1. MAVLink协议 概述&#xff1a;MAVLink是一种轻量级、低带宽的无人机通信协议&#xff0c;它支持点对点、广播和多播通信&#xff0c;并且可以在不同的平台上使用。应用&#xff1a;MAVLink协议广泛应用于PX4、ArduPilot等开源飞控系统中&#xff0c;用于地面站和无人机之间…...

3个核心功能解密:PT-Plugin-Plus如何实现PT站点种子下载效率提升

3个核心功能解密&#xff1a;PT-Plugin-Plus如何实现PT站点种子下载效率提升 【免费下载链接】PT-Plugin-Plus PT 助手 Plus&#xff0c;为 Microsoft Edge、Google Chrome、Firefox 浏览器插件&#xff08;Web Extensions&#xff09;&#xff0c;主要用于辅助下载 PT 站的种子…...

基于Nuxt 4与Shadcn/ui的现代化全栈仪表板模板开发指南

1. 项目概述&#xff1a;一个现代化的全栈仪表板起点如果你正在寻找一个能快速启动企业级后台管理、数据可视化或内容管理系统的技术栈&#xff0c;那么你很可能已经厌倦了从零开始配置的繁琐。每次新项目&#xff0c;都要重新折腾 Nuxt 的配置、UI 组件库的集成、样式工具链、…...

基于OpenClaw的AI智能体脚手架Tradeclaw:构建跨境贸易决策支持系统

1. 项目概述&#xff1a;为跨境贸易打造的AI智能体脚手架如果你正在从事跨境电商或外贸采购&#xff0c;每天面对海量的产品信息、繁杂的供应商数据和模糊的市场信号&#xff0c;感觉像在信息海洋里盲目捕捞&#xff0c;那么Tradeclaw这个项目可能就是为你量身定制的“数字捕手…...

087、Python并发编程:队列Queue与线程安全

087、Python并发编程:队列Queue与线程安全 上周排查一个线上问题,服务端处理传感器上报数据时偶尔会丢失几条。日志里没报错,但计数器就是对不上。最后定位到是多个工作线程共用一个列表,其中一个线程在遍历时,另一个线程正好删除了元素——经典的多线程数据竞争问题。这…...

从零移植Debian到红米2:解锁MSM8916上的主线Linux手机体验

1. 为什么选择红米2作为Linux移植平台 红米2作为2015年发布的入门级智能手机&#xff0c;搭载高通骁龙410&#xff08;MSM8916&#xff09;平台&#xff0c;1GB内存8GB存储的配置在今天看来已经相当落伍。但正是这种"过时硬件"反而成为了极客们眼中的宝藏开发板。我选…...

开发环境准备:Python、Node.js、Docker与Git

从“环境搞了两天”到“半小时开箱即用”&#xff0c;一个老油条的环境配置血泪史前几天团队来了个新同事&#xff0c;应届生&#xff0c;看着简历上写着“熟悉Python、Node.js、Docker、Git”。我心想&#xff0c;挺好&#xff0c;基本功扎实。然后给了他一个新电脑&#xff0…...

安全生产隐患识别太难?实测实在Agent:AI模型语义分析能力测评详解与信创落地指南

摘要&#xff1a; 步入2026年&#xff0c;安全生产已进入“全量数字化”与“法制化”深度融合的高压期。随着《安全生产法》的持续深化执行&#xff0c;企业面临着海量隐患识别、跨系统数据流转及信创环境适配的三重挑战。传统的人工排查与基于API的自动化手段&#xff0c;在面…...

如何使用Android Sunflower构建可预测UI:掌握单向数据流的终极指南

如何使用Android Sunflower构建可预测UI&#xff1a;掌握单向数据流的终极指南 【免费下载链接】sunflower A gardening app illustrating Android development best practices with migrating a View-based app to Jetpack Compose. 项目地址: https://gitcode.com/gh_mirro…...