OS考研chapter3内存管理

2024-05-03 23:04
文章标签 内存 管理 考研 os chapter3

本文主要是介绍OS考研chapter3内存管理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一、基础知识点补充

1.内存、内存地址概念与联系

2.按byte编址 vs 按字编码

二、进程运行的基本原理

1.指令的工作原理

2.逻辑地址 vs 物理地址

3.从写程序到程序运行

(1)编辑源代码

(2)编译

(3)链接

1)方式

2)生成装入模块,链接之后生成完整的逻辑地址

(4)装入

1)干嘛

2)方式

三、功能  

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

(1)连续分配  181

1)单一连续分配

2)固定分区分配

3)动态分区分配(可变分区分配)

4)动态分区分配算法

i)首适应算法 First Fit

ii)最佳适应算法 Best Fit

iii)最坏适应算法 Worst Fit

iv)临近适应算法 Next Fit

(2)非连续分配

1)基本分页存储管理 183

i)thought

ii)concept

iii)页表、逻辑地质结构

iv)实现地址转换

v)基本地址变换机构

vi)具有快表的地址变换机构

vii)基本表 vs 有快表

viii)两级页表

2)基本分段存储管理

3)段页式存储管理 190

2.内存空间的扩充(实现虚拟性)

(1)覆盖

(2)交换

(3)distinguish

3.地址转换

4.存储保护

四、进程的内存映像 179

五、虚拟内存  212

1.基本概念

1)传统存储管理的特征方式

2)局部性原理

3)虚拟内存的定义和特性

4)实现虚拟内存技术

2.请求分页管理方式

1)页表机制

2)中断机构

3)地址变换机构

3.页面置换算法

1)目标

2)分类

4.页面分配策略

六、页面分配策略 215

1.驻留集

2.页面分配、置换策略

3.何时调入页面

4.从何处调页

5.抖动(颠簸)现象 220

6.工作集

七、内存映射文件

1.特性

2.advantage


一、基础知识点补充

1.内存、内存地址概念与联系

2.按byte编址 vs 按字编码

二、进程运行的基本原理

1.指令的工作原理

操作码+若干参数

2.逻辑地址 vs 物理地址

相对地址 vs 绝对地址

3.从写程序到程序运行

(1)编辑源代码

(2)编译

源代码文件生成目标模块

高级语言->机器语言

(3)链接

1)方式
2)生成装入模块,链接之后生成完整的逻辑地址

(4)装入

1)干嘛

将装入模块装入内存,之后形成物理地址

2)方式

绝对装入、可重定位装入、动态运行时装入

三、功能  

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

(1)连续分配  181

1)单一连续分配

单进程、advan、disa、内外部碎片

2)固定分区分配

先分配后运行程序

分配方式(固定大小、可变大小)

内外部碎片

3)动态分区分配(可变分区分配)

先运行后分配

外部碎片用“紧凑”解决

回收内存

4)动态分区分配算法
i)首适应算法 First Fit
ii)最佳适应算法 Best Fit
iii)最坏适应算法 Worst Fit
iv)临近适应算法 Next Fit

(2)非连续分配

1)基本分页存储管理 183

i)thought
ii)concept
iii)页表、逻辑地质结构
iv)实现地址转换
v)基本地址变换机构
vi)具有快表的地址变换机构
vii)基本表 vs 有快表
viii)两级页表
2)基本分段存储管理

3)段页式存储管理 190

2.内存空间的扩充(实现虚拟性)

(1)覆盖

(2)交换

(3)distinguish

3.地址转换

4.存储保护

四、进程的内存映像 179

五、虚拟内存  212

1.基本概念

1)传统存储管理的特征方式

2)局部性原理

3)虚拟内存的定义和特性

4)实现虚拟内存技术

2.请求分页管理方式

1)页表机制

2)中断机构

3)地址变换机构

3.页面置换算法

1)目标

2)分类

4.页面分配策略

六、页面分配策略 215

1.驻留集

2.页面分配、置换策略

3.何时调入页面

4.从何处调页

5.抖动(颠簸)现象 220

6.工作集

七、内存映射文件

1.特性

2.advantage

这篇关于OS考研chapter3内存管理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/957844

