当前位置:网站首页>系统内存介绍和内存管理

系统内存介绍和内存管理

2022-07-23 13:07:00 夜雨听萧瑟

1、为什么需要管理内存呢?

电脑的内存资源有限,系统中运行的进程是无限的,所以说,电脑不能运行太多的进程,如果运行进程数量过多,则会出现电脑运行性能降低,甚至由于资源有限,新的进程不能正常运行。

2、何为内存管理?

内存管理就是系统管理每个运行进程之间的内存空间相互独立,可以正常地运行。

每个进程的空间地址分配机制都是已有的,每个进程在内核态用户态各自有一个堆栈,当进程运行在用户态时,进程使用的时用户态的空间;当运行在在内核态时,使用的时内核态空间。

a:什么是内核态?什么是用户态?

简单的来说,内核态操作权限高,用户态的操作权限低。内核态可以直接操作系统系统的所有资源,比如操作各种硬件设备。用户态可以通过系统的API函数来进行操作硬件设备和内存。用户态和内核态的机制提供了操作系统的稳定性和可用性。

b:系统怎们管理内存?

系统通过虚拟内存_百度百科 (baidu.com)技术来管理内存,虚拟内存的工作原理、调度方法可参考百度百科介绍。虚拟内存机制相当于内存管家,主要做的事情有:(1)给每个进程分配独立的虚拟空间,每个进程间的内存地址互不影响。(2)实现虚拟空间地址到实际硬件物理地址的映射机制。(3)引入缺页异常机制实现内存的惰性分配。(4)进入swap机制,把不活跃的数据换到磁盘上。

虚拟地址和物理的映射关系由页表反应,页表相当于一张地图,内存管理单元收到CPU的虚拟地址后,通过查询页表可以确定对应的物理地址。关于具体介绍可参考40 张图解 | Linux 内存背后的那些神秘往事

有一篇介绍内存管理很好的文章见:真棒! 20 张图揭开内存管理的迷雾,瞬间豁然开朗

3、基础知识介绍

内存分布图如下:

 

后续再补充。

原网站

版权声明
本文为[夜雨听萧瑟]所创,转载请带上原文链接,感谢
https://blog.csdn.net/hanxiaoyong_/article/details/125859624