利用图文和代码深度解析操作系统OS的内存管理实现原理机制和算法
2023-09-11 14:22:07 时间
利用图文和代码深度解析操作系统OS的内存管理实现原理机制和算法。
内存作为计算机系统的组成部分,跟开发人员的日常开发活动有着密切的联系,我们平时遇到的Segment Fault、OutOfMemory、Memory Leak、GC等都与它有关。本文所说的内存,指的是计算机系统中的主存(Main Memory),它位于存储金字塔中CPU缓存和磁盘之间,是程序运行不可或缺的一部分。
操作系统内存管理:总的来说,操作系统内存管理包括物理内存管理和虚拟内存管理。
物理内存管理:
包括程序装入等概念、交换技术、连续分配管理方式和非连续分配管理方式(分页、分段、段页式)。
虚拟内存管理:
虚拟内存管理包括虚拟内存概念、请求分页管理方式、页面置换算法、页面分配策略、工作集和抖动。
内存是计算机很重要的一个资源,因为程序只有被加载到内存中才可以运行;此外,CPU所需要的指令与数据也都是来自内存的。可以说,内存是影响计算机性能的一个很重要的因素。
分层存储器体系
在介绍内存管理的细节前,先要了解一下分层存储器体系:
大部分的计算机都有一个存储器层次结构,即少量的非常快速、昂贵、易变的高速缓存(cache);若干兆字节的中等速度、中等价格、易变的主存储器(RAM);数百兆或数千兆的低速、廉价、不易变的磁盘。这些资源的合理使用与否直接关系着系统的效率。
CPU缓存(Cache Memory):是位于CPU与内存之间的临时存储器,它的容量比内存小的多但
相关文章
- RT-Thread OS支持ESP32的实现方式分析
- python之os模块
- 【转】mac os x系统上Android开发环境的搭建
- Cent OS 6.6 下安装mysql(5.5.20)和 PHP(5.3.10)
- 【Harmony OS】【ARK UI】轻量级数据存储
- mac os清除U盘分区
- 《PHP、MySQL和Apache入门经典(第5版)》一一1.4 在Mac OS X上安装XAMPP
- 如何在Mac OS X上安装 Ruby运行环境
- SwiftUI AVFoundation教程之 01在Mac OS上请求媒体捕获的授权
- 一个人写的操作系统 - Sparrow OS
- 【Harmony OS】【JAVA UI】abilitySlice和ability跳转方式
- Mac OS X 10.10 Yosemite下面解决XAMPP无法开启mysql的问题
- MAC OS Finder 中快速定位指定路径
- VMware Workstation Pro 16 安装 Mac OS Monterey 12.1 一本通