相关文章

Golang基于内存的键值存储缓存库go-cache

《Golang基于内存的键值存储缓存库go-cache》go-cache是一个内存中的key:valuestore/cache库,适用于单机应用程序,本文主要介绍了Golang基于内存的键值存储缓存库... 目录文档安装方法示例1示例2使用注意点优点缺点go-cache 和 Redis 缓存对比1)功能特性

Go使用pprof进行CPU,内存和阻塞情况分析

《Go使用pprof进行CPU,内存和阻塞情况分析》Go语言提供了强大的pprof工具,用于分析CPU、内存、Goroutine阻塞等性能问题,帮助开发者优化程序,提高运行效率,下面我们就来深入了解下... 目录1. pprof 介绍2. 快速上手:启用 pprof3. CPU Profiling:分析 C

mac安装nvm(node.js)多版本管理实践步骤

《mac安装nvm(node.js)多版本管理实践步骤》:本文主要介绍mac安装nvm(node.js)多版本管理的相关资料,NVM是一个用于管理多个Node.js版本的命令行工具,它允许开发者在... 目录NVM功能简介MAC安装实践一、下载nvm二、安装nvm三、安装node.js总结NVM功能简介N

golang内存对齐的项目实践

《golang内存对齐的项目实践》本文主要介绍了golang内存对齐的项目实践,内存对齐不仅有助于提高内存访问效率,还确保了与硬件接口的兼容性,是Go语言编程中不可忽视的重要优化手段,下面就来介绍一下... 目录一、结构体中的字段顺序与内存对齐二、内存对齐的原理与规则三、调整结构体字段顺序优化内存对齐四、内

SpringBoot中使用 ThreadLocal 进行多线程上下文管理及注意事项小结

《SpringBoot中使用ThreadLocal进行多线程上下文管理及注意事项小结》本文详细介绍了ThreadLocal的原理、使用场景和示例代码,并在SpringBoot中使用ThreadLo... 目录前言技术积累1.什么是 ThreadLocal2. ThreadLocal 的原理2.1 线程隔离2

Linux内存泄露的原因排查和解决方案(内存管理方法)

《Linux内存泄露的原因排查和解决方案(内存管理方法)》文章主要介绍了运维团队在Linux处理LB服务内存暴涨、内存报警问题的过程,从发现问题、排查原因到制定解决方案,并从中学习了Linux内存管理... 目录一、问题二、排查过程三、解决方案四、内存管理方法1)linux内存寻址2)Linux分页机制3)

Java循环创建对象内存溢出的解决方法

《Java循环创建对象内存溢出的解决方法》在Java中,如果在循环中不当地创建大量对象而不及时释放内存,很容易导致内存溢出(OutOfMemoryError),所以本文给大家介绍了Java循环创建对象... 目录问题1. 解决方案2. 示例代码2.1 原始版本(可能导致内存溢出)2.2 修改后的版本问题在

大数据小内存排序问题如何巧妙解决

《大数据小内存排序问题如何巧妙解决》文章介绍了大数据小内存排序的三种方法:数据库排序、分治法和位图法,数据库排序简单但速度慢,对设备要求高;分治法高效但实现复杂;位图法可读性差,但存储空间受限... 目录三种方法:方法概要数据库排序(http://www.chinasem.cn对数据库设备要求较高)分治法(常

Redis多种内存淘汰策略及配置技巧分享

《Redis多种内存淘汰策略及配置技巧分享》本文介绍了Redis内存满时的淘汰机制,包括内存淘汰机制的概念,Redis提供的8种淘汰策略(如noeviction、volatile-lru等)及其适用场... 目录前言一、什么是 Redis 的内存淘汰机制?二、Redis 内存淘汰策略1. pythonnoe

Java内存泄漏问题的排查、优化与最佳实践

《Java内存泄漏问题的排查、优化与最佳实践》在Java开发中,内存泄漏是一个常见且令人头疼的问题,内存泄漏指的是程序在运行过程中,已经不再使用的对象没有被及时释放,从而导致内存占用不断增加,最终... 目录引言1. 什么是内存泄漏?常见的内存泄漏情况2. 如何排查 Java 中的内存泄漏?2.1 使用 J