没有mmu可以跑Linux吗?
原文中文,约3800字,阅读约需9分钟。发表于: 。我们都了解到,为了保证计算机系统的安全性,应用程序无法直接访问物理内存。否则,计算机存储的所有数据就会完全暴露。因此,内存管理单元(Memory Management Unit,MMU)应运而生。
内存管理单元(MMU)是为了保证计算机系统的安全性而产生的,它可以让应用程序访问虚拟内存。在Linux中,MMU机制是必须的,但是运行没有MMU的Linux内核代码也是可能的,只需要进行适当的裁剪和配置。uClinux是针对没有MMU的处理器的嵌入式Linux操作系统,它没有虚拟内存和内存保护的功能。在uClinux中,进程之间共享运行空间,而且不能使用fork()函数。此外,uClinux使用的是扁平格式的可执行文件。在移植应用程序到uClinux时,需要注意一些特性,如将fork()改为vfork(),使用特定的编译选项等。