在嵌入式设备上运行Linux内核所需的最小RAM
数量是多少?在80x86
的Linux-0.11中,加载内核数据结构和中断向量所需的最小RAM为2MB
。
目前Linux-3.18内核所需的最低RAM是多少?像x86
和ARM
这样的不同体系结构对引导所需的最小RAM有不同的要求吗?如何计算相同的?
答案 0 :(得分:11)
可以将其缩小到约600 KiB。检查来自英特尔的Tom Zanussi所做的工作。 Presentation from Tom和Wiki page about the topic。
<强>更新即可。 Tom发布了关于内核中不同子系统使用内存的有趣statistics。他在那个项目工作期间做过研究。
答案 1 :(得分:3)
This site建议:
尽管如此,最小的uClinux配置可以从4MB RAM运行 我们给客户的建议是他们应该设计 在至少16 MB的内存中。
如果您正在使用SDRAM,问题是如果以合理的体积成本和可用性获得小于16Mb的部件,那么可能是非问题?然而,对于SRAM来说,这是一个庞大且相对昂贵的部分。
eLinux.org对嵌入式内核大小有lot of information,如何确定它,以及如何最小化它。
答案 2 :(得分:0)
这取决于你如何定义 Linux。如果您要求当前的操作系统,那么我们谈论的是 100MByte 以上,更好的 1000MByte 内存。
如果我们在谈论“从零开始的 Linux”,那么我们也在谈论您愿意承受多少痛苦。在 1990 年中期,我通过自己编译每个二进制文件构建了一个 Linux 系统,并让它在 386sx16、1.5MB 的内存上运行。虽然它有一个 40MB 的硬盘,但它大部分是空的。我编译了自己的内核 1.0.9、自己的 libc5、自己的基础工具 SVGAlib。该系统对于使用 textmode 和 SVGAlib 应用程序有些用处。将内存增加到 2MByte 确实有很大帮助。相信我,这个系统是非常裸露的。今天,所有组件都需要至少两倍的内存,但还有 ulibc 而不是 libc 和 busybox。
今天我可以用 8MB 的内存从头开始创建一个非常基本的系统。在 512MByte 的内存中,您可能拥有一个看起来有些现代但速度较慢的桌面系统。