本文主要是介绍LINUX内核专题——内存管理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
LINUX内核专题——内存管理
1.内核如何知道物理内存的大小?
1.既然谈内存,就先谈谈硬件内存,对于我们来说最为直观的就是PC硬件的内存条。我们常常说的DDR,但是很多人却不一定知道这个DDR内存条的初始化需要在BIOS、当然这个是说x86了,对应嵌入式平台来说就是bootloader,而且内存条上有个小的ROM用于记录一些内存参数。在启动过程中这些引导系统会把内存的参数传递给linux内核。
2.内存管理
1.如果你是一个c程序员,你的工作可能天天就围绕着他展开了,如果我们以分层的思想去看,大体可以分为3个层次。也就是用户层、内核层、物理硬件层。其实用户层的管理也就是系统调用API了,诸如:mmp、brk。这里就不展开了,当然还有基于此而封装出来的c库,也就是我们比较常用的malloc家族。而对于底层的物理硬件层倒也好说,毕竟是硬件实现的,和我们软件工程狮关系不大,也就是MMU、TLB、Cache、DDR这些东西了。当然大家有兴趣还是看看。
bo
这篇关于LINUX内核专题——内存管理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!